我有一个gcloud应用程序配置为使用app.yaml中的Cloud SQL实例:
beta_settings:
cloud_sql_instances: <instance-name>
部署应用程序后,/cloudsql/<instance-name>
可用,并且可以通过套接字文件连接到数据库。
为了每次部署都迁移数据库模式,我需要在Dockerfile
中部署命令:
RUN yarn run sequelize db:migrate
但是执行/cloudsql
时Dockerfile
不可用。
RUN ls /cloudsql
指向ls: /cloudsql: No such file or directory
。
在这种情况下如何使/cloudsql
可用?
在gcloud部署中还有其他最佳实践来迁移数据库吗?
答案 0 :(得分:0)
使用Django在Google App Engine和Cloud SQL上执行数据库迁移。它具有免费层,足以满足大多数小型企业和爱好网站的需求,并且非常易于部署和维护。其中一些网站是使用推荐的Python网络框架Django编写的。
针对您的App Engine标准实例的manage.py migration命令,带有Cloud SQL数据库
有一个解决方案/解决方法:您可以从本地计算机连接到Cloud SQL,并在本地计算机上执行manage.py迁移,但是要对云实例进行更改。
为此,您需要将Cloud SQL数据库添加到设置文件中。您的生产实例可能正在使用套接字,但是在本地计算机上,您需要使用IP地址: