鍍金池/ 問(wèn)答/Python  網(wǎng)絡(luò)安全  HTML/ flask框架使用migrate,upgrade之后總是報(bào)錯(cuò)

flask框架使用migrate,upgrade之后總是報(bào)錯(cuò)

提前拜謝各位大神,這個(gè)問(wèn)題從我用migrate就開(kāi)始困擾我,到現(xiàn)在。
安裝之后,輸入python manage.py db init ,成功
修改models之后,比如修改了一個(gè)字段“belondplanid”
然后python manage.py db migrate
顯示start===================================================
cursor.execute('SELECT @@tx_isolation')
INFO [alembic.runtime.migration] Context impl MySQLImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
……
Generating /Users/kevin/Projects/flaskProject/myapp/migrations/versions/1400e9137d72_.py ... done
顯示end==========================================================

然后python manage.py db upgrade
報(bào)錯(cuò),差不多每次都報(bào)類似的錯(cuò)誤
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1060, "Duplicate column name 'belondplanid'") [SQL: u'ALTER TABLE tb_Lesson ADD COLUMN belondplanid INTEGER']

然后我更換了sqlite,過(guò)程一樣,只是這次我刪除了一個(gè)字段,最后upgrade的時(shí)候提示如下:
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) index ix_tb_Users_username already exists

回答
編輯回答
純妹

belondplanid 字段在 model 里出現(xiàn)了兩次
貼一下你的 tb_Lesson model 代碼

2017年5月6日 08:55
編輯回答
奧特蛋

有位大腿幫我查了一下,判斷可能是flask-migrate版本的問(wèn)題,告訴把models文件里所有的index去掉就好了。
我都去掉了,圓滿解決。只是不知道原因,也不想麻煩他給我講了。如果哪位知道具體的原因,勞煩告知,多謝。

2017年2月15日 06:47