Create organization_push_rules table

What does this MR do and why?

Create organization_push_rules table to store push rules for organizations

References

Relates to #498937 (closed)

Migrations

bundle exec rake db:migrate:main

$ scripts/db_tasks db:migrate
Running: `bundle exec rake db:migrate:main`
main: == [advisory_lock_connection] object_id: 120860, pg_backend_pid: 185
main: == 20250402153417 CreateOrganizationPushRules: migrating ======================
main: -- create_table(:organization_push_rules, {:if_not_exists=>true})
main:    -> 0.0136s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE organization_push_rules\nADD CONSTRAINT author_email_regex_size_constraint\nCHECK ( char_length(author_email_regex) <= 511 )\nNOT VALID;\n")
main:    -> 0.0010s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0005s
main: -- execute("ALTER TABLE organization_push_rules VALIDATE CONSTRAINT author_email_regex_size_constraint;")
main:    -> 0.0007s
main: -- execute("RESET statement_timeout")
main:    -> 0.0004s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE organization_push_rules\nADD CONSTRAINT branch_name_regex_size_constraint\nCHECK ( char_length(branch_name_regex) <= 511 )\nNOT VALID;\n")
main:    -> 0.0010s
main: -- execute("ALTER TABLE organization_push_rules VALIDATE CONSTRAINT branch_name_regex_size_constraint;")
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE organization_push_rules\nADD CONSTRAINT commit_message_negative_regex_size_constraint\nCHECK ( char_length(commit_message_negative_regex) <= 2047 )\nNOT VALID;\n")
main:    -> 0.0008s
main: -- execute("ALTER TABLE organization_push_rules VALIDATE CONSTRAINT commit_message_negative_regex_size_constraint;")
main:    -> 0.0006s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE organization_push_rules\nADD CONSTRAINT commit_message_regex_size_constraint\nCHECK ( char_length(commit_message_regex) <= 511 )\nNOT VALID;\n")
main:    -> 0.0008s
main: -- execute("ALTER TABLE organization_push_rules VALIDATE CONSTRAINT commit_message_regex_size_constraint;")
main:    -> 0.0007s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- transaction_open?(nil)
main:    -> 0.0000s
main: -- execute("ALTER TABLE organization_push_rules\nADD CONSTRAINT file_name_regex_size_constraint\nCHECK ( char_length(file_name_regex) <= 511 )\nNOT VALID;\n")
main:    -> 0.0009s
main: -- execute("ALTER TABLE organization_push_rules VALIDATE CONSTRAINT file_name_regex_size_constraint;")
main:    -> 0.0007s
main: == 20250402153417 CreateOrganizationPushRules: migrated (0.1247s) =============
main: == [advisory_lock_connection] object_id: 120860, pg_backend_pid: 185$ scripts/db_tasks db:migrate

bundle exec rake db:migrate:down:main VERSION=20250402153417

$ scripts/db_tasks db:migrate:down VERSION=20250402153417
Running: `bundle exec rake db:migrate:down:main VERSION=20250402153417`
main: == [advisory_lock_connection] object_id: 121440, pg_backend_pid: 138
main: == 20250402153417 CreateOrganizationPushRules: reverting ======================
main: -- drop_table(:organization_push_rules, {:if_exists=>true})
main:    -> 0.0051s
main: == 20250402153417 CreateOrganizationPushRules: reverted (0.0178s) =============
main: == [advisory_lock_connection] object_id: 121440, pg_backend_pid: 138

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Javiera Tapia

Merge request reports

Loading