Skip to content

Create BranchRule::PushAccessLevel model

What does this MR do and why?

Configures BranchRule::PushAccessLevel model for Branch Rule MVC

We're moving away from ProtectedBranch -> BranchRule as part of a rethinking of the UX. This MR and the other related MRs build the architecture for the Branch Rule MVC.

Migration Output

Up
main: == 20220727105541 CreateBranchRulePushAccessLevels: migrating =================
main: -- create_table(:branch_rule_push_access_levels, {})
main:    -> 0.0077s
main: == 20220727105541 CreateBranchRulePushAccessLevels: migrated (0.0082s) ========

main: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: migrating ======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- foreign_keys(:branch_rule_push_access_levels)
main:    -> 0.0065s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_e05a16c5b5\nFOREIGN KEY (branch_rule_id)\nREFERENCES branch_rules (id)\nON DELETE CASCADE\nNOT VALID;\n")
main:    -> 0.0010s
main: -- execute("SET statement_timeout TO 0")
main:    -> 0.0002s
main: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_e05a16c5b5;")
main:    -> 0.0011s
main: -- execute("RESET statement_timeout")
main:    -> 0.0002s
main: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: migrated (0.0141s)

main: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: migrating =============
main: -- transaction_open?()
main:    -> 0.0000s
main: -- foreign_keys(:branch_rule_push_access_levels)
main:    -> 0.0016s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_dbbec02309\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")
main:    -> 0.0009s
main: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_dbbec02309;")
main:    -> 0.0016s
main: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: migrated (0.0054s) ====

main: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: migrating ===========
main: -- transaction_open?()
main:    -> 0.0000s
main: -- foreign_keys(:branch_rule_push_access_levels)
main:    -> 0.0017s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_c1143675ce\nFOREIGN KEY (group_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")
main:    -> 0.0009s
main: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_c1143675ce;")
main:    -> 0.0014s
main: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: migrated (0.0056s) ==

main: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: migrating =======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- foreign_keys(:branch_rule_push_access_levels)
main:    -> 0.0017s
main: -- transaction_open?()
main:    -> 0.0000s
main: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_30b2fb7f6a\nFOREIGN KEY (deploy_key_id)\nREFERENCES keys (id)\nON DELETE CASCADE\nNOT VALID;\n")
main:    -> 0.0010s
main: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_30b2fb7f6a;")
main:    -> 0.0052s
main: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: migrated (0.0094s)

ci: == 20220727105541 CreateBranchRulePushAccessLevels: migrating =================
ci: -- create_table(:branch_rule_push_access_levels, {})
ci:    -> 0.0076s
ci: == 20220727105541 CreateBranchRulePushAccessLevels: migrated (0.0077s) ========

ci: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: migrating ======
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- foreign_keys(:branch_rule_push_access_levels)
ci:    -> 0.0019s
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_e05a16c5b5\nFOREIGN KEY (branch_rule_id)\nREFERENCES branch_rules (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci:    -> 0.0006s
ci: -- execute("SET statement_timeout TO 0")
ci:    -> 0.0002s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_e05a16c5b5;")
ci:    -> 0.0008s
ci: -- execute("RESET statement_timeout")
ci:    -> 0.0002s
ci: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: migrated (0.0049s)

ci: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: migrating =============
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- foreign_keys(:branch_rule_push_access_levels)
ci:    -> 0.0014s
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_dbbec02309\nFOREIGN KEY (user_id)\nREFERENCES users (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci:    -> 0.0007s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_dbbec02309;")
ci:    -> 0.0016s
ci: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: migrated (0.0051s) ====

ci: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: migrating ===========
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- foreign_keys(:branch_rule_push_access_levels)
ci:    -> 0.0027s
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_c1143675ce\nFOREIGN KEY (group_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci:    -> 0.0006s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_c1143675ce;")
ci:    -> 0.0013s
ci: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: migrated (0.0060s) ==

ci: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: migrating =======
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- foreign_keys(:branch_rule_push_access_levels)
ci:    -> 0.0015s
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels\nADD CONSTRAINT fk_30b2fb7f6a\nFOREIGN KEY (deploy_key_id)\nREFERENCES keys (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci:    -> 0.0014s
ci: -- execute("ALTER TABLE branch_rule_push_access_levels VALIDATE CONSTRAINT fk_30b2fb7f6a;")
ci:    -> 0.0038s
ci: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: migrated (0.0082s)
Down
main: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: reverting =======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:deploy_key_id})
main:    -> 0.0039s
main: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: reverted (0.0102s)

main: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: reverting ===========
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:group_id})
main:    -> 0.0041s
main: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: reverted (0.0106s) ==

main: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: reverting =============
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:user_id})
main:    -> 0.0045s
main: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: reverted (0.0100s) ====

main: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: reverting ======
main: -- transaction_open?()
main:    -> 0.0000s
main: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:branch_rule_id})
main:    -> 0.0040s
main: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: reverted (0.0103s)

main: == 20220727105541 CreateBranchRulePushAccessLevels: reverting =================
main: -- drop_table(:branch_rule_push_access_levels, {})
main:    -> 0.0020s
main: == 20220727105541 CreateBranchRulePushAccessLevels: reverted (0.0036s) ========

ci: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: reverting =======
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:deploy_key_id})
ci:    -> 0.0059s
ci: == 20220727105545 AddDeployKeyFkToBranchRulePushAccessLevels: reverted (0.0213s)

ci: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: reverting ===========
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:group_id})
ci:    -> 0.0047s
ci: == 20220727105544 AddGroupFkToBranchRulePushAccessLevels: reverted (0.0114s) ==

ci: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: reverting =============
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:user_id})
ci:    -> 0.0044s
ci: == 20220727105543 AddUserFkToBranchRulePushAccessLevel: reverted (0.0101s) ====

ci: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: reverting ======
ci: -- transaction_open?()
ci:    -> 0.0000s
ci: -- remove_foreign_key(:branch_rule_push_access_levels, {:column=>:branch_rule_id})
ci:    -> 0.0040s
ci: == 20220727105542 AddBranchRuleFkToBranchRulePushAccessLevels: reverted (0.0099s)

ci: == 20220727105541 CreateBranchRulePushAccessLevels: reverting =================
ci: -- drop_table(:branch_rule_push_access_levels, {})
ci:    -> 0.0025s
ci: == 20220727105541 CreateBranchRulePushAccessLevels: reverted (0.0037s) ========

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Joe Woodward

Merge request reports