0
我有一个瓶的应用程序有如下型号:烧瓶迁移想放弃我的indeces
class User(db.Model, UserMixin):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(64), unique=True, index=True)
password_hash = db.Column(db.String(128))
city_id = db.Column(db.Integer, db.ForeignKey('cities.id'))
class City(db.Model):
__tablename__ = 'cities'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(255), nullable=False)
user_ids = db.relationship('User', backref='city', lazy='dynamic')
我已经运行迁移到指定我的索引和外键约束:
def upgrade():
op.create_foreign_key('fk_user_city', "users", "cities", ["city_id"], ["id"])
op.create_index('city_idx', 'users', ['city_id'])
但是,任何时候我创建另一个新的迁移Alembic似乎想要删除我的索引。
有没有办法在当前DB/Model模式下冻结Alembic的自动生成?
请包含您要迁移的命令以及生成的迁移文件。 –
Almebic尝试删除您的索引,因为它没有在您的ORM模型中指定。您可以通过指定 city_id = db.Column(db.Integer,db.ForeignKey('cities.id'),index = True)来添加索引。 – JRajan