3

我正在通过命令行使用DBIx::Class:Schema::Loader从我的数据库为我的 Catalyst 应用程序的 DBIx::Class 生成模式。这是我使用的命令:

script/myapp_create.pl model DB DBIC::Schema myapp::Schema create=static \
components=TimeStamp,PassphraseColumn dbi:mysql:mydb 'root' '' '{ AutoCommit => 1 }'

但是,此命令现在不起作用,因为我的数据库位于单独的计算机上。我如何告诉它连接到什么IP?谢谢!

4

2 回答 2

2

我最终弄清楚了该怎么做。似乎如果您在最后一个哈希之后传入另一个哈希,该哈希将用于您的连接信息。所以只需将其添加到末尾:

'{host=>"ip_here"}'

解决了这个问题。这是完整的命令:

script/myapp_create.pl model DB DBIC::Schema myapp::Schema create=static \
components=TimeStamp,PassphraseColumn dbi:mysql:mydb 'root' ''           \
'{ AutoCommit => 1 }' '{host=>"ip_here"}'
于 2013-01-26T01:19:48.713 回答
0

dbi:mysql:... 参数是一个普通的 DBI 连接字符串。在第一个之后:是数据库驱动程序(DBD),在第二个之后是 DBD 特定参数。阅读 DBD::mysql 文档以了解如何在远程机器上指定数据库。

于 2013-01-27T00:59:07.640 回答