summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2015-09-14 15:33:56 +0200
committerKamil Trzcinski <ayufan@ayufan.eu>2015-09-18 14:14:52 +0200
commitfcd2bdf1fe83a4d39a6c3af6d03d09500f93ca4d (patch)
treef13008530f1e36a83e6e5d33236dd0461ef89ee4
parente3041b90dc4b02a1bd9b68e820d19f4a58488940 (diff)
downloadgitlab-ci-migrate-tables-to-ci-prefix.tar.gz
Revert some Make it work Migrate tags and taggings to
-rw-r--r--app/controllers/admin/runners_controller.rb2
-rw-r--r--app/controllers/runners_controller.rb2
-rw-r--r--app/models/application_setting.rb1
-rw-r--r--app/models/build.rb2
-rw-r--r--app/models/commit.rb2
-rw-r--r--app/models/event.rb2
-rw-r--r--app/models/project.rb14
-rw-r--r--app/models/runner.rb4
-rw-r--r--app/models/runner_project.rb2
-rw-r--r--app/models/service.rb2
-rw-r--r--app/models/trigger.rb2
-rw-r--r--app/models/trigger_request.rb2
-rw-r--r--app/models/user.rb2
-rw-r--r--app/models/variable.rb2
-rw-r--r--app/models/web_hook.rb2
-rw-r--r--app/services/register_build_service.rb2
-rw-r--r--db/migrate/20150914102123_migrate_ci_tables.rb19
-rw-r--r--db/schema.rb106
-rw-r--r--lib/charts.rb6
-rw-r--r--lib/current_settings.rb2
-rw-r--r--lib/model.rb5
21 files changed, 115 insertions, 68 deletions
diff --git a/app/controllers/admin/runners_controller.rb b/app/controllers/admin/runners_controller.rb
index 3cb37f5..ea1119a 100644
--- a/app/controllers/admin/runners_controller.rb
+++ b/app/controllers/admin/runners_controller.rb
@@ -12,7 +12,7 @@ class Admin::RunnersController < Admin::ApplicationController
@builds = @runner.builds.order('id DESC').first(30)
@projects = Project.all
@projects = @projects.search(params[:search]) if params[:search].present?
- @projects = @projects.where("projects.id NOT IN (?)", @runner.projects.pluck(:id)) if @runner.projects.any?
+ @projects = @projects.where("ci_projects.id NOT IN (?)", @runner.projects.pluck(:id)) if @runner.projects.any?
@projects = @projects.page(params[:page]).per(30)
end
diff --git a/app/controllers/runners_controller.rb b/app/controllers/runners_controller.rb
index 2efa637..f7e770c 100644
--- a/app/controllers/runners_controller.rb
+++ b/app/controllers/runners_controller.rb
@@ -10,7 +10,7 @@ class RunnersController < ApplicationController
def index
@runners = @project.runners.order('id DESC')
@specific_runners = current_user.authorized_runners.
- where.not(id: @runners).order('runners.id DESC').page(params[:page]).per(20)
+ where.not(id: @runners).order('ci_runners.id DESC').page(params[:page]).per(20)
@shared_runners = Runner.shared.active
@shared_runners_count = @shared_runners.count(:all)
end
diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb
index f68f10a..e92a115 100644
--- a/app/models/application_setting.rb
+++ b/app/models/application_setting.rb
@@ -10,6 +10,7 @@
#
class ApplicationSetting < ActiveRecord::Base
+ extend Model
def self.current
ApplicationSetting.last
diff --git a/app/models/build.rb b/app/models/build.rb
index 913a47c..eb29332 100644
--- a/app/models/build.rb
+++ b/app/models/build.rb
@@ -24,6 +24,8 @@
#
class Build < ActiveRecord::Base
+ extend Model
+
LAZY_ATTRIBUTES = ['trace']
belongs_to :commit
diff --git a/app/models/commit.rb b/app/models/commit.rb
index 98bd35c..be260f1 100644
--- a/app/models/commit.rb
+++ b/app/models/commit.rb
@@ -16,6 +16,8 @@
#
class Commit < ActiveRecord::Base
+ extend Model
+
belongs_to :project
has_many :builds, dependent: :destroy
has_many :trigger_requests, dependent: :destroy
diff --git a/app/models/event.rb b/app/models/event.rb
index 185ebf1..e1f943d 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -12,6 +12,8 @@
#
class Event < ActiveRecord::Base
+ extend Model
+
belongs_to :project
validates :description,
diff --git a/app/models/project.rb b/app/models/project.rb
index 9b8815e..0fabd17 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -26,6 +26,8 @@
#
class Project < ActiveRecord::Base
+ extend Model
+
include ProjectStatus
has_many :commits, ->() { order('CASE WHEN commits.committed_at IS NULL THEN 0 ELSE 1 END', :committed_at, :id) }, dependent: :destroy
@@ -105,19 +107,19 @@ ls -la
end
def unassigned(runner)
- joins('LEFT JOIN runner_projects ON runner_projects.project_id = projects.id ' \
- "AND runner_projects.runner_id = #{runner.id}").
- where('runner_projects.project_id' => nil)
+ joins('LEFT JOIN ci_runner_projects ON ci_runner_projects.project_id = ci_projects.id ' \
+ "AND ci_runner_projects.runner_id = #{runner.id}").
+ where('ci_runner_projects.project_id' => nil)
end
def ordered_by_last_commit_date
- last_commit_subquery = "(SELECT project_id, MAX(committed_at) committed_at FROM commits GROUP BY project_id)"
- joins("LEFT JOIN #{last_commit_subquery} AS last_commit ON projects.id = last_commit.project_id").
+ last_commit_subquery = "(SELECT project_id, MAX(committed_at) committed_at FROM ci_commits GROUP BY project_id)"
+ joins("LEFT JOIN #{last_commit_subquery} AS last_commit ON ci_projects.id = last_commit.project_id").
order("CASE WHEN last_commit.committed_at IS NULL THEN 1 ELSE 0 END, last_commit.committed_at DESC")
end
def search(query)
- where('LOWER(projects.name) LIKE :query',
+ where('LOWER(ci_projects.name) LIKE :query',
query: "%#{query.try(:downcase)}%")
end
end
diff --git a/app/models/runner.rb b/app/models/runner.rb
index a0a198c..d3417bd 100644
--- a/app/models/runner.rb
+++ b/app/models/runner.rb
@@ -18,6 +18,8 @@
#
class Runner < ActiveRecord::Base
+ extend Model
+
has_many :builds
has_many :runner_projects, dependent: :destroy
has_many :projects, through: :runner_projects
@@ -34,7 +36,7 @@ class Runner < ActiveRecord::Base
acts_as_taggable
def self.search(query)
- where('LOWER(runners.token) LIKE :query OR LOWER(runners.description) like :query',
+ where('LOWER(ci_runners.token) LIKE :query OR LOWER(ci_runners.description) like :query',
query: "%#{query.try(:downcase)}%")
end
diff --git a/app/models/runner_project.rb b/app/models/runner_project.rb
index 6907677..e39a273 100644
--- a/app/models/runner_project.rb
+++ b/app/models/runner_project.rb
@@ -10,6 +10,8 @@
#
class RunnerProject < ActiveRecord::Base
+ extend Model
+
belongs_to :runner
belongs_to :project
diff --git a/app/models/service.rb b/app/models/service.rb
index 714d4a9..ad225ab 100644
--- a/app/models/service.rb
+++ b/app/models/service.rb
@@ -15,6 +15,8 @@
# To add new service you should build a class inherited from Service
# and implement a set of methods
class Service < ActiveRecord::Base
+ extend Model
+
serialize :properties, JSON
default_value_for :active, false
diff --git a/app/models/trigger.rb b/app/models/trigger.rb
index 26d9893..e2dc186 100644
--- a/app/models/trigger.rb
+++ b/app/models/trigger.rb
@@ -11,6 +11,8 @@
#
class Trigger < ActiveRecord::Base
+ extend Model
+
acts_as_paranoid
belongs_to :project
diff --git a/app/models/trigger_request.rb b/app/models/trigger_request.rb
index 180c23f..5b0861b 100644
--- a/app/models/trigger_request.rb
+++ b/app/models/trigger_request.rb
@@ -11,6 +11,8 @@
#
class TriggerRequest < ActiveRecord::Base
+ extend Model
+
belongs_to :trigger
belongs_to :commit
has_many :builds
diff --git a/app/models/user.rb b/app/models/user.rb
index 2dd80dd..c934dd8 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -67,7 +67,7 @@ class User
def authorized_runners
Runner.specific.includes(:runner_projects).
- where(runner_projects: { project_id: authorized_projects } )
+ where(ci_runner_projects: { project_id: authorized_projects } )
end
def authorized_projects
diff --git a/app/models/variable.rb b/app/models/variable.rb
index c084b89..82d6c4e 100644
--- a/app/models/variable.rb
+++ b/app/models/variable.rb
@@ -12,6 +12,8 @@
#
class Variable < ActiveRecord::Base
+ extend Model
+
belongs_to :project
validates_presence_of :key
diff --git a/app/models/web_hook.rb b/app/models/web_hook.rb
index 9a284d8..5465684 100644
--- a/app/models/web_hook.rb
+++ b/app/models/web_hook.rb
@@ -10,6 +10,8 @@
#
class WebHook < ActiveRecord::Base
+ extend Model
+
include HTTParty
belongs_to :project
diff --git a/app/services/register_build_service.rb b/app/services/register_build_service.rb
index b15e762..c04b6a1 100644
--- a/app/services/register_build_service.rb
+++ b/app/services/register_build_service.rb
@@ -7,7 +7,7 @@ class RegisterBuildService
builds =
if current_runner.shared?
# don't run projects which have not enables shared runners
- builds.includes(:project).where(projects: { shared_runners_enabled: true })
+ builds.includes(:project).where(ci_projects: { shared_runners_enabled: true })
else
# do run projects which are only assigned to this runner
builds.where(project_id: current_runner.projects)
diff --git a/db/migrate/20150914102123_migrate_ci_tables.rb b/db/migrate/20150914102123_migrate_ci_tables.rb
new file mode 100644
index 0000000..639f8f5
--- /dev/null
+++ b/db/migrate/20150914102123_migrate_ci_tables.rb
@@ -0,0 +1,19 @@
+class MigrateCiTables < ActiveRecord::Migration
+ def up
+ rename_table :application_settings, :ci_application_settings
+ rename_table :builds, :ci_builds
+ rename_table :commits, :ci_commits
+ rename_table :events, :ci_events
+ rename_table :jobs, :ci_jobs
+ rename_table :projects, :ci_projects
+ rename_table :runner_projects, :ci_runner_projects
+ rename_table :runners, :ci_runners
+ rename_table :services, :ci_services
+ rename_table :tags, :ci_tags
+ rename_table :taggings, :ci_taggings
+ rename_table :trigger_requests, :ci_trigger_requests
+ rename_table :triggers, :ci_triggers
+ rename_table :variables, :ci_variables
+ rename_table :web_hooks, :ci_web_hooks
+ end
+end
diff --git a/db/schema.rb b/db/schema.rb
index db684af..c7bfef4 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -11,19 +11,19 @@
#
# It's strongly recommended that you check this file into your version control system.
-ActiveRecord::Schema.define(version: 20150824202238) do
+ActiveRecord::Schema.define(version: 20150914102123) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
- create_table "application_settings", force: true do |t|
+ create_table "ci_application_settings", force: true do |t|
t.boolean "all_broken_builds"
t.boolean "add_pusher"
t.datetime "created_at"
t.datetime "updated_at"
end
- create_table "builds", force: true do |t|
+ create_table "ci_builds", force: true do |t|
t.integer "project_id"
t.string "status"
t.datetime "finished_at"
@@ -44,12 +44,12 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.integer "trigger_request_id"
end
- add_index "builds", ["commit_id"], name: "index_builds_on_commit_id", using: :btree
- add_index "builds", ["project_id", "commit_id"], name: "index_builds_on_project_id_and_commit_id", using: :btree
- add_index "builds", ["project_id"], name: "index_builds_on_project_id", using: :btree
- add_index "builds", ["runner_id"], name: "index_builds_on_runner_id", using: :btree
+ add_index "ci_builds", ["commit_id"], name: "index_ci_builds_on_commit_id", using: :btree
+ add_index "ci_builds", ["project_id", "commit_id"], name: "index_ci_builds_on_project_id_and_commit_id", using: :btree
+ add_index "ci_builds", ["project_id"], name: "index_ci_builds_on_project_id", using: :btree
+ add_index "ci_builds", ["runner_id"], name: "index_ci_builds_on_runner_id", using: :btree
- create_table "commits", force: true do |t|
+ create_table "ci_commits", force: true do |t|
t.integer "project_id"
t.string "ref"
t.string "sha"
@@ -62,13 +62,13 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.datetime "committed_at"
end
- add_index "commits", ["project_id", "committed_at", "id"], name: "index_commits_on_project_id_and_committed_at_and_id", using: :btree
- add_index "commits", ["project_id", "committed_at"], name: "index_commits_on_project_id_and_committed_at", using: :btree
- add_index "commits", ["project_id", "sha"], name: "index_commits_on_project_id_and_sha", using: :btree
- add_index "commits", ["project_id"], name: "index_commits_on_project_id", using: :btree
- add_index "commits", ["sha"], name: "index_commits_on_sha", using: :btree
+ add_index "ci_commits", ["project_id", "committed_at", "id"], name: "index_ci_commits_on_project_id_and_committed_at_and_id", using: :btree
+ add_index "ci_commits", ["project_id", "committed_at"], name: "index_ci_commits_on_project_id_and_committed_at", using: :btree
+ add_index "ci_commits", ["project_id", "sha"], name: "index_ci_commits_on_project_id_and_sha", using: :btree
+ add_index "ci_commits", ["project_id"], name: "index_ci_commits_on_project_id", using: :btree
+ add_index "ci_commits", ["sha"], name: "index_ci_commits_on_sha", using: :btree
- create_table "events", force: true do |t|
+ create_table "ci_events", force: true do |t|
t.integer "project_id"
t.integer "user_id"
t.integer "is_admin"
@@ -77,11 +77,11 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.datetime "updated_at"
end
- add_index "events", ["created_at"], name: "index_events_on_created_at", using: :btree
- add_index "events", ["is_admin"], name: "index_events_on_is_admin", using: :btree
- add_index "events", ["project_id"], name: "index_events_on_project_id", using: :btree
+ add_index "ci_events", ["created_at"], name: "index_ci_events_on_created_at", using: :btree
+ add_index "ci_events", ["is_admin"], name: "index_ci_events_on_is_admin", using: :btree
+ add_index "ci_events", ["project_id"], name: "index_ci_events_on_project_id", using: :btree
- create_table "jobs", force: true do |t|
+ create_table "ci_jobs", force: true do |t|
t.integer "project_id", null: false
t.text "commands"
t.boolean "active", default: true, null: false
@@ -95,10 +95,10 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.datetime "deleted_at"
end
- add_index "jobs", ["deleted_at"], name: "index_jobs_on_deleted_at", using: :btree
- add_index "jobs", ["project_id"], name: "index_jobs_on_project_id", using: :btree
+ add_index "ci_jobs", ["deleted_at"], name: "index_ci_jobs_on_deleted_at", using: :btree
+ add_index "ci_jobs", ["project_id"], name: "index_ci_jobs_on_project_id", using: :btree
- create_table "projects", force: true do |t|
+ create_table "ci_projects", force: true do |t|
t.string "name", null: false
t.integer "timeout", default: 3600, null: false
t.datetime "created_at"
@@ -121,17 +121,17 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.text "generated_yaml_config"
end
- create_table "runner_projects", force: true do |t|
+ create_table "ci_runner_projects", force: true do |t|
t.integer "runner_id", null: false
t.integer "project_id", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
- add_index "runner_projects", ["project_id"], name: "index_runner_projects_on_project_id", using: :btree
- add_index "runner_projects", ["runner_id"], name: "index_runner_projects_on_runner_id", using: :btree
+ add_index "ci_runner_projects", ["project_id"], name: "index_ci_runner_projects_on_project_id", using: :btree
+ add_index "ci_runner_projects", ["runner_id"], name: "index_ci_runner_projects_on_runner_id", using: :btree
- create_table "runners", force: true do |t|
+ create_table "ci_runners", force: true do |t|
t.string "token"
t.datetime "created_at"
t.datetime "updated_at"
@@ -146,7 +146,7 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.string "architecture"
end
- create_table "services", force: true do |t|
+ create_table "ci_services", force: true do |t|
t.string "type"
t.string "title"
t.integer "project_id", null: false
@@ -156,7 +156,7 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.text "properties"
end
- add_index "services", ["project_id"], name: "index_services_on_project_id", using: :btree
+ add_index "ci_services", ["project_id"], name: "index_ci_services_on_project_id", using: :btree
create_table "sessions", force: true do |t|
t.string "session_id", null: false
@@ -168,27 +168,7 @@ ActiveRecord::Schema.define(version: 20150824202238) do
add_index "sessions", ["session_id"], name: "index_sessions_on_session_id", using: :btree
add_index "sessions", ["updated_at"], name: "index_sessions_on_updated_at", using: :btree
- create_table "taggings", force: true do |t|
- t.integer "tag_id"
- t.integer "taggable_id"
- t.string "taggable_type"
- t.integer "tagger_id"
- t.string "tagger_type"
- t.string "context", limit: 128
- t.datetime "created_at"
- end
-
- add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
- add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
-
- create_table "tags", force: true do |t|
- t.string "name"
- t.integer "taggings_count", default: 0
- end
-
- add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree
-
- create_table "trigger_requests", force: true do |t|
+ create_table "ci_trigger_requests", force: true do |t|
t.integer "trigger_id", null: false
t.text "variables"
t.datetime "created_at"
@@ -196,7 +176,7 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.integer "commit_id"
end
- create_table "triggers", force: true do |t|
+ create_table "ci_triggers", force: true do |t|
t.string "token"
t.integer "project_id", null: false
t.datetime "deleted_at"
@@ -204,9 +184,9 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.datetime "updated_at"
end
- add_index "triggers", ["deleted_at"], name: "index_triggers_on_deleted_at", using: :btree
+ add_index "ci_triggers", ["deleted_at"], name: "index_ci_triggers_on_deleted_at", using: :btree
- create_table "variables", force: true do |t|
+ create_table "ci_variables", force: true do |t|
t.integer "project_id", null: false
t.string "key"
t.text "value"
@@ -215,13 +195,33 @@ ActiveRecord::Schema.define(version: 20150824202238) do
t.string "encrypted_value_iv"
end
- add_index "variables", ["project_id"], name: "index_variables_on_project_id", using: :btree
+ add_index "ci_variables", ["project_id"], name: "index_ci_variables_on_project_id", using: :btree
- create_table "web_hooks", force: true do |t|
+ create_table "ci_web_hooks", force: true do |t|
t.string "url", null: false
t.integer "project_id", null: false
t.datetime "created_at"
t.datetime "updated_at"
end
+ create_table "taggings", force: true do |t|
+ t.integer "tag_id"
+ t.integer "taggable_id"
+ t.string "taggable_type"
+ t.integer "tagger_id"
+ t.string "tagger_type"
+ t.string "context", limit: 128
+ t.datetime "created_at"
+ end
+
+ add_index "taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
+ add_index "taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
+
+ create_table "tags", force: true do |t|
+ t.string "name"
+ t.integer "taggings_count", default: 0
+ end
+
+ add_index "tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree
+
end
diff --git a/lib/charts.rb b/lib/charts.rb
index 93e81a5..2472050 100644
--- a/lib/charts.rb
+++ b/lib/charts.rb
@@ -16,10 +16,10 @@ module Charts
def push(from, to, format)
@labels << from.strftime(format)
@total << project.builds.
- where('? > builds.created_at AND builds.created_at > ?', to, from).
+ where('? > ci_builds.created_at AND ci_builds.created_at > ?', to, from).
count(:all)
@success << project.builds.
- where('? > builds.created_at AND builds.created_at > ?', to, from).
+ where('? > ci_builds.created_at AND ci_builds.created_at > ?', to, from).
success.count(:all)
end
end
@@ -59,7 +59,7 @@ module Charts
class BuildTime < Chart
def collect
- commits = project.commits.joins(:builds).where('builds.finished_at is NOT NULL AND builds.started_at is NOT NULL').last(30)
+ commits = project.commits.joins(:builds).where('ci_builds.finished_at is NOT NULL AND ci_builds.started_at is NOT NULL').last(30)
commits.each do |commit|
@labels << commit.short_sha
@build_times << (commit.duration / 60)
diff --git a/lib/current_settings.rb b/lib/current_settings.rb
index 59dedfd..a8c89d4 100644
--- a/lib/current_settings.rb
+++ b/lib/current_settings.rb
@@ -3,7 +3,7 @@ module CurrentSettings
key = :current_application_settings
RequestStore.store[key] ||= begin
- if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings')
+ if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('ci_application_settings')
ApplicationSetting.current || ApplicationSetting.create_from_defaults
else
fake_application_settings
diff --git a/lib/model.rb b/lib/model.rb
new file mode 100644
index 0000000..dc077c3
--- /dev/null
+++ b/lib/model.rb
@@ -0,0 +1,5 @@
+module Model
+ def table_name_prefix
+ 'ci_'
+ end
+end