【问题标题】:Do I need to use git to track both database files and migrate scripts?我是否需要使用 git 来跟踪数据库文件和迁移脚本?
【发布时间】:2018-10-29 13:17:23
【问题描述】:

我正在通过阅读 Miguel Grinberg 的精彩教程来学习 Flask。在那一章中,他谈到了使用 Flask-Migrate 扩展来应对数据库模式的变化。他说迁移脚本需要添加到版本控制系统中,但是数据库文件本身呢?是否应将其添加到.gitignore 文件中?为什么?

谢谢!

【问题讨论】:

  • 就我个人而言,我会继续备份与 git 分开的数据库。之前和反对它的争论很多,我建议查找一些与flask无关的文献,例如this one

标签: flask flask-migrate


【解决方案1】:

通常您不希望将数据库存储在版本控制中。如果您按照 Miguel 的建议使用 Flask-SQLAlchemy,那么有一些方法可以确保在数据库不存在时创建数据库。但是数据显然不会被持久化。

因此,如果您决定不想将数据库文件存储在 git 中,则建议将其添加到 .gitignore 文件中,以确保不会意外添加到版本控制中。

您不想这样做的一个例子是,如果您的网站运行时有很多用户。用户已通过您的烧瓶应用程序将他们的数据输入并保存到您的数据库中。通常对于生产应用程序,数据库作为单独的运行应用程序托管,因此甚至不会与您的代码一起存储。以这种方式开发烧瓶应用程序的原因是它非常容易使用内置的 Python SQLLite。它不需要任何额外的程序来运行或配置,并且使开发更容易。通过使用 SQL Alchemy,您可以将 SQL 数据库更改为生产环境中的 postgresql 或任何最适合您的数据库。 Flask-Migrate(由 Miguel 创建)是一个出色的数据库迁移库,作为 Flask 的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多