我正在用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服务器后,一切正常