DBIx::Class::Schema::Loader customization



我们有一个MyISAM DB(不要问我为什么不切换到InnoDB,它不是由我控制的(。

现在,我希望DBIx::Class::Schema::Loader*ID列创建关系,添加s以获取表名。例如,Order.SeanceID应将表Order与表Seances相关联。

DBIx::Class::Schema::Loader可以被黑客入侵来做到这一点吗?还是编写我自己的加载器更好?

不要担心"黑客攻击"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关系。

最新更新