Rake 任务与简单数据库更改的迁移
Rake Task vs. Migration for simple DB changes
假设我创建了一个 rake 任务来向 table 添加一列。在我 运行 该 rake 任务之后,我可以在保留对数据库的更改的同时删除 rake 文件吗?
我知道迁移可以完成相同类型的任务,但是如果我想减少 运行 宁迁移这种简单的数据库更改,是 rake 任务acceptable 吗?
很抱歉,如果这是一个菜鸟问题,我做了一些搜索,但找不到 suitable 答案。
从 add/remove 列到 table 的最简单方法是迁移。迁移的一大优势是您可以根据应用程序的确切进度设置数据库。
如果你要用额外的抽取任务来完成它——而且没有理由这样做——我保证你会忘记运行这些抽取任务days/weeks如果你需要从头开始设置您的数据库。特别是如果你在添加 cols 后删除你的 rake 任务。
HTH
您绝对应该使用迁移。如果您创建一个 rake 任务然后将其删除,则更改将仅应用于您的数据库实例(可以是开发数据库)。
当您将应用程序部署到生产环境时,甚至 运行 您的规范,您将不得不再次手动添加新列以更新数据库架构。
此外,使用迁移时,您将拥有数据库随时间演变的历史记录。
假设我创建了一个 rake 任务来向 table 添加一列。在我 运行 该 rake 任务之后,我可以在保留对数据库的更改的同时删除 rake 文件吗?
我知道迁移可以完成相同类型的任务,但是如果我想减少 运行 宁迁移这种简单的数据库更改,是 rake 任务acceptable 吗?
很抱歉,如果这是一个菜鸟问题,我做了一些搜索,但找不到 suitable 答案。
从 add/remove 列到 table 的最简单方法是迁移。迁移的一大优势是您可以根据应用程序的确切进度设置数据库。
如果你要用额外的抽取任务来完成它——而且没有理由这样做——我保证你会忘记运行这些抽取任务days/weeks如果你需要从头开始设置您的数据库。特别是如果你在添加 cols 后删除你的 rake 任务。
HTH
您绝对应该使用迁移。如果您创建一个 rake 任务然后将其删除,则更改将仅应用于您的数据库实例(可以是开发数据库)。
当您将应用程序部署到生产环境时,甚至 运行 您的规范,您将不得不再次手动添加新列以更新数据库架构。
此外,使用迁移时,您将拥有数据库随时间演变的历史记录。