首页 文章

ruby on rails上的迁移是否会更新到数据库?

提问于
浏览
0

假设在rails上的ruby中的迁移只是对任何数据库的更新是正确的 . 并且rake db:migrate脚本仅用于实现这些更改?

1 回答

  • 2

    是 .

    迁移是一种以结构化和有组织的方式更改数据库的便捷方式 . 您可以手动编辑SQL的片段,但是您将负责告诉其他开发人员他们需要去运行它们 . 您还必须跟踪下次部署时需要对 生产环境 机器运行哪些更改 . Active Record会跟踪哪些迁移已经运行,因此您只需更新源并运行rake db:migrate . Active Record将确定应该运行哪些迁移 . 它还将更新db / schema.rb文件以匹配数据库的结构 . 迁移还允许您使用Ruby描述这些转换 . 关于这一点的好处是(像大多数Active Record的功能一样)它与数据库无关:你不必担心CREATE TABLE的精确语法,而不是担心SELECT *的变化(你可以下载到用于数据库特定功能的原始SQL) . 例如,您可以在开发中使用SQLite3,但在 生产环境 中使用MySQL .

    资料来源:Ruby on Rails Guides: Migrations

相关问题