flask-migrate想要删除我的索引

时间:2014-06-23 23:01:23

标签: python flask alembic flask-migrate

我有一个带有以下型号的Flask应用程序:

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似乎都希望删除我的索引。

有没有办法在当前的数据库/模型架构中冻结Alembic的自动生成?

1 个答案:

答案 0 :(得分:0)

检查this页面。您需要在迁移文件夹下更改env.py.

EnvironmentContext.configure.include_object 

EnvironmentContext.configure.include_schemas

应该是你想要的。