运行 云中的 Knex 迁移 SQL

Running Knex Migrations in Cloud SQL

我正在使用 Google App Engine 和 Cloud SQL 来 运行 一个应用程序。

我已成功设置本地和生产环境及其各自的数据库。刚才,我已经设法使用 Knex migrate CLI 在我的本地环境中设置了一些迁移,并且在本地一切正常。

gcloud app deploy 之后(或之前?)如何 运行 进行这些迁移(和种子!)?反正我看不到从云中访问我的项目文件 shell。

我错过了什么?

我们 运行 每次在 npm start 启动服务器之前都进行迁移。预启动应该以与我们的系统相同的方式工作(我们有单独的启动 shell 脚本,从 package.json 开始调用)。

您是否正确设置了 Cloud SQL 连接并测试了您实际拥有有效的数据库连接?检查来自云 SQL 代理容器的日志,该容器在您的应用引擎实例中 运行ning。

您可以通过打开与应用引擎实例的 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 设置不正确。