DBIx :: Class :: Schema :: Loader连接到不同机器上的db

时间:2013-01-26 00:51:35

标签: perl schema catalyst dbix-class

我通过命令行使用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?谢谢!

2 个答案:

答案 0 :(得分: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"}'

答案 1 :(得分:0)

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