我知道我可以执行 db:create 并创建数据库表或 db:migrate 到新版本,但是我想要做的是从现有数据库(所有表)导入架构并为每个数据库生成模型。
ActiveRecord 有能力做到这一点吗?
不。 ActiveRecord 是一个 ORM,因此它与生成数据库模式或生成模型没有任何关系。 Rails 也没有任何这样做的概念。
您必须编写数据库迁移并自己完成此操作。
有一种方法。创建一个新的 Rails 2.2 应用程序(不能是 2.3 或 3.0,gem 自 2007 年以来就没有更新过)。然后安装并使用 Magic Model Generator gem。
这将查看您现有的数据库并从中添加所有模型,就像魔术一样。由于基本 ActiveRecord 模型文件的结构在 Rails 3 中非常相似,因此您只需将它们复制到当前项目中并根据需要进行调整即可。