我正在使用Google App Engine和Cloud SQL来运行应用程序。
我已经成功设置了本地和prod环境及其各自的数据库。刚才,我已经设法使用Knex迁移CLI在我的本地环境中设置了一些迁移,一切都在本地工作正常。
如何在执行gcloud app deploy
之后(或之前?)运行这些迁移(和种子!)?我还没有看到从云端shell中访问我的项目文件。
我错过了什么?
答案 0 :(得分:0)
我们在npm start
启动服务器之前每次都运行迁移。 Prestart应该像我们的系统一样工作(我们有单独的入门shell脚本,从package.json start调用)。
您是否正确设置了Cloud SQL连接并测试了您实际上是否正在使用数据库连接?检查应用程序引擎实例中运行的Cloud SQL代理容器中的日志。
您可以通过打开与应用引擎实例的ssh连接并检查代理容器中的日志来执行此操作:
sudo docker ps --no-trunc
sudo docker logs stoic_heisenberg
我的sql代理容器名为stoic_heisenberg。您还应检查在gaeapp
容器中是否已创建unix套接字。
输入您可以做的容器
container_exec gaeapp /bin/bash
ls -la /cloudsql
如果没有文件,则无法正确设置云sql。