From 6902848a9c54f9eb1bfd82fe173ad0d5d62fe2d5 Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Mon, 18 Sep 2017 15:03:24 +0200 Subject: Support custom attributes on projects --- .../20170918111708_create_project_custom_attributes.rb | 15 +++++++++++++++ db/schema.rb | 12 ++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 db/migrate/20170918111708_create_project_custom_attributes.rb (limited to 'db') diff --git a/db/migrate/20170918111708_create_project_custom_attributes.rb b/db/migrate/20170918111708_create_project_custom_attributes.rb new file mode 100644 index 00000000000..b5bc90ec02e --- /dev/null +++ b/db/migrate/20170918111708_create_project_custom_attributes.rb @@ -0,0 +1,15 @@ +class CreateProjectCustomAttributes < ActiveRecord::Migration + DOWNTIME = false + + def change + create_table :project_custom_attributes do |t| + t.timestamps_with_timezone null: false + t.references :project, null: false, foreign_key: { on_delete: :cascade } + t.string :key, null: false + t.string :value, null: false + + t.index [:project_id, :key], unique: true + t.index [:key, :value] + end + end +end diff --git a/db/schema.rb b/db/schema.rb index 80d8ff92d6e..76fc92e2282 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1214,6 +1214,17 @@ ActiveRecord::Schema.define(version: 20171026082505) do add_index "project_auto_devops", ["project_id"], name: "index_project_auto_devops_on_project_id", unique: true, using: :btree + create_table "project_custom_attributes", force: :cascade do |t| + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "project_id", null: false + t.string "key", null: false + t.string "value", null: false + end + + add_index "project_custom_attributes", ["key", "value"], name: "index_project_custom_attributes_on_key_and_value", using: :btree + add_index "project_custom_attributes", ["project_id", "key"], name: "index_project_custom_attributes_on_project_id_and_key", unique: true, using: :btree + create_table "project_features", force: :cascade do |t| t.integer "project_id" t.integer "merge_requests_access_level" @@ -1859,6 +1870,7 @@ ActiveRecord::Schema.define(version: 20171026082505) do add_foreign_key "project_authorizations", "projects", on_delete: :cascade add_foreign_key "project_authorizations", "users", on_delete: :cascade add_foreign_key "project_auto_devops", "projects", on_delete: :cascade + add_foreign_key "project_custom_attributes", "projects", on_delete: :cascade add_foreign_key "project_features", "projects", name: "fk_18513d9b92", on_delete: :cascade add_foreign_key "project_group_links", "projects", name: "fk_daa8cee94c", on_delete: :cascade add_foreign_key "project_import_data", "projects", name: "fk_ffb9ee3a10", on_delete: :cascade -- cgit v1.2.1 From 1f773a8ef5a1f76166d0455c6a5e473278885c17 Mon Sep 17 00:00:00 2001 From: Markus Koller Date: Mon, 18 Sep 2017 17:07:38 +0200 Subject: Support custom attributes on groups --- .../20170918140927_create_group_custom_attributes.rb | 19 +++++++++++++++++++ db/schema.rb | 12 ++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 db/migrate/20170918140927_create_group_custom_attributes.rb (limited to 'db') diff --git a/db/migrate/20170918140927_create_group_custom_attributes.rb b/db/migrate/20170918140927_create_group_custom_attributes.rb new file mode 100644 index 00000000000..3879ea15eb6 --- /dev/null +++ b/db/migrate/20170918140927_create_group_custom_attributes.rb @@ -0,0 +1,19 @@ +class CreateGroupCustomAttributes < ActiveRecord::Migration + include Gitlab::Database::MigrationHelpers + + DOWNTIME = false + + def change + create_table :group_custom_attributes do |t| + t.timestamps_with_timezone null: false + t.references :group, null: false + t.string :key, null: false + t.string :value, null: false + + t.index [:group_id, :key], unique: true + t.index [:key, :value] + end + + add_foreign_key :group_custom_attributes, :namespaces, column: :group_id, on_delete: :cascade # rubocop: disable Migration/AddConcurrentForeignKey + end +end diff --git a/db/schema.rb b/db/schema.rb index 76fc92e2282..54127087b8b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -693,6 +693,17 @@ ActiveRecord::Schema.define(version: 20171026082505) do add_index "gpg_signatures", ["gpg_key_subkey_id"], name: "index_gpg_signatures_on_gpg_key_subkey_id", using: :btree add_index "gpg_signatures", ["project_id"], name: "index_gpg_signatures_on_project_id", using: :btree + create_table "group_custom_attributes", force: :cascade do |t| + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.integer "group_id", null: false + t.string "key", null: false + t.string "value", null: false + end + + add_index "group_custom_attributes", ["group_id", "key"], name: "index_group_custom_attributes_on_group_id_and_key", unique: true, using: :btree + add_index "group_custom_attributes", ["key", "value"], name: "index_group_custom_attributes_on_key_and_value", using: :btree + create_table "identities", force: :cascade do |t| t.string "extern_uid" t.string "provider" @@ -1840,6 +1851,7 @@ ActiveRecord::Schema.define(version: 20171026082505) do add_foreign_key "gpg_signatures", "gpg_key_subkeys", on_delete: :nullify add_foreign_key "gpg_signatures", "gpg_keys", on_delete: :nullify add_foreign_key "gpg_signatures", "projects", on_delete: :cascade + add_foreign_key "group_custom_attributes", "namespaces", column: "group_id", on_delete: :cascade add_foreign_key "issue_assignees", "issues", name: "fk_b7d881734a", on_delete: :cascade add_foreign_key "issue_assignees", "users", name: "fk_5e0c8d9154", on_delete: :cascade add_foreign_key "issue_metrics", "issues", on_delete: :cascade -- cgit v1.2.1