我正在尝试用云SQL数据库实现烧瓶迁移。为此,我在云sql上创建了一个PostgreSQL实例。以下是我的app.py文件
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
app = Flask(__name__)
DB_MIGRATION_URI = "postgresql://postgres:1234@public-ip/demo"
app.config['SQLALCHEMY_DATABASE_URI'] = DB_MIGRATION_URI
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
migrate = Migrate(app, db)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
first_name = db.Column(db.String(20))
last_name = db.Column(db.String(20))
# following = db1.relationship('Channel', secondary=user_channel, backref='followers')
def __repr__(self):
return f'<User: {self.name}>'
class Channel(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20))
def __repr__(self):
return f'<Channel: {self.name}>'
我在上创建了这个程序,我正在连接并尝试运行迁移,从google云shell开始运行所有东西。
当我第一次运行“烧瓶数据库迁移”时,一切都如期而至。使用自动生成的迁移脚本生成了一个版本文件。
然后,我运行了“烧瓶db升级”,它也按预期工作。我可以看到数据库中的变化。
在此之后,我对app.py中的模式做了一些修改,运行了“烧瓶db迁移-m”v2--它没有工作。不管我做了什么,它没有创建新版本,它都会给我以下错误:


我尝试创建一个新的数据库并将URL指向它,我停止并重新启动了cloud实例,但是它仍然给了我同样的错误。有人能帮我弄清楚发生了什么吗?谢谢!
发布于 2022-05-20 08:20:19
您可能使用了gcloud sql连接命令,此命令将您的ip显示5分钟。如果单击cloud页面上的“”,就会执行这个命令。
您可以再白名单您的IP 5分钟,或使用云sql代理为长期运行的连接:https://cloud.google.com/sql/docs/mysql/connect-instance-auth-proxy。
https://stackoverflow.com/questions/72315484
复制相似问题