如何在催化剂perl中为现有模型创建模式

时间:2014-12-26 17:38:38

标签: perl catalyst

我正在使用perl Catalyst。我为模型名为MyDBI.pm的数据库创建了Model和Schema,并在SchemaClass / Result目录中创建了模式。现在我在我的数据库中添加了一个新表。现在我只需要为该表创建一个Schema。我用于创建Schema的以下命令

perl script/my_create.pl model MyDBI DBIC::Schema 
    My::SchemaClass::Result::Tablename create=dynamic 
    components=TimeStamp 'dbi:Pg:dbname=mydb' username 123 '{ AutoCommit => 1}'

但它再次创建MyDBI.pmMyDBI.pm.new.那么如何在不创建MyDBI.pm的情况下创建。

提前致谢....

2 个答案:

答案 0 :(得分:0)

只要在标记的行下编辑Schema / Result / .pm类下的类,它就可以重新创建它吗?这样你就知道你的模型总是是最新的。 模型中的类(MyDBI.pm)仅包含连接信息,对吧?

在Schema类中,您会找到标记为以下内容的行:

# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:+ZwJisOqZAkKLq170l/CNA

答案 1 :(得分:0)

更常见的是,在我看来,将Schema类不直接添加到Result.pm中会更加清晰,这将会变得混乱,

但是对于Schema / Result /目录,例如 .... / Schema / Result / New.pm - >架构::结果::新

然后包中的use base qw/DBIx::Class::Core/;和所有设置为正常使用。

Catalyst会发现这些并自动为您设置它们。