我需要连接到远程MySQL表中的数据,遍历它,并使用ActiveRecord“create”方法,以便执行所有验证和回调。我找到了有多个数据库配置设置的文档,并为每个模型单独分配它们,但这不符合我的需要,因为我不想为一次导入创建模型或迁移。
所以我发现了另一种在AR之外查询数据库的方法:
base = ActiveRecord::Base.establish_connection(
:adapter => "mysql2",
:host => "XXX",
:username => "YYY",
:password => "ZZZ",
:database => "AAA"
)
results = base.connection.execute("SELECT * FROM programs WHERE 1")
但它返回一个看起来相当不可思议的对象:
#<Mysql2::Result:0x007fdf6e8bb9d8>
有什么想法吗?
答案 0 :(得分:0)
这就是诀窍:
base.connection.select("SELECT * FROM programs WHERE 1")
答案 1 :(得分:0)
看看ActiveModel。您可以将所需的所有功能放在那里,并可以访问诸如验证之类的内容。