我正在构建一个基于六边形架构的Rails应用程序。
我的适配器之一是存储适配器(作为gem维护),它管理对数据库的访问,并为Rails应用程序提供了在数据库中存储和查询数据的简单接口。
我想在此gem中使用ActiveRecord
,并使用所有rake
任务(create、migrate、drop、rollback)来管理数据库。
如何在没有Rails的情况下使用AR,但同时又能使用所有rake任务呢?
我正在构建一个基于六边形架构的Rails应用程序。
我的适配器之一是存储适配器(作为gem维护),它管理对数据库的访问,并为Rails应用程序提供了在数据库中存储和查询数据的简单接口。
我想在此gem中使用ActiveRecord
,并使用所有rake
任务(create、migrate、drop、rollback)来管理数据库。
如何在没有Rails的情况下使用AR,但同时又能使用所有rake任务呢?
安装它就像安装其他 gem 一样
gem install activerecord
然后你可以像这样在某个地方进行配置
ActiveRecord::Base.establish_connection(
:adapter => 'mysql',
:database => 'database',
:username => 'user',
:password => 'password',
:host => 'localhost')
模型可以像平常一样从ActiveRecord::Base继承。
您将获得所有Rake任务,但是需要进行一些额外的配置,因为您没有Rails。以下是在activerecord中配置这些内容的链接。
rake
任务。 - Kamil Lelonek更新后的解决方案是standalone_migrations。基本上,在为gem进行配置并创建配置之后,您就可以访问所有ActiveRecord功能。 包括Rake任务!
此外,我还制作了一个小型生成器,用于支持开箱即用的ActiveRecord脚手架: nrb - Ninja Ruby。