正如标题所说,我设法通过SQLAlchemy使用Google的Cloud代理将我的Cloud SQL实例全部连接到我的Flask应用程序,但是一旦我部署应用程序,它就无法连接。
我认为这是我提供的数据库URI的问题(因为这两个连接需要不同的URI),但对于我的生活,我无法弄清楚该字符串应该是什么。
通过代理在本地连接时,我在我的代码中有这个:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:MYPASSWORD@127.0.0.1:3307/inkdb?unix_socket=/cloudsql/MYPROJECTID:us-east1:MYDBINSATNCEID'
我得到它连接和工作正常。在线文档之后,我尝试连接到许多不同的URI,包括:
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root@/inkdb?unix_socket=/cloudsql/MYPROJECTID:us-east1:MYDBINSATNCEID'
(我可以尝试列出我尝试的所有URI,但这将是一个很长的列表。)
有什么基础我不见了吗?我很确定我已按要求包含了所有第三方软件包,但我无法从中获取任何内容。我看了整个互联网(特别注意SE,当然),但似乎没有任何效果。
感谢任何帮助,谢谢!