如何删除ID字段上的隐式SEQUENCE?

时间:2013-12-10 19:57:35

标签: ruby-on-rails activerecord primary-key sequence

我已经看到我们可以通过这样做避免在对象的ID上使用SEQUENCE:

create_table :table_name, :id => false do |t|
  t.integer :id
  t.timestamps
end

但是,如果我的表已经创建并且我想从架构中删除“CREATE SEQUENCE table_name_id_seq”,那么如何在不删除表的情况下执行此操作?如果不可能我会猜,但我不想放松我的桌面内容。

1 个答案:

答案 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