From 77b0b1dfeb1a65f15a7a0dcbe2a3ed7109a23eab Mon Sep 17 00:00:00 2001 From: Eulyeon Ko <eko@gitlab.com> Date: Sat, 27 Jan 2024 18:58:52 +0900 Subject: [PATCH] Fix migration spec `select true` assigns different column name depending on the environment. Explicitly name the column and match against the name. --- .../swap_columns_for_system_note_metadata_id_spec.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/spec/migrations/swap_columns_for_system_note_metadata_id_spec.rb b/spec/migrations/swap_columns_for_system_note_metadata_id_spec.rb index 91f8ff8384138..e4887512aa938 100644 --- a/spec/migrations/swap_columns_for_system_note_metadata_id_spec.rb +++ b/spec/migrations/swap_columns_for_system_note_metadata_id_spec.rb @@ -26,8 +26,8 @@ primary_key_naming_check = query_constraint_by_name(:system_note_metadata, pk_name).first foreign_key_naming_check = query_constraint_by_name(:resource_link_events, fk_name).first - expect(primary_key_naming_check).to match("bool" => true) - expect(foreign_key_naming_check).to match("bool" => true) + expect(primary_key_naming_check).to match("constraint_exists" => true) + expect(foreign_key_naming_check).to match("constraint_exists" => true) expect(table.columns.find { |c| c.name == 'id' }.sql_type).to eq('integer') expect(table.columns.find { |c| c.name == 'id_convert_to_bigint' }.sql_type).to eq('bigint') } @@ -37,8 +37,8 @@ primary_key_naming_check = query_constraint_by_name(:system_note_metadata, pk_name).first foreign_key_naming_check = query_constraint_by_name(:resource_link_events, fk_name).first - expect(primary_key_naming_check).to match("bool" => true) - expect(foreign_key_naming_check).to match("bool" => true) + expect(primary_key_naming_check).to match("constraint_exists" => true) + expect(foreign_key_naming_check).to match("constraint_exists" => true) expect(table.columns.find { |c| c.name == 'id' }.sql_type).to eq('bigint') expect(table.columns.find { |c| c.name == 'id_convert_to_bigint' }.sql_type).to eq('integer') } @@ -48,7 +48,7 @@ def query_constraint_by_name(table_name, conname) described_class.new.connection.execute <<~SQL - SELECT true FROM pg_constraint c JOIN pg_class t ON t.oid = c.conrelid + SELECT true as constraint_exists FROM pg_constraint c JOIN pg_class t ON t.oid = c.conrelid WHERE t.relname = \'#{table_name}\' AND c.conname = \'#{conname}\'; SQL end -- GitLab