diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-01 18:13:55 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-12-01 18:13:55 +0300 |
commit | 66629d156e2420269ed53eff3dca0912cfe848e2 (patch) | |
tree | 64491b1d9bbb19ea8a8e336b92484ca70d94d84d /spec/db | |
parent | c9439a09c51acff525f2e5c5cba8caecc270da8b (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/db')
-rw-r--r-- | spec/db/schema_spec.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/spec/db/schema_spec.rb b/spec/db/schema_spec.rb index 9be09179c6c..502bd01d522 100644 --- a/spec/db/schema_spec.rb +++ b/spec/db/schema_spec.rb @@ -29,7 +29,6 @@ RSpec.describe 'Database schema' do ci_builds: %w[erased_by_id runner_id trigger_request_id user_id], ci_namespace_monthly_usages: %w[namespace_id], ci_pipelines: %w[user_id], - ci_pipeline_chat_data: %w[chat_name_id], # it uses the loose foreign key featue ci_runner_projects: %w[runner_id], ci_trigger_requests: %w[commit_id], cluster_providers_aws: %w[security_group_id vpc_id access_key_id], @@ -102,6 +101,8 @@ RSpec.describe 'Database schema' do let(:indexes) { connection.indexes(table) } let(:columns) { connection.columns(table) } let(:foreign_keys) { connection.foreign_keys(table) } + let(:loose_foreign_keys) { Gitlab::Database::LooseForeignKeys.definitions.group_by(&:from_table).fetch(table, []) } + let(:all_foreign_keys) { foreign_keys + loose_foreign_keys } # take the first column in case we're using a composite primary key let(:primary_key_column) { Array(connection.primary_key(table)).first } @@ -114,7 +115,7 @@ RSpec.describe 'Database schema' do columns = columns.split(',') if columns.is_a?(String) columns.first.chomp end - foreign_keys_columns = foreign_keys.map(&:column) + foreign_keys_columns = all_foreign_keys.map(&:column) # Add the primary key column to the list of indexed columns because # postgres and mysql both automatically create an index on the primary @@ -129,7 +130,7 @@ RSpec.describe 'Database schema' do context 'columns ending with _id' do let(:column_names) { columns.map(&:name) } let(:column_names_with_id) { column_names.select { |column_name| column_name.ends_with?('_id') } } - let(:foreign_keys_columns) { foreign_keys.map(&:column) } + let(:foreign_keys_columns) { all_foreign_keys.map(&:column).uniq } # we can have FK and loose FK present at the same time let(:ignored_columns) { ignored_fk_columns(table) } it 'do have the foreign keys' do |