9

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

4

2 回答 2

13

你可以deploy()你的架构:

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

当然,以上将删除您现有的表:)

于 2012-10-09T09:18:44.303 回答
10

你可以走任何一条路线。您可以创建一个模式并让DBIx::Class 对其进行分析,或者您可以让 DBIx::Class 为您构建模式

前者不必对生产效率低下,因为您可以获得 DBIx::Class 来保存生成的代码,这样它就不必每次运行都进行分析。

于 2012-10-09T09:22:42.903 回答