Create CommitEmail model and database table
What does this MR do and why?
This MR introduces a new table to be able to define default commit emails per user, per namespace (project/group see #26710).
Migrations
Up:
lee@Lees-MacBook-Pro gitlab % bin/rails db:migrate RAILS_ENV=development
main: == 20221021213216 CreateNamespaceCommitEmails: migrating ===============
main: -- create_table(:namespace_commit_emails, {})
main: -> 0.0171s
main: == 20221021213216 CreateNamespaceCommitEmails: migrated (0.0176s) ======
main: == 20221022213505 AddNamespaceCommitEmailsNamespaceFk: migrating =======
main: -- transaction_open?()
main: -> 0.0000s
main: -- foreign_keys(:namespace_commit_emails)
main: -> 0.0067s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE namespace_commit_emails\nADD CONSTRAINT fk_92adb8f168\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")
main: -> 0.0015s
main: -- execute("SET statement_timeout TO 0")
main: -> 0.0002s
main: -- execute("ALTER TABLE namespace_commit_emails VALIDATE CONSTRAINT fk_92adb8f168;")
main: -> 0.0020s
main: -- execute("RESET statement_timeout")
main: -> 0.0003s
main: == 20221022213505 AddNamespaceCommitEmailsNamespaceFk: migrated (0.0157s)
main: == 20221022213521 AddNamespaceCommitEmailsEmailFk: migrating ===========
main: -- transaction_open?()
main: -> 0.0000s
main: -- foreign_keys(:namespace_commit_emails)
main: -> 0.0017s
main: -- transaction_open?()
main: -> 0.0000s
main: -- execute("ALTER TABLE namespace_commit_emails\nADD CONSTRAINT fk_4135cceeec\nFOREIGN KEY (email_id)\nREFERENCES emails (id)\nON DELETE CASCADE\nNOT VALID;\n")
main: -> 0.0013s
main: -- execute("ALTER TABLE namespace_commit_emails VALIDATE CONSTRAINT fk_4135cceeec;")
main: -> 0.0019s
main: == 20221022213521 AddNamespaceCommitEmailsEmailFk: migrated (0.0063s) ==
ci: == 20221021213216 CreateNamespaceCommitEmails: migrating ===============
ci: -- create_table(:namespace_commit_emails, {})
ci: -> 0.0210s
ci: == 20221021213216 CreateNamespaceCommitEmails: migrated (0.0211s) ======
ci: == 20221022213505 AddNamespaceCommitEmailsNamespaceFk: migrating =======
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- foreign_keys(:namespace_commit_emails)
ci: -> 0.0025s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER TABLE namespace_commit_emails\nADD CONSTRAINT fk_92adb8f168\nFOREIGN KEY (namespace_id)\nREFERENCES namespaces (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci: -> 0.0033s
ci: -- execute("SET statement_timeout TO 0")
ci: -> 0.0002s
ci: -- execute("ALTER TABLE namespace_commit_emails VALIDATE CONSTRAINT fk_92adb8f168;")
ci: -> 0.0074s
ci: -- execute("RESET statement_timeout")
ci: -> 0.0003s
ci: == 20221022213505 AddNamespaceCommitEmailsNamespaceFk: migrated (0.0151s)
ci: == 20221022213521 AddNamespaceCommitEmailsEmailFk: migrating ===========
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- foreign_keys(:namespace_commit_emails)
ci: -> 0.0016s
ci: -- transaction_open?()
ci: -> 0.0000s
ci: -- execute("ALTER TABLE namespace_commit_emails\nADD CONSTRAINT fk_4135cceeec\nFOREIGN KEY (email_id)\nREFERENCES emails (id)\nON DELETE CASCADE\nNOT VALID;\n")
ci: -> 0.0019s
ci: -- execute("ALTER TABLE namespace_commit_emails VALIDATE CONSTRAINT fk_4135cceeec;")
ci: -> 0.0028s
ci: == 20221022213521 AddNamespaceCommitEmailsEmailFk: migrated (0.0080s) ==
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Edited by Lee Tickett