如何在Rails之外使用ActiveRecord?

时间:2014-12-21 22:08:39

标签: ruby-on-rails ruby ruby-on-rails-4 activerecord rails-postgresql

我正在构建一个基于六边形架构的Rails应用程序。

我的一个适配器是存储适配器(作为gem维护),它管理对数据库的访问,并为rails应用程序提供了简单的接口,以便在数据库中存储和查询数据。

我想在此gem中使用ActiveRecord以及所有rake任务(创建,迁移,删除,回滚)来管理数据库。

如何使用AR外部轨道,但是所有rake任务都可以使用?

2 个答案:

答案 0 :(得分:18)

像任何其他宝石一样安装

gem install activerecord

然后你将它配置在这样的地方

ActiveRecord::Base.establish_connection(
  :adapter  => 'mysql',
  :database => 'database',
  :username => 'user',
  :password => 'password',
  :host     => 'localhost')

然后,模型可以从ActiveRecord :: Base

继承

你得到了所有rake任务,但你必须做一些额外的配置,因为你没有Rails。这是activerecord里面的链接,用于配置这些东西。

Database tasks

答案 1 :(得分:2)

更新的解决方案是standalone_migrations。基本上在对gem进行配置并创建配置之后,您可以访问所有ActiveRecord细节。包括耙子任务!

此外,我为脚手架创建了一个小型生成器,可以直接访问ActiveRecord:nrb - Ninja Ruby