0
文字列の文字数制限を減らすために、データベースのフィールドを更新しようとしています。私は、移行のIT爆弾を実行すると、私はエラーを取得するとき列を更新して文字列制限を減らす
class UpdateNoSaleLabelLimit < ActiveRecord::Migration
def up
change_column :companies, :no_sale_label, :string, :limit => 17, :default => "NO SALE"
end
def down
change_column :companies, :no_sale_label, :string, :limit => 18, :default => "NO SALE"
end
end
:
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: Data truncated for column 'no_sale_label' at row 1: ALTER TABLE `companies` CHANGE `no_sale_label` `no_sale_label` var
char(17) DEFAULT 'NO SALE'
を、私はこのようになり、新たな移行を作成
class AddNoSaleLabelToCompany < ActiveRecord::Migration
def change
add_column :companies, :no_sale_label, :string, :limit => 18, :default => "NO SALE"
end
end
:昔の移行は、このように見えました
私はこれがなぜ起こっているのか正確にはわかりません。