使用 Flask-SQLAlchemy 时如何把 DBMS 从 SQLite 更换为 MySQL?

“flask web 开发实战”这本书中的“数据库”章节中也说明,如果是在生产服务器上,应考虑性能更好的“mysql数据库”。
在网上试着找过各种资料,由于找到的每个博客资料都不够全面,或者应该说很难从“flask web 开发实战”平滑地过度到“mysql”。然后找了很多“mysql”资料文章。由于是第一次接触“mysql”,加上找的资料太多,而且资料和资料之间有一些相互矛盾的地方,把所有资料的逻辑从新理一遍,对于第一次接触“mysql”的我来说有一定的难度。

希望作者,或者已经从“flask web 开发实战”过度到“mysql”的同学分享对自己最有帮助的资料。
这样的话,相信对于其他面临类似困惑的同学能产生参考和帮助。
感谢:pray:

flask_sqlalchemy是ORM,主流的数据库都可以使用,你百度下相关关键词,一步步操作就可以了。

一般来说,把书里介绍使用的 SQLite 更换成 MySQL 只需要下面几步:

  • 安装 MySQL 服务器并运行
  • 安装一个 MySQL 的 Python 驱动包,比如 PyMySQL
  • 更新程序里的 SQLALCHEMY_DATABASE_URI 配置值(除了使用默认的驱动,其他驱动要在数据库连接地址前添加驱动库名称),语法格式为 dialect+driver://username:password@host:port/databasedialect 即 mysql,+driver 可选部分即非默认驱动库名称,比如 mysql+pymysql
  • 更新调整模型类和查询语句。这一步一般不需要,除非调用了 SQLite 特定的查询函数,或者是模型类定义和 MySQL 不兼容。
1 Like

对你的感激,无以言表。

1 Like