Rails создает странные mysql запросы в RACK_ENV = production - PullRequest
0 голосов
/ 02 марта 2020

Мы пытаемся перейти с рельсов 4 на рельсы 5, и у нас возникает ошибка, в которой говорится, что мы имеем нулевое нарушение для одного из наших полей: made_at в этом коде:

version_set.each_with_index do |version_from_set, index|
  ...
  version_name = version_from_set['version_name']
  new_version = Version.new
  new_version.name = version_name
  new_version.save
  ...
end

Ошибка:

ActiveRecord :: NotNullViolation (Mysql2 :: Ошибка: для поля «creation_at» не задано значение по умолчанию: INSERT INTO version (updated_at) ЗНАЧЕНИЯ ('2020-02-25 10:55:50') )) Мы думаем об обновлении mysql - но не уверены, что это проблема. И его нелегко обновить в AWS Elasti c Beanstalk Schema.db

Работает нормально с RACK_ENV = разработка, но ошибка появляется в RACK_ENV = production.

Ошибка со стеком запросов: enter image description here

  1. Ошибка
  2. Запросы должны быть одинаковыми, но каждый запрос был обрезан по одному параметру и в последнем запросе был только один параметр.

Так выглядит в режиме разработки. Все параметры были предоставлены:

enter image description here

Мы в отчаянии. Мы потратили пару недель, пытаясь отследить эту ошибку. Есть предложения?

Версия модели:

class Version < ApplicationRecord
  include ResourceAccess
  include HtmlToPlainText

  has_many :users
  has_many :content_items
  belongs_to :mailing
  has_one :campaign, through: :mailing
  has_and_belongs_to_many :users
  has_and_belongs_to_many :teams

  validates :name, {presence: true}
  ... (here only methods)
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...