我已經成立了一個新的遷移文件:Rails的遷移文件失敗 - Mysql2 ::錯誤:數據截斷
class ChangeCourseDefaults < ActiveRecord::Migration
def self.up
change_column_null :course_objects, :active, false
change_column_default :course_objects, :active, 0
end
end
我運行它這樣我的Debian服務器上(鋼軌4.2.1紅寶石2.1 )
sudo bundle exec rake db:migrate:up VERSION=20150720095700 RAILS_ENV=test
然後我得到這個錯誤:
Mysql2::Error: Data truncated for column 'active' at row 1: ALTER TABLE `course_objects` CHANGE `active` `active` tinyint(1) NOT NULL/var/www/html/test/xyz/vendor/bundle/ruby/2.1.0/gems/activerecord-4..2.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:299:in `query'
請告訴我這個問題?
沒有任何記錄之前這已經是空?請檢查 – Athar
是的,有數字 – Felix
是的,這就是爲什麼當這行'change_column_null:course_objects,:active,false'運行時,它將檢查所有值並確認不應該有任何空值。並在這裏崩潰。但我想下面粘貼的答案將解決您的問題。 – Athar