關於 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資料夾。之後這個問題解決。
切記,之後資料庫資料也需要清空,然後重新輸入,不然會存在搜尋不到資料的情況。