运行 云中的 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 设置不正确。
我正在使用 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 设置不正确。