aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/cases/migration
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2017-12-03 15:00:05 +0900
committerRyuta Kamizono <kamipo@gmail.com>2017-12-03 15:12:23 +0900
commitd0f5dce492696019ddf409892829f89bee5f45ef (patch)
treec0339a27fee2b8ee4f38e398f7f3a6ecd688c673 /activerecord/test/cases/migration
parent8c5a7fbefd3cad403e7594d0b6a5488d80d4c98e (diff)
downloadrails-d0f5dce492696019ddf409892829f89bee5f45ef.tar.gz
rails-d0f5dce492696019ddf409892829f89bee5f45ef.tar.bz2
rails-d0f5dce492696019ddf409892829f89bee5f45ef.zip
`change_column_default` should be executed after type changing
If do not execute a type changing first, filling in default value may be failed. ``` % ARCONN=postgresql be ruby -w -Itest test/cases/migration/compatibility_test.rb -n test_legacy_change_column_with_null_executes_update Using postgresql Run options: -n test_legacy_change_column_with_null_executes_update --seed 20459 E Error: ActiveRecord::Migration::CompatibilityTest#test_legacy_change_column_with_null_executes_update: StandardError: An error has occurred, this and all later migrations canceled: PG::StringDataRightTruncation: ERROR: value too long for type character varying(5) : UPDATE "testings" SET "foo"='foobar' WHERE "foo" IS NULL ```
Diffstat (limited to 'activerecord/test/cases/migration')
-rw-r--r--activerecord/test/cases/migration/compatibility_test.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/activerecord/test/cases/migration/compatibility_test.rb b/activerecord/test/cases/migration/compatibility_test.rb
index e6ca252369..cc2391f349 100644
--- a/activerecord/test/cases/migration/compatibility_test.rb
+++ b/activerecord/test/cases/migration/compatibility_test.rb
@@ -16,7 +16,7 @@ module ActiveRecord
ActiveRecord::Migration.verbose = false
connection.create_table :testings do |t|
- t.column :foo, :string, limit: 100
+ t.column :foo, :string, limit: 5
t.column :bar, :string, limit: 100
end
end
@@ -134,7 +134,7 @@ module ActiveRecord
def test_legacy_change_column_with_null_executes_update
migration = Class.new(ActiveRecord::Migration[5.1]) {
def migrate(x)
- change_column :testings, :foo, :string, null: false, default: "foobar"
+ change_column :testings, :foo, :string, limit: 10, null: false, default: "foobar"
end
}.new