Rails5 - Как db: настроить новую машину и включить последовательности идентификаторов автоинкремента базы данных

У меня есть API Rails5, который был создан с нуля, и все последовательности базы данных моих моделей для автоматического увеличения идентификатора создаются автоматически. Когда коллега попытался выполнить db:setup базу данных на новом компьютере, схема была загружена, но последовательности не были созданы, и, следовательно, наши db:seeds не удалось добавить, поскольку существует ограничение «не нуль» на столы.

Исходный столбец идентификатора таблицы выглядит так

id  | integer | not null default nextval('users_id_seq'::regclass) | plain    |

После запуска db:setup «новая» база данных на новом компьютере выглядит так:

id  | integer | not null  | plain    |

У меня никогда не было этой проблемы с предыдущими версиями Rails, и мне интересно, может ли это быть проблемой v5. Что мы делаем не так?

Спасибо за любые советы!!

В новой базе данных нет последовательностей, отображаемых в postgres при запуске "\ ds;"

Миграция для таблицы пользователей выглядит следующим образом

class CreateUsers < ActiveRecord::Migration[5.0]
  def change
    create_table :users do |t|
      t.string :first_name, limit: 25
      t.string :last_name, limit: 25
      t.string :mobile_phone, limit: 25
      t.string :auth_token, limit: 36
      t.integer :failed_login_attempts, limit: 2, :default => 0
      t.boolean :account_locked, :default => false
      t.timestamps
    end
  end
end

schema.rb для этой таблицы выглядит так (после некоторых более поздних миграций)

create_table "users", id: :integer, force: :cascade do |t|
    t.string   "first_name",             limit: 25
    t.string   "last_name",              limit: 25
    t.string   "mobile_phone",           limit: 25
    t.string   "auth_token",             limit: 36
    t.integer  "failed_login_attempts",  limit: 2,  default: 0
    t.boolean  "account_locked",                    default: false
    t.datetime "created_at",                                           null: false
    t.datetime "updated_at",                                           null: false
    t.string   "email",                             default: "",       null:         
    t.index ["email"], name: "index_users_on_email", unique: true, using: :btree
  end

person owl    schedule 29.06.2016    source источник
comment
Как выглядит schema.rb?   -  person mu is too short    schedule 29.06.2016
comment
@muistooshort .. Я добавил schema.rb для этой конкретной таблицы выше.   -  person owl    schedule 29.06.2016
comment
Это id: :integer кажется вам неправильным или, по крайней мере, подозрительным? Я давно перешел на structure.sql, потому что использую вещи, которые ActiveRecord не понимает, поэтому я уверен, но id: :integer мне кажется неправильным.   -  person mu is too short    schedule 29.06.2016
comment
хм, мои проекты Rails4 тоже этого не делают. Я не знаком со структурой.sql, но изучу ее. Какие-нибудь советы?   -  person owl    schedule 29.06.2016
comment
Интересно, была ли регрессия в версии Rails5, которую вы использовали. Использовать structure.sql вместо schema.rb довольно просто (краткое описание можно найти на stackoverflow.com/a/31955422/479863).   -  person mu is too short    schedule 29.06.2016