summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorAndreas Brandl <abrandl@gitlab.com>2018-03-01 15:42:04 +0100
committerAndreas Brandl <abrandl@gitlab.com>2018-03-06 12:53:14 +0100
commit43b74afd8656df8228c19d5e5e6aee9f87abc244 (patch)
treec1f4a7b09d53af65ed13774e30f2a27be38c8052 /db
parent986f470d40a3ed993bb6b2c2115a05c24eb575fa (diff)
downloadgitlab-ce-43b74afd8656df8228c19d5e5e6aee9f87abc244.tar.gz
Rename to UserInteractedProjects.
This is to avoid a mix-up with the existing concept of 'user contributions'. See `User#contributed_projects` or `Event#contributions`.
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20180223120443_create_user_contributed_projects_table.rb21
-rw-r--r--db/migrate/20180223120443_create_user_interacted_projects_table.rb21
-rw-r--r--db/post_migrate/20180223124427_build_user_interacted_projects_table.rb (renamed from db/post_migrate/20180223124427_build_user_contributed_projects_table.rb)24
-rw-r--r--db/schema.rb18
4 files changed, 42 insertions, 42 deletions
diff --git a/db/migrate/20180223120443_create_user_contributed_projects_table.rb b/db/migrate/20180223120443_create_user_contributed_projects_table.rb
deleted file mode 100644
index 2f7b6c578c3..00000000000
--- a/db/migrate/20180223120443_create_user_contributed_projects_table.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-class CreateUserContributedProjectsTable < ActiveRecord::Migration
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- def up
- create_table :user_contributed_projects, id: false do |t|
- t.references :user, null: false
- t.references :project, null: false
- end
-
- add_concurrent_foreign_key :user_contributed_projects, :users, column: :user_id, on_delete: :cascade
- add_concurrent_foreign_key :user_contributed_projects, :projects, column: :project_id, on_delete: :cascade
- end
-
- def down
- drop_table :user_contributed_projects
- end
-end
diff --git a/db/migrate/20180223120443_create_user_interacted_projects_table.rb b/db/migrate/20180223120443_create_user_interacted_projects_table.rb
new file mode 100644
index 00000000000..8089de45666
--- /dev/null
+++ b/db/migrate/20180223120443_create_user_interacted_projects_table.rb
@@ -0,0 +1,21 @@
+class CreateUserInteractedProjectsTable < ActiveRecord::Migration
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ def up
+ create_table :user_interacted_projects, id: false do |t|
+ t.references :user, null: false
+ t.references :project, null: false
+ end
+
+ add_concurrent_foreign_key :user_interacted_projects, :users, column: :user_id, on_delete: :cascade
+ add_concurrent_foreign_key :user_interacted_projects, :projects, column: :project_id, on_delete: :cascade
+ end
+
+ def down
+ drop_table :user_interacted_projects
+ end
+end
diff --git a/db/post_migrate/20180223124427_build_user_contributed_projects_table.rb b/db/post_migrate/20180223124427_build_user_interacted_projects_table.rb
index ede130a3fbf..0992509c629 100644
--- a/db/post_migrate/20180223124427_build_user_contributed_projects_table.rb
+++ b/db/post_migrate/20180223124427_build_user_interacted_projects_table.rb
@@ -1,4 +1,4 @@
-class BuildUserContributedProjectsTable < ActiveRecord::Migration
+class BuildUserInteractedProjectsTable < ActiveRecord::Migration
include Gitlab::Database::MigrationHelpers
# Set this constant to true if this migration requires downtime.
@@ -13,13 +13,13 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
MysqlStrategy.new
end.up
- add_concurrent_index :user_contributed_projects, [:project_id, :user_id], unique: true
+ add_concurrent_index :user_interacted_projects, [:project_id, :user_id], unique: true
end
def down
- execute "TRUNCATE user_contributed_projects"
+ execute "TRUNCATE user_interacted_projects"
- remove_concurrent_index_by_name :user_contributed_projects, 'index_user_contributed_projects_on_project_id_and_user_id'
+ remove_concurrent_index_by_name :user_interacted_projects, 'index_user_interacted_projects_on_project_id_and_user_id'
end
private
@@ -31,22 +31,22 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
SLEEP_TIME = 5
def up
- with_index(:events, [:author_id, :project_id], name: 'events_user_contributions_temp', where: 'project_id IS NOT NULL') do
+ with_index(:events, [:author_id, :project_id], name: 'events_user_interactions_temp', where: 'project_id IS NOT NULL') do
iteration = 0
records = 0
begin
- Rails.logger.info "Building user_contributed_projects table, batch ##{iteration}"
+ Rails.logger.info "Building user_interacted_projects table, batch ##{iteration}"
result = execute <<~SQL
- INSERT INTO user_contributed_projects (user_id, project_id)
+ INSERT INTO user_interacted_projects (user_id, project_id)
SELECT e.user_id, e.project_id
FROM (SELECT DISTINCT author_id AS user_id, project_id FROM events WHERE project_id IS NOT NULL) AS e
- LEFT JOIN user_contributed_projects ucp USING (user_id, project_id)
+ LEFT JOIN user_interacted_projects ucp USING (user_id, project_id)
WHERE ucp.user_id IS NULL
LIMIT #{BATCH_SIZE}
SQL
iteration += 1
records += result.cmd_tuples
- Rails.logger.info "Building user_contributed_projects table, batch ##{iteration} complete, created #{records} overall"
+ Rails.logger.info "Building user_interacted_projects table, batch ##{iteration} complete, created #{records} overall"
Kernel.sleep(SLEEP_TIME) if result.cmd_tuples > 0
rescue ActiveRecord::InvalidForeignKey => e
Rails.logger.info "Retry on InvalidForeignKey: #{e}"
@@ -54,7 +54,7 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
end while result.cmd_tuples > 0
end
- execute "ANALYZE user_contributed_projects"
+ execute "ANALYZE user_interacted_projects"
end
@@ -73,10 +73,10 @@ class BuildUserContributedProjectsTable < ActiveRecord::Migration
def up
execute <<~SQL
- INSERT INTO user_contributed_projects (user_id, project_id)
+ INSERT INTO user_interacted_projects (user_id, project_id)
SELECT e.user_id, e.project_id
FROM (SELECT DISTINCT author_id AS user_id, project_id FROM events WHERE project_id IS NOT NULL) AS e
- LEFT JOIN user_contributed_projects ucp USING (user_id, project_id)
+ LEFT JOIN user_interacted_projects ucp USING (user_id, project_id)
WHERE ucp.user_id IS NULL
SQL
end
diff --git a/db/schema.rb b/db/schema.rb
index 8366957f691..b94c8af273a 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -1815,13 +1815,6 @@ ActiveRecord::Schema.define(version: 20180304204842) do
add_index "user_callouts", ["user_id", "feature_name"], name: "index_user_callouts_on_user_id_and_feature_name", unique: true, using: :btree
add_index "user_callouts", ["user_id"], name: "index_user_callouts_on_user_id", using: :btree
- create_table "user_contributed_projects", id: false, force: :cascade do |t|
- t.integer "user_id", null: false
- t.integer "project_id", null: false
- end
-
- add_index "user_contributed_projects", ["project_id", "user_id"], name: "index_user_contributed_projects_on_project_id_and_user_id", unique: true, using: :btree
-
create_table "user_custom_attributes", force: :cascade do |t|
t.datetime_with_timezone "created_at", null: false
t.datetime_with_timezone "updated_at", null: false
@@ -1833,6 +1826,13 @@ ActiveRecord::Schema.define(version: 20180304204842) do
add_index "user_custom_attributes", ["key", "value"], name: "index_user_custom_attributes_on_key_and_value", using: :btree
add_index "user_custom_attributes", ["user_id", "key"], name: "index_user_custom_attributes_on_user_id_and_key", unique: true, using: :btree
+ create_table "user_interacted_projects", id: false, force: :cascade do |t|
+ t.integer "user_id", null: false
+ t.integer "project_id", null: false
+ end
+
+ add_index "user_interacted_projects", ["project_id", "user_id"], name: "index_user_interacted_projects_on_project_id_and_user_id", unique: true, using: :btree
+
create_table "user_synced_attributes_metadata", force: :cascade do |t|
t.boolean "name_synced", default: false
t.boolean "email_synced", default: false
@@ -2101,9 +2101,9 @@ ActiveRecord::Schema.define(version: 20180304204842) do
add_foreign_key "trending_projects", "projects", on_delete: :cascade
add_foreign_key "u2f_registrations", "users"
add_foreign_key "user_callouts", "users", on_delete: :cascade
- add_foreign_key "user_contributed_projects", "projects", name: "fk_6fe26e92ae", on_delete: :cascade
- add_foreign_key "user_contributed_projects", "users", name: "fk_285db038d3", on_delete: :cascade
add_foreign_key "user_custom_attributes", "users", on_delete: :cascade
+ add_foreign_key "user_interacted_projects", "projects", name: "fk_722ceba4f7", on_delete: :cascade
+ add_foreign_key "user_interacted_projects", "users", name: "fk_0894651f08", on_delete: :cascade
add_foreign_key "user_synced_attributes_metadata", "users", on_delete: :cascade
add_foreign_key "users_star_projects", "projects", name: "fk_22cd27ddfc", on_delete: :cascade
add_foreign_key "web_hook_logs", "web_hooks", on_delete: :cascade