我正在构建一个基于六边形架构的Rails应用程序。
我的一个适配器是存储适配器(作为gem维护),它管理对数据库的访问,并为rails应用程序提供了简单的接口,以便在数据库中存储和查询数据。
我想在此gem中使用ActiveRecord
以及所有rake
任务(创建,迁移,删除,回滚)来管理数据库。
如何使用AR外部轨道,但是所有rake任务都可以使用?
答案 0 :(得分:18)
像任何其他宝石一样安装
gem install activerecord
然后你将它配置在这样的地方
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:database => 'database',
:username => 'user',
:password => 'password',
:host => 'localhost')
然后,模型可以从ActiveRecord :: Base
继承你得到了所有rake任务,但你必须做一些额外的配置,因为你没有Rails。这是activerecord里面的链接,用于配置这些东西。
答案 1 :(得分:2)
更新的解决方案是standalone_migrations。基本上在对gem进行配置并创建配置之后,您可以访问所有ActiveRecord细节。包括耙子任务!
此外,我为脚手架创建了一个小型生成器,可以直接访问ActiveRecord:nrb - Ninja Ruby。