class ActiveRecord::Migration::CompatibilityTest
Attributes
connection[R]
Public Instance Methods
migrate(x)
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 35 def migrate(x) remove_index :testings, :foo end
setup()
click to toggle source
Calls superclass method
# File activerecord/test/cases/migration/compatibility_test.rb, line 12 def setup super @connection = ActiveRecord::Base.connection @verbose_was = ActiveRecord::Migration.verbose ActiveRecord::Migration.verbose = false connection.create_table :testings do |t| t.column :foo, :string, limit: 100 t.column :bar, :string, limit: 100 end end
test_legacy_migrations_raises_exception_when_inherited()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 123 def test_legacy_migrations_raises_exception_when_inherited e = assert_raises(StandardError) do class_eval("class LegacyMigration < ActiveRecord::Migration; end") end assert_match(/LegacyMigration < ActiveRecord::Migration\[4\.2\]/, e.message) end
test_migration_does_remove_unnamed_index()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 45 def test_migration_does_remove_unnamed_index connection.add_index :testings, :bar migration = Class.new(ActiveRecord::Migration[4.2]) { def version; 101 end def migrate(x) remove_index :testings, :bar end }.new assert connection.index_exists?(:testings, :bar) ActiveRecord::Migrator.new(:up, [migration]).migrate assert_not connection.index_exists?(:testings, :bar) end
test_migration_doesnt_remove_named_index()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 30 def test_migration_doesnt_remove_named_index connection.add_index :testings, :foo, name: "custom_index_name" migration = Class.new(ActiveRecord::Migration[4.2]) { def version; 101 end def migrate(x) remove_index :testings, :foo end }.new assert connection.index_exists?(:testings, :foo, name: "custom_index_name") assert_raise(StandardError) { ActiveRecord::Migrator.new(:up, [migration]).migrate } assert connection.index_exists?(:testings, :foo, name: "custom_index_name") end
test_references_does_not_add_index_by_default()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 60 def test_references_does_not_add_index_by_default migration = Class.new(ActiveRecord::Migration[4.2]) { def migrate(x) create_table :more_testings do |t| t.references :foo t.belongs_to :bar, index: false end end }.new ActiveRecord::Migrator.new(:up, [migration]).migrate assert_not connection.index_exists?(:more_testings, :foo_id) assert_not connection.index_exists?(:more_testings, :bar_id) ensure connection.drop_table :more_testings rescue nil end
test_timestamps_have_null_constraints_if_not_present_in_migration_for_adding_timestamps_to_existing_table()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 110 def test_timestamps_have_null_constraints_if_not_present_in_migration_for_adding_timestamps_to_existing_table migration = Class.new(ActiveRecord::Migration[4.2]) { def migrate(x) add_timestamps :testings end }.new ActiveRecord::Migrator.new(:up, [migration]).migrate assert connection.columns(:testings).find { |c| c.name == "created_at" }.null assert connection.columns(:testings).find { |c| c.name == "updated_at" }.null end
test_timestamps_have_null_constraints_if_not_present_in_migration_of_change_table()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 95 def test_timestamps_have_null_constraints_if_not_present_in_migration_of_change_table migration = Class.new(ActiveRecord::Migration[4.2]) { def migrate(x) change_table :testings do |t| t.timestamps end end }.new ActiveRecord::Migrator.new(:up, [migration]).migrate assert connection.columns(:testings).find { |c| c.name == "created_at" }.null assert connection.columns(:testings).find { |c| c.name == "updated_at" }.null end
test_timestamps_have_null_constraints_if_not_present_in_migration_of_create_table()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 78 def test_timestamps_have_null_constraints_if_not_present_in_migration_of_create_table migration = Class.new(ActiveRecord::Migration[4.2]) { def migrate(x) create_table :more_testings do |t| t.timestamps end end }.new ActiveRecord::Migrator.new(:up, [migration]).migrate assert connection.columns(:more_testings).find { |c| c.name == "created_at" }.null assert connection.columns(:more_testings).find { |c| c.name == "updated_at" }.null ensure connection.drop_table :more_testings rescue nil end
version()
click to toggle source
# File activerecord/test/cases/migration/compatibility_test.rb, line 34 def version; 101 end