Skip to content
Snippets Groups Projects
Commit fb1fc448 authored by Simon Tomlinson's avatar Simon Tomlinson :three:
Browse files

Merge branch '414396-finalize-fk-conversion-5' into 'master'

Finalize conversion for FKs targeting p_ci_builds - 3

See merge request gitlab-org/gitlab!124310



Merged-by: Simon Tomlinson's avatarSimon Tomlinson <stomlinson@gitlab.com>
Approved-by: default avatarMax Orefice <morefice@gitlab.com>
Approved-by: Simon Tomlinson's avatarSimon Tomlinson <stomlinson@gitlab.com>
Reviewed-by: default avatarMarius Bobin <mbobin@gitlab.com>
Reviewed-by: default avatarMax Orefice <morefice@gitlab.com>
Co-authored-by: default avatarMarius Bobin <mbobin@gitlab.com>
parents 9e988f5c b1d74d4d
No related branches found
No related tags found
No related merge requests found
# frozen_string_literal: true
class ReplaceOldFkPCiBuildsMetadataToBuilds < Gitlab::Database::Migration[2.1]
include Gitlab::Database::PartitioningMigrationHelpers
include Gitlab::Database::MigrationHelpers::WraparoundAutovacuum
disable_ddl_transaction!
def up
return unless should_run?
return if new_foreign_key_exists?
with_lock_retries do
remove_foreign_key_if_exists :p_ci_builds_metadata, :ci_builds,
name: :fk_e20479742e_p, reverse_lock_order: true
rename_constraint :p_ci_builds_metadata, :temp_fk_e20479742e_p, :fk_e20479742e_p
Gitlab::Database::PostgresPartitionedTable.each_partition(:p_ci_builds_metadata) do |partition|
rename_constraint partition.identifier, :temp_fk_e20479742e_p, :fk_e20479742e_p
end
end
end
def down
return unless should_run?
return unless new_foreign_key_exists?
add_concurrent_partitioned_foreign_key :p_ci_builds_metadata, :ci_builds,
name: :temp_fk_e20479742e_p,
column: [:partition_id, :build_id],
target_column: [:partition_id, :id],
on_update: :cascade,
on_delete: :cascade,
validate: true,
reverse_lock_order: true
switch_constraint_names :p_ci_builds_metadata, :fk_e20479742e_p, :temp_fk_e20479742e_p
Gitlab::Database::PostgresPartitionedTable.each_partition(:p_ci_builds_metadata) do |partition|
switch_constraint_names partition.identifier, :fk_e20479742e_p, :temp_fk_e20479742e_p
end
end
private
def should_run?
can_execute_on?(:ci_builds_metadata, :ci_builds)
end
def new_foreign_key_exists?
foreign_key_exists?(:p_ci_builds_metadata, :p_ci_builds, name: :fk_e20479742e_p)
end
end
# frozen_string_literal: true
class ReplaceOldFkPCiRunnerMachineBuildsToBuilds < Gitlab::Database::Migration[2.1]
include Gitlab::Database::PartitioningMigrationHelpers
include Gitlab::Database::MigrationHelpers::WraparoundAutovacuum
disable_ddl_transaction!
def up
return unless should_run?
return if new_foreign_key_exists?
with_lock_retries do
remove_foreign_key_if_exists :p_ci_runner_machine_builds, :ci_builds,
name: :fk_bb490f12fe_p, reverse_lock_order: true
rename_constraint :p_ci_runner_machine_builds, :temp_fk_bb490f12fe_p, :fk_bb490f12fe_p
Gitlab::Database::PostgresPartitionedTable.each_partition(:p_ci_runner_machine_builds) do |partition|
rename_constraint partition.identifier, :temp_fk_bb490f12fe_p, :fk_bb490f12fe_p
end
end
end
def down
return unless should_run?
return unless new_foreign_key_exists?
add_concurrent_partitioned_foreign_key :p_ci_runner_machine_builds, :ci_builds,
name: :temp_fk_bb490f12fe_p,
column: [:partition_id, :build_id],
target_column: [:partition_id, :id],
on_update: :cascade,
on_delete: :cascade,
validate: true,
reverse_lock_order: true
switch_constraint_names :p_ci_runner_machine_builds, :fk_bb490f12fe_p, :temp_fk_bb490f12fe_p
Gitlab::Database::PostgresPartitionedTable.each_partition(:p_ci_runner_machine_builds) do |partition|
switch_constraint_names partition.identifier, :fk_bb490f12fe_p, :temp_fk_bb490f12fe_p
end
end
private
def should_run?
can_execute_on?(:ci_builds)
end
def new_foreign_key_exists?
foreign_key_exists?(:p_ci_runner_machine_builds, :p_ci_builds, name: :fk_bb490f12fe_p)
end
end
ec9cd530b8fe033c16865adf6494cc3e568c4bfa513e616398da737a68291cb5
\ No newline at end of file
d7f3642897ee44f18c2b809f3936a951c715f3021454349117e22e387d18945a
\ No newline at end of file
...@@ -36059,7 +36059,7 @@ ALTER TABLE ONLY routes ...@@ -36059,7 +36059,7 @@ ALTER TABLE ONLY routes
ADD CONSTRAINT fk_bb2e5b8968 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; ADD CONSTRAINT fk_bb2e5b8968 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE;
   
