使用Rails 3.2.2
和ruby 1.9.3dev
以及mysql
我是ruby和rails的新手。我们有一个包含几百个表的现有数据库。我们想尝试使用rails来查看它是否会从PHP& ZendFramework。
将数据迁移到另一个数据库不是我们的选择,因为我们当前有几个其他应用程序正在使用此数据库。我们希望将rails项目“附加”到现有数据库。
我正在努力的部分是从我们现有的数据库中生成所有模型。
我看到一些较旧的帖子谈论了一些自动化技术,包括Magic Model Generator。虽然其他人谈到没有办法做到这一点,或者你只是手动创建它们。
我没有成功使用Magic Model Generator生成模型(可能只有rails 2?)
很久以前,当我们切换到ZendFramework时,我编写了一个快速脚本来分析数据库并为我们生成所有模型文件。这似乎是一种常见的情况。
注意:我们使用ID
代替id
,而且很多人都有foreign_key
个关系。
所以我想问一下社区处理这个问题的最佳方法/方法是什么?
答案 0 :(得分:2)
这并不困难,只需要更多配置。这是模型的基本模板:
class YourIdealModelName < ActiveRecord::Base
self.table_name = `actual_table_name`
self.primary_key = `ID`
belongs_to :other_ideal_model,
:foreign_key => 'foreign_key_on_other_table'
has_many :some_other_ideal_models,
:foreign_key => 'foreign_key_on_this_table',
:primary_key => 'primary_key_on_other_table'
end
答案 1 :(得分:0)
我不是专家,甚至研究过这个问题。 在我的脑海中没有考虑太多的第一个解决方案是按照rails方式进行模型和迁移,因此您没有任何问题,例如密钥和外键命名。如果您已经有一些数据,则应将其迁移到rails db。
这样做的一个原因是模型不仅是数据访问者,还包含业务逻辑