【发布时间】:2011-07-23 08:40:53
【问题描述】:
我有一个托管在 Heroku 上的项目,并且想更改表的自动增量起始值。我在本地使用 SQLite3 而 Heroku 使用 PostgreSQL 这就是我在迁移中所拥有的:
class CreateMytable < ActiveRecord::Migration
def self.up
create_table :mytable do |t|
t.text :mytext
end
case ActiveRecord::Base.connection.adapter_name
when 'PostgreSQL'
execute 'ALTER SEQUENCE mytable_id_seq RESTART WITH 1000;'
when 'SQLite'
execute 'update sqlite_sequence set seq = 1000 where name = "mytable";'
else
end
end
def self.down
drop_table :mytable
end
end
迁移在本地运行,但 SQLite 似乎只是忽略了更改,但它适用于 Heroku。我做错了什么?
【问题讨论】:
-
有点过时了,但您确实应该在本地设置 PostgreSQL,在一个数据库上开发并在另一个数据库上部署是在 02:00 时令人沮丧和恐慌的电话的秘诀。
标签: sql ruby-on-rails-3 sqlite postgresql auto-increment