2012-04-20 64 views
0

我正尝试使用flyway命令行工具迁移我的数据库(MySQL)转储文件Google Cloud SQL。我抄google_sql.jar到迁徙路线,命令行-1.6 /瓶/,并设置以下的迁徙路线,命令行-1.6性能/ conf目录/ flyway.properties:使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?

flyway.driver=com.google.appengine.api.rdbms.AppEngineDriver 
flyway.url=jdbc:google:rdbms://myinstancename/devdb 
flyway.user=myusername 
flyway.password=mypassword 

但是,这并不工作,并产生以下错误:

FlywayException: Error instantiating database driver: com.google.appengine.api.rdbms.AppEngineDriver 
Occured in com.googlecode.flyway.core.Flyway in method configure, line number 789 
Caused by java.lang.ClassNotFoundException: com.google.appengine.api.rdbms.AppEngineDriver 
Occured in java.net.URLClassLoader$1 in method run, line number 217 

有人能帮助我在确定飞行路线与谷歌云SQL工作所需的jar文件?

回答

2

这很奇怪和记录AppEngine上的侧不佳,但你也必须MySQL JDBC驱动程序复制到APPENGINE_HOME/lib/impl

参见:Java Google App Engine and Google Cloud SQL running on local dev server

+0

当然,这是本地实例。对于远程实例,您应该遵循https://developers.google.com/cloud-sql/docs/admin_tools授权您的计算机。 – 2012-04-21 02:55:20

+0

对不起,这个跛脚的问题。我是否需要使用appengine sdk来运行flyway命令行? – libregeek 2012-04-27 09:43:08

+0

仅当您希望将其与Google Cloud SQL一起使用时,否则不会。这是AppEngine/Cloud SQL的限制,而不是Flyway的限制。 – 2012-04-27 12:37:49