【发布时间】:2016-07-29 19:09:04
【问题描述】:
升级到 Rails 5 后,我的模式文件在运行 db:migrate 时不断改变。 Rails 正在改变:
create_table "flightlessons", force: :cascade do |t|
到:
create_table "flightlessons", id: :integer, default: -> { "nextval('lessons_id_seq'::regclass)" }, force: :cascade do |t|
它只发生在这一个模型上。为什么 Rails 在这个特定模型上实现 nextval?而且,为什么模型名称错误(lessons_id_seq 应该是 flightlessons_id_seq)。但是,手动将其更改为 flightlessons_id_seq 会导致相同的无关联错误。
PG::UndefinedTable: ERROR: relation "lessons_id_seq" does not exist
要继续,我只需将 schema.rb 文件改回“应该”的行。然后,我可以迁移或测试:准备或其他任何东西,直到下次 rails 将其改回使用 nextval 方法。
感谢您对此的任何见解。
【问题讨论】: