使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?
Posted
技术标签:
【中文标题】使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?【英文标题】:Migrating to Google Cloud SQL using flyway, what jar files should be copied? 【发布时间】:2012-05-01 22:13:55 【问题描述】:我正在尝试使用 flyway 命令行工具迁移我的数据库 (mysql) 转储文件 Google Cloud SQL。我已将 google_sql.jar 复制到 flyway-commandline-1.6/jars/ 并在 flyway-commandline-1.6/conf/flyway.properties 中设置以下属性:
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
有人可以帮我确定 flyway 使用 Google Cloud SQL 所需的 jar 文件吗?
【问题讨论】:
【参考方案1】:这在 AppEngine 方面很奇怪且文档记录不充分,但您还必须将 MySQL Jdbc 驱动程序复制到 APPENGINE_HOME/lib/impl
见:Java Google App Engine and Google Cloud SQL running on local dev server
【讨论】:
这当然是针对本地实例的。对于远程实例,您可能应该关注developers.google.com/cloud-sql/docs/admin_tools 来授权您的机器。 抱歉这个蹩脚的问题。我需要有 appengine sdk 才能运行 flyway 命令行吗? 仅当您希望将其与 Google Cloud SQL 一起使用时,否则不会。这是 AppEngine/Cloud SQL 限制,而不是 Flyway 限制。以上是关于使用flyway迁移到Google Cloud SQL,应该复制哪些jar文件?的主要内容,如果未能解决你的问题,请参考以下文章