DBIx :: Class可以用来创建表吗?

时间:2012-10-09 09:12:34

标签: perl dbix-class

我认为我不理解DBIx::Class的范围 我是否必须先使用常规SQL手动创建数据库,然后使用模式加载器(或手动编写模式/结果集)? 或者有没有办法告诉DBIx::Class继续从手动编码的模式和结果集创建表? 我问b / c我是否需要通过SQL CREATE TABLE语句创建数据库,我在ResultSet代码中基本上重复了这个列,或者我需要依赖于schemaloader,我认为这种方法效率低且不适合生产。 / p>

2 个答案:

答案 0 :(得分:13)

您可以deploy()您的架构:

my $schema = MyApp::Schema->connect(
          $dsn,
          $user,
          $password,
        );
$schema->deploy( { add_drop_table => 1 } );

当然,以上内容将删除现有表格:)

答案 1 :(得分:10)

你可以去任何一条路线。您可以创建架构并获取DBIx::Class to analyse it,也可以将DBIx :: Class转换为build the schema to you

前者不一定非常低效,因为您可以将DBIx :: Class转换为save the generated code,这样就不必每次运行都进行分析。