rail 怎样在已有数据库上继续开发

今天刷贴看到了这篇文章http://ruby-china.org/topics/16493,老大回复的很有意义,在这里备份一个

 

而要把现有的数据库纳入 Migration,一个简单方法:

  1. 创建一个空 Migration rake g migration init
  2. 运行 rake db:schema:dump
  3. 把 2 生成的内容(db/schema.rb)剪切到 1 生成的 migration(db/migration/xxx_init.rb) 里面

然后楼主还会有疑问,直接用数据库命令创建表不好么,为什么要用 migration。如果有这样的疑问,那么就是没有管理过实际项目,或者没有进行过多人协作,不知道同步数据库结构会遇到什么问题。这时候有两种选择:

  1. 完全跟着 Rails 的方法走,然后体会到为什么说 Rails 生产效率高
  2. 完全不跟 Rails 的方法走,遇到一大堆问题,然后体会到为什么说 Rails 生产效率高

所以我觉得这个问题其实是 X-Y-Z 问题,最终的问题是:什么是 Migration,为什么需要 Migration。答案是:

  1. 多人协作
  2. 版本管理
  3. 上线之后的模式/数据迁移

你可能感兴趣的:(数据库)