class ActiveRecord::Migration::ChangeSchemaWithDependentObjectsTest

Public Instance Methods

test_create_table_with_force_cascade_drops_dependent_objects() click to toggle source
# File activerecord/test/cases/migration/change_schema_test.rb, line 454
def test_create_table_with_force_cascade_drops_dependent_objects
  skip "MySQL > 5.5 does not drop dependent objects with DROP TABLE CASCADE" if current_adapter?(:Mysql2Adapter)
  # can't re-create table referenced by foreign key
  assert_raises(ActiveRecord::StatementInvalid) do
    @connection.create_table :trains, force: true
  end

  # can recreate referenced table with force: :cascade
  @connection.create_table :trains, force: :cascade
  assert_equal [], @connection.foreign_keys(:wagons)
end