Rails 4, RSpec, MySQL2 ошибка по умолчанию
При выполнении теста rspec я получаю сообщение об ошибке, очень похожее на сообщение в этом посте, но авторское решение не работает для меня. Ошибка:
Mysql2::Error: Field 'target_id' doesn't have a default value: INSERT INTO `illegal_links` (`url`, `status`, `time_found`, `track_id`, `user_id`, `created_at`, `updated_at`) VALUES ('http://www.whatever.com', 'new', '2013-12-19 17:25:52.000000', 3212, 6980, '2017-09-27 15:40:38.121788', '2017-09-27 15:40:38.121788')
Фабрика "незаконных ссылок" вызывает целевую фабрику вместе с двумя другими, но target_id является единственным, который выдает ошибку:
factory :illegal_link do
url "http://www.whatever.com"
status "new"
time_found "2013-12-19 17:25:52"
url_type "file"
track
target
user
Что я действительно не понимаю, так это то, что при удалении вызова к целевой фабрике и использовании 'target_id 1' возникает та же ошибка. Создание "целей" из консоли каждый получает новый идентификатор, так что это не пропущенное автоматическое увеличение в MySQL.
Я использую rails 4.2.0, ruby 2.3.0, rspec-rails 3.6.0, factory_girl 4.8.0 и mysql2 0.3.21
Любые идеи будут оценены, спасибо.
Изменить: вот схема для target_id в таблицах нелегальных ссылок:
t.integer "target_id", limit: 4, null: false
add_index "illegal_links", ["target_id"], name: "target_id", using: :btree