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

flask框架使用migrate,upgrade之后總是報錯

提前拜謝各位大神,這個問題從我用migrate就開始困擾我,到現(xiàn)在。
安裝之后,輸入python manage.py db init ,成功
修改models之后,比如修改了一個字段“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
報錯,差不多每次都報類似的錯誤
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1060, "Duplicate column name 'belondplanid'") [SQL: u'ALTER TABLE tb_Lesson ADD COLUMN belondplanid INTEGER']

然后我更換了sqlite,過程一樣,只是這次我刪除了一個字段,最后upgrade的時候提示如下:
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版本的問題,告訴把models文件里所有的index去掉就好了。
我都去掉了,圓滿解決。只是不知道原因,也不想麻煩他給我講了。如果哪位知道具體的原因,勞煩告知,多謝。

2017年2月15日 06:47