从postgres上的空架构我可以使用flask-migrate创建单个表(博客):
python migrate_test.py db init
python migrate_test.py db migrate
python migrate_test.py db upgrade
这样可以很好地创建表格。
然后我执行以下操作:
migrate_test.py
脚本中添加或删除表模型中的列来更改表。 python migrate_test.py db migrate
在版本文件夹中创建新版本。python migrate_test.py db upgrade
在此之后,我希望数据库中的表更新为更改。但是,我收到以下错误:
sqlalchemy.exc.ProgrammingError: (psycogp2.ProgrammingError) relation 'blog' already exists
错误是正确的,因为表格'博客'已经存在,我想要做的是更新博客'。我做错了什么?
由于
修改
这是因为行op.create_table('blog',
被添加到新创建版本的升级方法中。该行前面有:# ### commands auto generated by Alembic - please adjust! ###
。
再次检查,似乎没有注意到第一个博客'之间的任何变化。模型和更新的模型,因为它试图再次创建所有内容(没有添加或删除列)。
当表已经存在时,是否会添加为什么创建表行?