ALTER TABLE p_ci_runner_machine_builds ALTER TABLE p_ci_runner_machine_builds
ADD CONSTRAINT fk_bb490f12fe_p FOREIGN KEY (partition_id, build_id) REFERENCES ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE; ADD CONSTRAINT fk_bb490f12fe_p FOREIGN KEY (partition_id, build_id) REFERENCES p_ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE;
   
ALTER TABLE ONLY namespace_bans ALTER TABLE ONLY namespace_bans
ADD CONSTRAINT fk_bcc024eef2 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; ADD CONSTRAINT fk_bcc024eef2 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE;
...@@ -36251,7 +36251,7 @@ ALTER TABLE ONLY ci_sources_pipelines ...@@ -36251,7 +36251,7 @@ ALTER TABLE ONLY ci_sources_pipelines
ADD CONSTRAINT fk_e1bad85861 FOREIGN KEY (pipeline_id) REFERENCES ci_pipelines(id) ON DELETE CASCADE; ADD CONSTRAINT fk_e1bad85861 FOREIGN KEY (pipeline_id) REFERENCES ci_pipelines(id) ON DELETE CASCADE;
   
ALTER TABLE p_ci_builds_metadata ALTER TABLE p_ci_builds_metadata
ADD CONSTRAINT fk_e20479742e_p FOREIGN KEY (partition_id, build_id) REFERENCES ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE; ADD CONSTRAINT fk_e20479742e_p FOREIGN KEY (partition_id, build_id) REFERENCES p_ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE;
   
ALTER TABLE ONLY gitlab_subscriptions ALTER TABLE ONLY gitlab_subscriptions
ADD CONSTRAINT fk_e2595d00a1 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE; ADD CONSTRAINT fk_e2595d00a1 FOREIGN KEY (namespace_id) REFERENCES namespaces(id) ON DELETE CASCADE;
...@@ -38143,12 +38143,6 @@ ALTER TABLE issue_search_data ...@@ -38143,12 +38143,6 @@ ALTER TABLE issue_search_data
ALTER TABLE product_analytics_events_experimental ALTER TABLE product_analytics_events_experimental
ADD CONSTRAINT product_analytics_events_experimental_project_id_fkey FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE; ADD CONSTRAINT product_analytics_events_experimental_project_id_fkey FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE;
   
ALTER TABLE p_ci_runner_machine_builds
ADD CONSTRAINT temp_fk_bb490f12fe_p FOREIGN KEY (partition_id, build_id) REFERENCES p_ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE p_ci_builds_metadata
ADD CONSTRAINT temp_fk_e20479742e_p FOREIGN KEY (partition_id, build_id) REFERENCES p_ci_builds(partition_id, id) ON UPDATE CASCADE ON DELETE CASCADE;
ALTER TABLE ONLY user_follow_users ALTER TABLE ONLY user_follow_users
ADD CONSTRAINT user_follow_users_followee_id_fkey FOREIGN KEY (followee_id) REFERENCES users(id) ON DELETE CASCADE; ADD CONSTRAINT user_follow_users_followee_id_fkey FOREIGN KEY (followee_id) REFERENCES users(id) ON DELETE CASCADE;
   
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment