Ruby on rails 迁移与版本控制

Ruby on rails 迁移与版本控制,ruby-on-rails,orm,rails-migrations,Ruby On Rails,Orm,Rails Migrations,我目前正在学习Rails并构建一个博客应用程序。我不能对迁移掉以轻心。根据我的经验,我假设您可以使用迁移将列、表添加到数据库中。但为什么这一点很重要/不能通过版本控制来实现 我感谢任何反馈/指导。我是rails/ActiveRecord的新手,所以请耐心听我说 迁移适用于数据库,就像Git repo适用于代码一样。 它跟踪在应用程序开发过程中对数据库所做的更改 如果没有迁移,您必须在共享代码的每个设备上手动执行所有更改。迁移和版本控制是两件完全不同的事情。迁移不维护状态。迁移是改变数据库/模型的

我目前正在学习Rails并构建一个博客应用程序。我不能对迁移掉以轻心。根据我的经验,我假设您可以使用迁移将列、表添加到数据库中。但为什么这一点很重要/不能通过版本控制来实现


我感谢任何反馈/指导。我是rails/ActiveRecord的新手,所以请耐心听我说

迁移适用于数据库,就像Git repo适用于代码一样。 它跟踪在应用程序开发过程中对数据库所做的更改


如果没有迁移,您必须在共享代码的每个设备上手动执行所有更改。

迁移和版本控制是两件完全不同的事情。迁移不维护状态。迁移是改变数据库/模型的一种方式,它们的作用远不止您所说的“添加列”

每个人都应该在开始时复习


版本控制不仅仅维护数据库结构。假设您更改了数据库、视图和控制器,然后决定只撤消对数据库的更改。恢复版本控制将撤消所有更改。那太糟糕了,我想你说的“版本控制”到底是什么意思?git存储库当然不会更新Postgresql数据库的模式。迁移直接处理对db的更改,其中as版本控制是完全独立的,指的是在处理代码时跟踪提交。“我现在在棒球场吗?”蒂洛感谢树屋链接!这正是我所需要的汉克斯·安德烈,我想这是一个愚蠢的问题和完全的误解。要确认:Migrations=“数据库的版本控制”Git=“代码的版本控制”?非常感谢,没错。这是一个公平的问题,也是一个在将来对您真正有帮助的概念。“迁移”是由您希望保存在源代码存储库中的文件定义的。但是,当它们被应用到数据库时,它们也会产生一个结果(比如跟踪表)(这可以在部署过程中自动发生,这是这里承诺的一大部分)。