我正在使用Ruby on Rails开发一个信息系统。
我想向用户分发以下uid:
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
触发,则不会。{/ p>
怎么办?
由于
答案 0 :(得分:4)
我想rake db:migrate:reset
。
答案 1 :(得分:0)
尝试重新启动ruby服务器(Puma)可能会有所帮助。
我直接在DB上运行SQL命令ALTER TABLE
,以将表ID列从INT更改为BIGINT。
更新后,插入大数字时出现错误out of range for ActiveModel::Type::Integer with limit 4"
重启ruby服务器后,一切正常。