Flask+Mysql搭建网站之数据库问题

时间:2024-03-24 18:36:02

关于 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文件夹。之后这个问题解决。

切记,之后数据库数据也需要清空,然后重新输入,不然会存在搜索不到数据的情况。