【发布时间】:2017-05-29 04:13:00
【问题描述】:
按照此处描述的步骤将我的 grails 3.2.9 应用程序连接到 google-app-engine 灵活环境上的 google cloud-sql 实例
http://guides.grails.org/grails-google-cloud/guide/index.html#deployingTheApp
我的grails版本如下
==> grails -version | Grails 版本:3.2.9 | Groovy 版本:2.4.10 | JVM版本:1.8.0_131
我的 application.yml 如下所示
# tag::dataSourceConfiguration[]
dataSource:
pooled: true
jmxExport: true
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
test:
dataSource:
dbCreate: update
url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
production:
dataSource:
driverClassName: com.mysql.jdbc.Driver
dbCreate: create-drop
url: jdbc:cloudsql://google/{DATABASE_NAME}?cloudSqlInstance={INSTANCE_NAME}&socketFactory=com.google.cloud.sql.mysql.SocketFactory&user={USERNAME}&password={PASSWORD}&useSSL=false
properties:
当我使用本地运行时
grails 运行应用程序
应用程序运行正常
我跑 ./gradlew appengineDeploy 进行部署并正确部署
但是当我尝试在浏览器中打开脚手架页面时,我在日志中看到以下错误
==> gcloud app 日志tail -s default
ERROR --- [ main] o.h.engine.jdbc.spi.SqlExceptionHelper
: Driver:com.mysql.jdbc.Driver@75b3ef1a returned null for
URL:jdbc:cloudsql://google/{DATABASE_NAME}?cloudSqlInstance=
{INSTANCE_NAME}&socketFactory=com.google.cloud.sql.mysql.SocketFactory&us
er={USERNAME}&password={PASSWORD}&useSSL=false
此外,在日志中还会看到以下错误
ERROR --- [ Thread-16] .SchemaDropperImpl$DelayedDropActionImpl :
HHH000478: Unsuccessful: alter table property drop foreign key
FKgcduyfiunk1ewg7920pw4l3o9
HH 是否表明它正在生产环境中使用 h2 数据库?
请帮忙调试。
【问题讨论】:
标签: google-app-engine grails groovy google-cloud-sql