【发布时间】:2018-07-09 17:03:42
【问题描述】:
我们有一个 MyISAM DB(不要问我为什么不切换到 InnoDB,它不是由我控制的)。
现在我希望DBIx::Class::Schema::Loader 为*ID 列创建关系,添加s 以获取表名。例如,Order.SeanceID 应该将表 Order 与表 Seances 关联起来。
DBIx::Class::Schema::Loader 可以被黑客入侵吗?还是自己写一个Loader更好?
【问题讨论】:
-
您是否打算经常更改架构?你有很多桌子吗?在加载类之后添加一次关系是否没有意义?如果您将它们添加到校验和下方,它们会一直存在,以防您确实需要重新创建。
-
@simbabque 类应该作为 Perl 文件转储。架构更改但可能不会经常更改。我们真的有很多桌子。我希望自动生成适合我问题中方案的关系,但我还想编写具有更多关系和更多其他属性的派生类。我不明白您所说的“校验和”是什么意思。我正在等待对我的问题的答复:我们可以为此使用
DBIx::Class::Schema::Loader还是我需要创建自己的加载器。 -
如果您查看 D::C::S::L 吐出的自动生成代码,您会看到代码下方有一个部分可以放置自定义代码。如果您重新运行加载程序,它将保留该自定义代码。如果您更改以上任何内容,校验和将不匹配并且将中止。 // 我不知道你是否可以不做研究就做你想做的事。
标签: database-schema dbix-class perl