将Datamapper与现有的rails应用程序一起使用
我有一个使用ActiveRecord的现有Rails 3应用程序,我想切换到Datamapper。 dm-rails页面中给出的说明仅涉及创建新应用程序。 有谁知道如何丢弃所有activerecord dependancies并迁移到datamapper?
谢谢!
它实际上很简单,但有几件事你需要做。
在您的Gemfile中,删除“rails”,而不是需要以下内容。
gem 'activesupport', RAILS_VERSION, :require => 'active_support' gem 'actionpack', RAILS_VERSION, :require => 'action_pack' gem 'actionmailer', RAILS_VERSION, :require => 'action_mailer' gem 'railties', RAILS_VERSION, :require => 'rails'
其中RAILS_VERSION
是您要使用的Rails版本(例如~> 3.1
)。 这基本上是除ActiveRecord之外的所有轨道。
在config / application.rb的顶部,删除rails for rails(我忘记原始需要的内容)并将其替换为您需要的栏杆的特定要求。
require "action_controller/railtie" require "action_mailer/railtie"
我认为唯一的另一个是Test :: Unit铁路,但我们没有使用Test :: Unit,所以我们不包含它。
最后,如果你想使用身份地图(我建议你这样做,但不需要),请放在ApplicationController的类体中:
use Rails::DataMapper::Middleware::IdentityMap
这应该是一切; 其余的只是根据自述文件配置你的database.yml(无论如何它几乎与标准的rails交叉兼容)。
作为参考,看一下发电机的作用:
-zsh$ curl http://datamapper.org/templates/rails.rb apply 'http://datamapper.org/templates/rails/gemfile.rb' apply 'http://datamapper.org/templates/rails/application.rb'
如果您查看这两个文件的内容,您将看到如果您使用了生成器,您将获得额外的东西。