小编Cun*_*Nan的帖子

为什么Flask-migrate在drop column时无法升级

我正在使用SqlAlchemy和Flask-migrate进行数据库迁移.我已经成功init了DB和upgrade一次,但是当我删除了我的表列的一个,我设法migrate但是upgrade给了我以下错误:

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near "DROP": syntax error [SQL: u'ALTER TABLE posts DROP COLUMN tags']
Run Code Online (Sandbox Code Playgroud)

我的models.py有一部分

class Post(db.Model):
    __tabelname__ = 'posts'
    id = db.Column(db.Integer, primary_key=True)
    body = db.Column(db.UnicodeText)
    # tags = db.Column(db.Unicode(32))
    # I deleted this field, upgrade give me error

    ....
Run Code Online (Sandbox Code Playgroud)

然后我再次运行python manage.py db upgrade,错误改变了!

(venv)ncp@ubuntu:~/manualscore$ python manage.py db upgrade
INFO  [alembic.migration] Context impl SQLiteImpl.
INFO  [alembic.migration] Will assume non-transactional DDL.
INFO  [alembic.migration] Running upgrade 555b78ffd5f -> 2e063b1b3164, add tag …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask-migrate

29
推荐指数
3
解决办法
8463
查看次数

标签 统计

flask-migrate ×1

python ×1

sqlalchemy ×1