繁体   English   中英

如何使用DBIC make_schema_at更新架构?

[英]How do I update schema with DBIC make_schema_at?

我目前正在使用DBIC Schema Loader函数make_schema_at将现有数据库转储到其模式中。 一旦模式被转储,我通常喜欢进入并清理关系中的访问者名称以更好地阅读。

但是,我有时需要再次更新架构,例如添加新表和关系,这意味着再次调用make_schema_at,然后重命名所有访问器,这非常耗时。

有没有人可以推荐的更好的方法?

谢谢。

是的,对此有多种解决方案。

使用Schema :: Loader的配置选项来指定用于名称生成的子项,和/或使DBIC架构为主。

在这种情况下,您将编写一个新的结果类,而不是在数据库中创建表,然后使用DBIC的功能来生成DDL查询。

您甚至可以使用DBIx :: Class :: Migration来自动对数据库进行DDL更改。

切勿在生成的DBIC模式文件中编辑MD5哈希上方的代码。 你只是为自己制造麻烦。

花时间阅读DBIx :: Class :: Schema :: Loader :: Base的文档非常值得。 特别是,请仔细查看“ moniker_map”,“ col_accessor_map”和“ rel_name_map”属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM