django - yoyo 迁移和 django 迁移有什么区别?
问题描述
有人可以解释一下yoyo迁移和django迁移之间的区别吗?为什么我们不能只使用 Django 中的内置迁移 using python manage.py migrate
?
我正在尝试将我的 Django 应用程序向前移动,但我们的 DevOps 团队说我们需要一个数据库迁移工具——特别是,他们推荐 yoyo,因为它像 Django 一样在 Python 中。但是,当 Django 具有内置迁移时,我很困惑为什么我们需要这个。我错过了什么?
不确定这是否重要,但我们使用的是 PostgreSQL 数据库。我们有一个组织范围的数据库,我们所有的表都存在于我们项目特定的模式中。
解决方案
这完全取决于您的 DevOps 团队,使用 django 迁移或使用 yoyo 迁移不会有什么大的区别,Yoyo只是一个 Python 数据库模式迁移工具。
您将迁移编写为包含原始 SQL 语句或 Python 函数的 Python 脚本。django migrate 没有什么是你不能做的,但是有一些好处,或者我们应该说捷径可以更快更轻松地完成一些工作。Yoyo 通常作为命令行脚本调用,并提供一个命令行工具来读取此类脚本的目录并根据需要将它们应用到您的数据库中。我建议您阅读 yoyo 文档,当您阅读时,您会明白他们为什么对您这么说,这取决于您的 DevOps 团队,我认为他们这么说是因为它提供了管理迁移存储库和数据库选择的命令以及脚本版本控制。
推荐阅读
- php - 在 docker-compose 中自动运行工匠命令的正确方法
- powerbi - DAX 如何获取行号值
- haskell - 在类似 Map 的结构中将列表列表与命名索引相结合
- jupyter-notebook - 在 Jupyter Notebook 中执行单元之前设置时间延迟
- python - 如何在openpyxl中获取值以及单元格编号?
- docker - Docker:无法访问 Minio Web 浏览器
- ros - 如何订阅“/scan”主题,修改消息并再次发布到“/scan”主题?
- css - 无法使用 css 删除/隐藏 Div 类
- python - 如何在 tkinter gui 应用程序中制作多个页面?
- ios - 如何使导航栏透明?