ruby on rails - ALTER SEQUENCE on rake db:reset db:migrate n



我正在用Ruby on Rails开发一个信息系统。

我想向用户分发以下内容:

0: root
1-499: system services (server-side)
500: system admin
501-999: external apps (apps that connect through API)
1000+: human users

我设置了以下迁移:

class SetUsersAutoincrementValue < ActiveRecord::Migration
  def change
    execute("ALTER SEQUENCE users_id_seq RESTART WITH 1000")
  end
end

迁移按预期工作。但是,如果由rake db:reset db:migrate触发,则不会。

该怎么办?

谢谢

我想是rake db:migrate:reset

尝试重新启动ruby服务器(Puma)可能会有所帮助。

我直接在DB上运行SQL命令ALTER TABLE,将表id列从INT改为BIGINT。

更新后,当插入大数字时,我得到了一个错误out of range for ActiveModel::Type::Integer with limit 4"

重启ruby服务器后,一切正常

最新更新