rails 4 app with 2 databases:MySQL和Cassandra - 从哪里开始?

时间:2014-09-08 02:10:02

标签: ruby-on-rails ruby cassandra cql cequel

您有一个使用MySQL数据库的现有rails 4应用程序。

我现在需要添加为每个对象及其属性动态创建新表的代码。

我决定使用No SQL解决方案。最初我想使用Mongo DB,因为我对此很熟悉。但是,我的公司只支持Cassandra / redis / solr。所以我必须选择其中一个。

我选择了Cassandra,但我没有找到任何关于如何在带有MySQL DB的现有rails应用程序中使用它的教程或示例。

我为rails-Cassandra找到this ORM,但不知道如何使它与现有的Active记录 - mysql系统一起工作。

任何想法都会非常感激。

道歉这篇文章没有代码。但是我无法在SO上找到这个问题的答案,所以请原谅我是否有任何错误。

感谢

1 个答案:

答案 0 :(得分:2)

ActiveRecordCequel将是独立的。

docs所示,您可以通过加入Cequel::Record模块来扩展模型的功能。

include Cequel::Record

为了在轨道中使用它(显然)需要在Gemfile

中添加适当的宝石
gem 'cequel'

并为项目创建配置

bundle exec rake cequel:keyspace:create

之后,您将有一个config/cequel.yml来定义您的设置(就像您在MySQL的config/database.yml中所做的那样)

MySQL模型仍将使用ActiveRecord

class Foo < ActiveRecord::Base
...
end

虽然Cassandra会使用Cequel

class Bar
  include Cequel::Record
  ...
end