Sha256: 37232e1bd080823fa827b8819c212325bbfee257beb8547dff6b65a3f740e1bb

Contents?: true

Size: 998 Bytes

Versions: 8

Compression:

Stored size: 998 Bytes

Contents

require "cases/helper"

class PostgresqlRenameTableTest < ActiveRecord::PostgreSQLTestCase
  def setup
    @connection = ActiveRecord::Base.connection
    @connection.create_table :before_rename, force: true
  end

  def teardown
    @connection.drop_table "before_rename", if_exists: true
    @connection.drop_table "after_rename", if_exists: true
  end

  test "renaming a table also renames the primary key index" do
    # sanity check
    assert_equal 1, num_indices_named("before_rename_pkey")
    assert_equal 0, num_indices_named("after_rename_pkey")

    @connection.rename_table :before_rename, :after_rename

    assert_equal 0, num_indices_named("before_rename_pkey")
    assert_equal 1, num_indices_named("after_rename_pkey")
  end

  private

  def num_indices_named(name)
    @connection.execute(<<-SQL).values.length
      SELECT 1 FROM "pg_index"
        JOIN "pg_class" ON "pg_index"."indexrelid" = "pg_class"."oid"
        WHERE "pg_class"."relname" = '#{name}'
    SQL
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ibm_db-5.2.0 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-5.1.0 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-5.0.5 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-5.0.4 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-5.0.3 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-5.0.2 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-4.0.0-x86-mingw32 test/cases/adapters/postgresql/rename_table_test.rb
ibm_db-4.0.0 test/cases/adapters/postgresql/rename_table_test.rb