我正在通过阅读Miguel Grinberg的精彩教程来学习Flask。在该章中,他谈到了使用Flask-Migrate扩展来应对数据库架构更改。他说过,迁移脚本需要添加到版本控制系统中,但是数据库文件本身呢?是否应将其添加到.gitignore
文件中?为什么?
谢谢!
答案 0 :(得分:1)
通常,您不想将数据库存储在版本控制中。如果按照Miguel的建议使用Flask-SQLAlchemy,则可以使用多种方法来确保如果数据库不存在,则可以创建该数据库。但是,数据显然不会持久化。
因此,如果您决定不想将数据库文件存储在git中,则建议使用该文件将其添加到.gitignore
文件中,以确保不会意外将其添加到版本控制中。
为什么您不想这样做的一个例子是,如果您的网站运行着很多用户。用户已通过flask应用程序输入并将其数据保存到数据库中。通常,对于生产应用程序,数据库作为独立的运行应用程序托管,因此甚至不会与您的代码一起存储。之所以以这种方式开发烧瓶应用程序,是因为使用内置的Python SQLLite非常容易。它不需要任何其他程序即可运行或配置,并且使开发更加容易。通过使用SQL Alchemy,您可以将SQL数据库更改为生产中的postgresql或最适合的数据库。 Flask-Migrate(由Miguel创建)是一个出色的库,可作为Flask的一部分进行数据库迁移。