我有一个表users
,其中包含每个用户的详细信息。我想根据条件(例如它们的年龄)创建一个只包含users
表中某些行的新表。我如何在rails中执行此操作?
答案 0 :(得分:1)
您必须创建迁移。在此迁移中,您首先必须创建新表,然后您可以选择两个选项。
您使用纯SQL:
class XMigration < ActiveRecord::Migration
def up
execute <<-SQL
CREATE TABLE new_table
(id INTEGER AUTO_INCREMENT PRIMARY KEY, ...);
INSERT INTO new_table (...)
SELECT ... FROM old_table WHERE condition;
SQL
end
def down
raise ActiveRecord::IrreversibleMigration
end
end