【发布时间】:2011-01-29 02:51:25
【问题描述】:
我知道我可以执行 db:create 并创建数据库表或 db:migrate 到新版本,但是我想做的是从现有数据库(所有表)导入架构并为每个数据库生成模型。
ActiveRecord 有能力做到这一点吗?谢谢!
【问题讨论】:
-
为现有/旧表手动生成模型并不难。从一个简单的模型开始,获取创建的表名、主键和字段名。运行 Rail 的控制台并为第一条记录生成一个查找命令。您将看到生成的 SQL,它将为您提供微调模型所需的内容。大多数遗留表字段命名将违反 ActiveRecord 的假设,因此您必须更正它。我必须将几个数据库捆绑在一起,一旦我掌握了它,它就会变得非常快。不过不要使用迁移——如果有人出轨,你的 DBA 会恨你的。
-
使用迁移除外。数据库配置是部署过程的一部分,您应该在部署中使用迁移以确保您的数据库与您的应用程序匹配。 DBA 应该参与表的设计,而不是架构的部署。
标签: ruby-on-rails ruby database activerecord