A 将 Rails 2 应用程序重写为 Rails 3。
我可以做 sql 语句吗
INSERT INTO visits (col1, col2) SELECT col_a, col_b FROM clicks WHERE import_id = 1
使用AREL和Ruby(没有循环)。我的第一个想法是,我可以做
Visit.create(Import.clicks)
或
Visit.create(Click.select("col1, col2").where("import_id = 1"))
或
Visit.insert(Click.select("col1, col2").where("import_id = 1"))
可悲的是,这没有奏效。有谁知道更多吗?
你应该看看ar-extensions。它应该允许你这样做:
Visit.insert_select(
:into => [:col1, :col2],
:select => [:col_a, :col_b],
:from => :clicks,
:conditions => ['import_id = ?', 1],
)
有关详细信息,请查看文档。