Модель столбца типа integer вместо строки при развертывании на heroku - PullRequest
0 голосов
/ 22 апреля 2020

В моем приложении есть модель транзакции, она выглядит следующим образом:

create_table "transactions", force: :cascade do |t|
  t.bigint "business_id"
  t.integer "amount"
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
  t.bigint "user_id"
  t.string "code"
  t.string "purchase_type"
  t.index ["business_id"], name: "index_transactions_on_business_id"
  t.index ["user_id"], name: "index_transactions_on_user_id"
end

Столбец 'code' является строкой типа. Это прекрасно работает на местном уровне. Данная транзакция является экземпляром модели Transaction, и я могу успешно назначить строку для кодаaction.code в консоли

После развертывания на heroku я заметил, что все транзакции, созданные через развернутое приложение, имеют значение 0 в столбце кода.

Запуск Transaction.columns из консоли rails показывает, что код имеет тип integer, а запуск Transaction.columns из консоли rails показывает, что код имеет тип string. Я могу назначить целые числа, но без строк.

Как это может быть?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 22 апреля 2020

Я сделал две миграции - удалил столбец из таблицы и добавил его снова - и он работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...