我通过命令行使用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?谢谢!
答案 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文档,了解如何在远程计算机上指定数据库。