Не беспокойтесь о «взломе» DBIx :: Class :: Schema :: Loader, чтобы справиться с этим. Просто создайте классы, а затем добавьте отношения вручную.
Каждый класс, который вы генерируете с помощью DBIx :: Class :: Schema :: Loader, будет содержать внизу текст, который выглядит следующим образом:
# Created by DBIx::Class::Schema::Loader v0.07043 @ 2018-07-09 09:56:55
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:6//4n3Crnz9U/q6GZ0Fwtg
# You can replace this text with custom code or comments, and it will be preserved on regeneration
Как говорится в последнем комментарии, все, что вы вставите в файл под этим текстом, будет сохранено, если вы обновите класс. Таким образом, вы можете безопасно добавить информацию об отношениях в этот раздел файла вручную и знать, что она все еще будет там в следующий раз, когда вы обновите класс.
Не забывайте, что вам нужно добавить обе стороны отношения - например, отношение has_many
в родительской таблице и взаимное отношение belongs_to
в связанной дочерней таблице.