summaryrefslogtreecommitdiff
path: root/db/migrate/20220113125401_create_security_trainings.rb
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-25 15:09:33 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-25 15:09:33 +0000
commitba8e92f7c9938d7dba333d2396cdd14bfa0de726 (patch)
tree071d3b0577dce2e95eefa6a504910bc7856181f3 /db/migrate/20220113125401_create_security_trainings.rb
parentd2d913b606702ecefa01f03362602fde256e3f75 (diff)
downloadgitlab-ce-ba8e92f7c9938d7dba333d2396cdd14bfa0de726.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'db/migrate/20220113125401_create_security_trainings.rb')
-rw-r--r--db/migrate/20220113125401_create_security_trainings.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/db/migrate/20220113125401_create_security_trainings.rb b/db/migrate/20220113125401_create_security_trainings.rb
new file mode 100644
index 00000000000..6924c7bd189
--- /dev/null
+++ b/db/migrate/20220113125401_create_security_trainings.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class CreateSecurityTrainings < Gitlab::Database::Migration[1.0]
+ enable_lock_retries!
+
+ def change
+ create_table :security_trainings do |t|
+ t.references :project, null: false, foreign_key: { on_delete: :cascade }
+ t.references :provider, null: false, foreign_key: { to_table: :security_training_providers, on_delete: :cascade }
+ t.boolean :is_primary, default: false, null: false
+
+ t.timestamps_with_timezone null: false
+
+ # Guarantee that there will be only one primary per project
+ t.index :project_id, name: 'index_security_trainings_on_unique_project_id', unique: true, where: 'is_primary IS TRUE'
+ end
+ end
+end