Flask+Mysql搭建網站之資料庫問題

微微微笑發表於2015-09-25

關於 SQLAlchemy (1.0.8) 和 Flask-SQLAlchemy (2.0)

SQLALchemy 是Python語言的SQL工具包及物件關係對映(ORM)工具。Flask-SQLALchemy 是一個給你的應用新增 SQLALchemy 支援的 Flask 擴充套件。

這兩個其實是一種東西,都可以用來作為操作 mysql 資料庫的工具。我一開始使用的是 SQLAlchemy ,後來全部替換為 Flask-SQLALchemy。 簡單來說,再用Flask搭建網站的時候,明顯 Flask-SQLALchemy更好用一些。

miguelgrinberg的關於Flask的部落格樣例也是採用Flask-SQLALchemy。

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

另外一篇關於Flask-SQLALchemy使用方法的詳細介紹:

http://www.itwhy.org/%E6%95%B0%E6%8D%AE%E5%BA%93/flask-sqlalchemy-%E5%AD%A6%E4%B9%A0.html

關於SQLAlchemy的使用介紹:

http://www.jb51.net/article/49789.htm

 

遇到的問題

問題一:

whoosh.fields.UnknownFieldError

UnknownFieldError: No field named 'testsuite' in <Schema: ['comment', 'description', 'id', 'name']>

背景: 原先TestCase表格只有4個欄位('comment', 'description', 'id', 'name'),後來我有增加了一個欄位('testsuite')。Mysql資料庫add和update之後會提示這個錯誤,但是資料卻能夠寫入資料庫。

解決方法:

看到是whoosh出錯,覺得跟search有關係,應為只有search我用的是whoosh。腦子靈光一閃,刪除了search.db資料夾。之後這個問題解決。

切記,之後資料庫資料也需要清空,然後重新輸入,不然會存在搜尋不到資料的情況。

相關文章