我刚刚开始使用flask-migrate
,但遇到了一些问题。
为了让自己熟悉它,我开始了一个使用模拟 MySQL 数据库的新项目。
我按如下方式运行迁移
export FLASK_APP=run.py
flask db init
flask db migrate
flask db upgrade
它会抛出此错误:
...
File "c:\users\terkea\appdata\local\programs\python\python36\lib\site-packages\MySQLdb\connections.py", line 226, in query
_mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1050, "Table 'user' already exists")
[SQL:
CREATE TABLE `User` (
id INTEGER NOT NULL AUTO_INCREMENT,
public_id VARCHAR(50),
name VARCHAR(50),
password VARCHAR(255),
PRIMARY KEY (id),
UNIQUE (name),
UNIQUE (public_id)
)
]
(Background on this error at: http://sqlalche.me/e/e3q8)
最佳答案
我的案例的解决方案是
- 从我的所有模型中删除
__tablename__
- 在运行迁移之前删除数据库中的所有表
关于python - SQLAlchemy 迁移表已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742291/