![](/img/trans.png)
[英]DBIx::Class::Schema::Loader ResultSource base class
[英]DBIx::Class::Schema::Loader customization
我们有一个MyISAM数据库(不要问我为什么不切换到InnoDB,它不受我控制)。
现在,我希望DBIx::Class::Schema::Loader
为*ID
列创建关系,并添加s
以获取表名。 例如, Order.SeanceID
应将表Order
与表Seances
相关Seances
。
DBIx::Class::Schema::Loader
可以被黑客入侵吗? 还是编写自己的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
关系到关系。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.