我已经看到我们可以通过这样做避免在对象的ID上使用SEQUENCE:
create_table :table_name, :id => false do |t|
t.integer :id
t.timestamps
end
但是,如果我的表已经创建并且我想从架构中删除“CREATE SEQUENCE table_name_id_seq”,那么如何在不删除表的情况下执行此操作?如果不可能我会猜,但我不想放松我的桌面内容。
答案 0 :(得分:4)
您必须使用原始SQL来执行此操作。如下所示:
def up
ActiveRecord::Base.connection.execute "DROP SEQUENCE table_name_id_seq"
end
http://www.postgresql.org/docs/9.1/static/sql-dropsequence.html