Web制作メモ -トップへ-

Rails4はデフォルトでMySQLがstrict mode

Ruby2016.02.07 12:12

INSERT文の内容が多いとエラーが発生した。

Rails4はデフォルトでMySQLがstrict modeというモードらしく、これをオフにすれば解決した。

オフにするには、database.ymlに以下の設定を追加する。

config/database.yml

strict: false

発生したエラー

ActiveRecord::StatementInvalid in Admin::TopicsController#create
Mysql2::Error: Data too long for column 'description' at row 1: INSERT INTO `topics` (`posted`, `tag`, `title`, `description`, `created_at`, `updated_at`) VALUES ('2016-02-07', 'テスト', 'テスト', 'テストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテストテスト', '2016-02-07 03:04:31', '2016-02-07 03:04:31')