summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorKamil TrzciƄski <ayufan@ayufan.eu>2018-04-05 23:37:39 +0200
committerMayra Cabrera <mcabrera@gitlab.com>2018-04-06 21:20:16 -0500
commit6b2954ec8a2e17c913872c32386cb2b08f2db1c2 (patch)
tree5f29317c20cf7a6f04c24a7aa5ab473b053728bc /db
parent8315861c9a50675b4f4f4ca536f0da90f27994f3 (diff)
downloadgitlab-ce-6b2954ec8a2e17c913872c32386cb2b08f2db1c2.tar.gz
Fix and optimise DB schema
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20180319190020_create_deploy_tokens.rb11
-rw-r--r--db/migrate/20180405142733_create_project_deploy_tokens.rb15
-rw-r--r--db/schema.rb14
3 files changed, 19 insertions, 21 deletions
diff --git a/db/migrate/20180319190020_create_deploy_tokens.rb b/db/migrate/20180319190020_create_deploy_tokens.rb
index dfe85b3b552..6a681ba79d6 100644
--- a/db/migrate/20180319190020_create_deploy_tokens.rb
+++ b/db/migrate/20180319190020_create_deploy_tokens.rb
@@ -3,14 +3,15 @@ class CreateDeployTokens < ActiveRecord::Migration
def change
create_table :deploy_tokens do |t|
- t.string :name, null: false
- t.string :token, index: { unique: true }, null: false
- t.boolean :read_repository, default: false
- t.boolean :read_registry, default: false
t.boolean :revoked, default: false
- t.datetime :expires_at
+ t.boolean :read_repository, null: false, default: false
+ t.boolean :read_registry, null: false, default: false
+ t.datetime :expires_at
t.timestamps null: false
+
+ t.string :name, null: false
+ t.string :token, index: { unique: true }, null: false
end
end
end
diff --git a/db/migrate/20180405142733_create_project_deploy_tokens.rb b/db/migrate/20180405142733_create_project_deploy_tokens.rb
index c12f468828b..6cfb092a420 100644
--- a/db/migrate/20180405142733_create_project_deploy_tokens.rb
+++ b/db/migrate/20180405142733_create_project_deploy_tokens.rb
@@ -3,22 +3,17 @@ class CreateProjectDeployTokens < ActiveRecord::Migration
DOWNTIME = false
- disable_ddl_transaction!
-
- def up
+ def change
create_table :project_deploy_tokens do |t|
t.integer :project_id, null: false
t.integer :deploy_token_id, null: false
+ t.foreign_key :deploy_tokens, column: :deploy_token_id, on_delete: :cascade
+ t.foreign_key :projects, column: :project_id, on_delete: :cascade
+
t.timestamps null: false
end
- add_concurrent_index :project_deploy_tokens, [:project_id, :deploy_token_id]
- end
-
- def down
- drop_table :project_deploy_tokens
-
- remove_index :project_deploy_tokens, column: [:project_id, :deploy_token_id] if index_exists?(:project_deploy_tokens, [:project_id, :deploy_token_id])
+ add_index :project_deploy_tokens, [:project_id, :deploy_token_id], unique: true
end
end
diff --git a/db/schema.rb b/db/schema.rb
index 6f1f3ba3e89..50b8635cb96 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -684,14 +684,14 @@ ActiveRecord::Schema.define(version: 20180405142733) do
add_index "deploy_keys_projects", ["project_id"], name: "index_deploy_keys_projects_on_project_id", using: :btree
create_table "deploy_tokens", force: :cascade do |t|
- t.string "name", null: false
- t.string "token", null: false
- t.boolean "read_repository", default: false
- t.boolean "read_registry", default: false
t.boolean "revoked", default: false
+ t.boolean "read_repository", default: false, null: false
+ t.boolean "read_registry", default: false, null: false
t.datetime "expires_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.string "name", null: false
+ t.string "token", null: false
end
add_index "deploy_tokens", ["token"], name: "index_deploy_tokens_on_token", unique: true, using: :btree
@@ -1450,7 +1450,7 @@ ActiveRecord::Schema.define(version: 20180405142733) do
t.datetime "updated_at", null: false
end
- add_index "project_deploy_tokens", ["project_id", "deploy_token_id"], name: "index_project_deploy_tokens_on_project_id_and_deploy_token_id", using: :btree
+ add_index "project_deploy_tokens", ["project_id", "deploy_token_id"], name: "index_project_deploy_tokens_on_project_id_and_deploy_token_id", unique: true, using: :btree
create_table "project_features", force: :cascade do |t|
t.integer "project_id"
@@ -1639,6 +1639,7 @@ ActiveRecord::Schema.define(version: 20180405142733) do
t.string "path", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
+ t.boolean "permanent"
end
add_index "redirect_routes", ["path"], name: "index_redirect_routes_on_path", unique: true, using: :btree
@@ -2094,7 +2095,6 @@ ActiveRecord::Schema.define(version: 20180405142733) do
add_foreign_key "clusters_applications_runners", "clusters", on_delete: :cascade
add_foreign_key "container_repositories", "projects"
add_foreign_key "deploy_keys_projects", "projects", name: "fk_58a901ca7e", on_delete: :cascade
- add_foreign_key "deploy_tokens", "projects"
add_foreign_key "deployments", "projects", name: "fk_b9a3851b82", on_delete: :cascade
add_foreign_key "environments", "projects", name: "fk_d1c8c1da6a", on_delete: :cascade
add_foreign_key "events", "projects", on_delete: :cascade
@@ -2160,6 +2160,8 @@ ActiveRecord::Schema.define(version: 20180405142733) do
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_deploy_tokens", "deploy_tokens", on_delete: :cascade
+ add_foreign_key "project_deploy_tokens", "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