Remove db/ci
This commit is contained in:
parent
7ba5e4333b
commit
ec8e2463db
90 changed files with 0 additions and 1103 deletions
|
@ -1,14 +0,0 @@
|
|||
class CreateProjects < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :projects do |t|
|
||||
t.string :name, null: false
|
||||
t.string :path, null: false
|
||||
t.integer :timeout, null: false, default: 1800
|
||||
t.text :scripts, null: false
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,15 +0,0 @@
|
|||
class CreateBuilds < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :builds do |t|
|
||||
t.integer :project_id
|
||||
t.string :commit_ref
|
||||
t.string :status
|
||||
t.datetime :finished_at
|
||||
t.text :trace
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,46 +0,0 @@
|
|||
class DeviseCreateUsers < ActiveRecord::Migration
|
||||
def change
|
||||
create_table(:users) do |t|
|
||||
## Database authenticatable
|
||||
t.string :email, :null => false, :default => ""
|
||||
t.string :encrypted_password, :null => false, :default => ""
|
||||
|
||||
## Recoverable
|
||||
t.string :reset_password_token
|
||||
t.datetime :reset_password_sent_at
|
||||
|
||||
## Rememberable
|
||||
t.datetime :remember_created_at
|
||||
|
||||
## Trackable
|
||||
t.integer :sign_in_count, :default => 0
|
||||
t.datetime :current_sign_in_at
|
||||
t.datetime :last_sign_in_at
|
||||
t.string :current_sign_in_ip
|
||||
t.string :last_sign_in_ip
|
||||
|
||||
## Confirmable
|
||||
# t.string :confirmation_token
|
||||
# t.datetime :confirmed_at
|
||||
# t.datetime :confirmation_sent_at
|
||||
# t.string :unconfirmed_email # Only if using reconfirmable
|
||||
|
||||
## Lockable
|
||||
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
|
||||
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
||||
# t.datetime :locked_at
|
||||
|
||||
## Token authenticatable
|
||||
# t.string :authentication_token
|
||||
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :users, :email, :unique => true
|
||||
add_index :users, :reset_password_token, :unique => true
|
||||
# add_index :users, :confirmation_token, :unique => true
|
||||
# add_index :users, :unlock_token, :unique => true
|
||||
# add_index :users, :authentication_token, :unique => true
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddTokenToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :token, :string, null: true
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class AddRefFunctionality < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :builds, :commit_ref, :ref
|
||||
add_column :builds, :sha, :string
|
||||
add_column :projects, :default_ref, :string
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddGitlabUrlToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :gitlab_url, :string, null: true
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddStartedAtToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :started_at, :datetime, null: true
|
||||
end
|
||||
end
|
|
@ -1,8 +0,0 @@
|
|||
class IncreateTraceColunmLimit < ActiveRecord::Migration
|
||||
def up
|
||||
change_column :builds, :trace, :text, :limit => 1073741823
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddTmpFileToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :tmp_file, :string
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddBeforeShaToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :before_sha, :string, null: true
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddScheduleToProjects < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :always_build, :boolean, default: false, null: false
|
||||
add_column :projects, :polling_interval, :string, null: true
|
||||
end
|
||||
end
|
|
@ -1,25 +0,0 @@
|
|||
class ChangeScheduleInvertal < ActiveRecord::Migration
|
||||
def up
|
||||
if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
|
||||
connection.execute(%q{
|
||||
ALTER TABLE projects
|
||||
ALTER COLUMN polling_interval
|
||||
TYPE integer USING CAST(polling_interval AS integer)
|
||||
})
|
||||
else
|
||||
change_column :projects, :polling_interval, :integer, null: true
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
|
||||
connection.execute(%q{
|
||||
ALTER TABLE projects
|
||||
ALTER COLUMN polling_interval
|
||||
TYPE integer USING CAST(polling_interval AS varchar)
|
||||
})
|
||||
else
|
||||
change_column :projects, :polling_interval, :string, null: true
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddPublicFlagToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :public, :boolean, null: false, default: false
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddDataFieldToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :push_data, :text
|
||||
end
|
||||
end
|
|
@ -1,8 +0,0 @@
|
|||
class RemovePathFieldFromProject < ActiveRecord::Migration
|
||||
def up
|
||||
remove_column :projects, :path
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class CreateRunners < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :runners do |t|
|
||||
t.string :token
|
||||
t.text :public_key
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddRunnerIdToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :runner_id, :integer
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RemoveUsersTable < ActiveRecord::Migration
|
||||
def up
|
||||
drop_table :users
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddMoreFieldsToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :ssh_url_to_repo, :string
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class CreateRunnerProjects < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :runner_projects do |t|
|
||||
t.integer :runner_id, null: false
|
||||
t.integer :project_id, null: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddProjectGitlabIdToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :gitlab_id, :integer
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddIndexProjectIdToBuilds < ActiveRecord::Migration
|
||||
def change
|
||||
add_index :builds, :project_id
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddDescriptionToRunner < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :runners, :description, :string
|
||||
end
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
class AddDbIndex < ActiveRecord::Migration
|
||||
def change
|
||||
add_index :builds, :runner_id
|
||||
add_index :runner_projects, :runner_id
|
||||
add_index :runner_projects, :project_id
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class ChangePushDataLimit < ActiveRecord::Migration
|
||||
def change
|
||||
change_column :builds, :push_data, :text, :limit => 16777215
|
||||
end
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
class AddSessionsTable < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :sessions do |t|
|
||||
t.string :session_id, :null => false
|
||||
t.text :data
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :sessions, :session_id
|
||||
add_index :sessions, :updated_at
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddAllowGitFetchToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :allow_git_fetch, :boolean, default: true, null: false
|
||||
end
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
class AddEmailNotificationFieldsToProject < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :email_recipients, :string, default: '', null: false
|
||||
add_column :projects, :email_add_committer, :boolean, default: true, null: false
|
||||
add_column :projects, :email_all_broken_builds, :boolean, default: true, null: false
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RenameProjectFields < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :projects, :email_all_broken_builds, :email_only_broken_builds
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class CreateWebHook < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :web_hooks do |t|
|
||||
t.string :url, null: false
|
||||
t.integer :project_id, null: false
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RemovePublicKeyFromRunner < ActiveRecord::Migration
|
||||
def change
|
||||
remove_column :runners, :public_key
|
||||
end
|
||||
end
|
|
@ -1,22 +0,0 @@
|
|||
class CreateCommitsFromBuilds < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :commits do |t|
|
||||
t.integer :project_id
|
||||
t.string :ref, nil: false
|
||||
t.string :sha, nil: false
|
||||
t.string :before_sha, nil: false
|
||||
t.text :push_data, nil: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_column :builds, :commit_id, :integer
|
||||
|
||||
# Remove commit data from builds
|
||||
#remove_column :builds, :project_id, :integer
|
||||
#remove_column :builds, :ref, :string
|
||||
#remove_column :builds, :sha, :string
|
||||
#remove_column :builds, :before_sha, :string
|
||||
#remove_column :builds, :push_data, :text
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddSkipRefsToProjects < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :skip_refs, :string
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddCoverageParser < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :coverage_regex, :string
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddCoverageToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :coverage, :float
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddShaIndexToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_index :builds, :sha
|
||||
add_index :builds, [:project_id, :sha]
|
||||
end
|
||||
end
|
|
@ -1,21 +0,0 @@
|
|||
class MigrateBuildToCommits < ActiveRecord::Migration
|
||||
def change
|
||||
execute <<eos
|
||||
INSERT INTO commits ( sha, project_id, ref, before_sha, push_data )
|
||||
SELECT sha, project_id, ref, before_sha, push_data FROM builds
|
||||
WHERE id IN (SELECT MAX(id) FROM builds GROUP BY sha)
|
||||
eos
|
||||
|
||||
|
||||
if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
|
||||
execute <<eos
|
||||
UPDATE builds
|
||||
SET commit_id = commits.id
|
||||
FROM commits
|
||||
WHERE commits.sha = builds.sha
|
||||
eos
|
||||
else
|
||||
execute "UPDATE builds b, commits c SET b.commit_id = c.id WHERE c.sha = b.sha"
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class AddCommitIndicies < ActiveRecord::Migration
|
||||
def change
|
||||
add_index :commits, :project_id
|
||||
add_index :commits, :sha, length: 6
|
||||
add_index :commits, [:project_id, :sha]
|
||||
add_index :builds, :commit_id
|
||||
add_index :builds, [:project_id, :commit_id]
|
||||
end
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
class AddParallelToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :jobs do |t|
|
||||
t.integer :project_id, null: false
|
||||
t.text :commands
|
||||
t.boolean :active, null: false, default: true
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :jobs, :project_id
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddCommandsToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :commands, :text
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddJobIdToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :job_id, :integer
|
||||
end
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
class MigrateJobs < ActiveRecord::Migration
|
||||
def up
|
||||
Project.find_each(batch_size: 100) do |project|
|
||||
job = project.jobs.create(commands: project.scripts)
|
||||
project.builds.order('id DESC').limit(10).update_all(job_id: job.id)
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
Job.destroy_all
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddNameToJob < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :jobs, :name, :string
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RemoveScriptsFromProject < ActiveRecord::Migration
|
||||
def change
|
||||
remove_column :projects, :scripts
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RemoveInvalidBuild < ActiveRecord::Migration
|
||||
def change
|
||||
execute "DELETE FROM builds WHERE commit_id is NULL"
|
||||
end
|
||||
end
|
|
@ -1,15 +0,0 @@
|
|||
class CreateService < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :services, force: true do |t|
|
||||
t.string :type
|
||||
t.string :title
|
||||
t.integer :project_id, null: false
|
||||
t.datetime :created_at
|
||||
t.datetime :updated_at
|
||||
t.boolean :active, default: false, null: false
|
||||
t.text :properties
|
||||
end
|
||||
|
||||
add_index :services, [:project_id], name: :index_services_on_project_id, using: :btree
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddFilterToJobs < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :jobs, :build_branches, :boolean, default: true, null: false
|
||||
add_column :jobs, :build_tags, :boolean, default: false, null: false
|
||||
end
|
||||
end
|
|
@ -1,31 +0,0 @@
|
|||
# This migration comes from acts_as_taggable_on_engine (originally 1)
|
||||
class ActsAsTaggableOnMigration < ActiveRecord::Migration
|
||||
def self.up
|
||||
create_table :tags do |t|
|
||||
t.string :name
|
||||
end
|
||||
|
||||
create_table :taggings do |t|
|
||||
t.references :tag
|
||||
|
||||
# You should make sure that the column created is
|
||||
# long enough to store the required class names.
|
||||
t.references :taggable, polymorphic: true
|
||||
t.references :tagger, polymorphic: true
|
||||
|
||||
# Limit is created to prevent MySQL error on index
|
||||
# length for MyISAM table type: http://bit.ly/vgW2Ql
|
||||
t.string :context, limit: 128
|
||||
|
||||
t.datetime :created_at
|
||||
end
|
||||
|
||||
add_index :taggings, :tag_id
|
||||
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
|
||||
def self.down
|
||||
drop_table :taggings
|
||||
drop_table :tags
|
||||
end
|
||||
end
|
|
@ -1,20 +0,0 @@
|
|||
# This migration comes from acts_as_taggable_on_engine (originally 2)
|
||||
class AddMissingUniqueIndices < ActiveRecord::Migration
|
||||
def self.up
|
||||
add_index :tags, :name, unique: true
|
||||
|
||||
remove_index :taggings, :tag_id
|
||||
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
add_index :taggings,
|
||||
[:tag_id, :taggable_id, :taggable_type, :context, :tagger_id, :tagger_type],
|
||||
unique: true, name: 'taggings_idx'
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_index :tags, :name
|
||||
|
||||
remove_index :taggings, name: 'taggings_idx'
|
||||
add_index :taggings, :tag_id
|
||||
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
end
|
|
@ -1,15 +0,0 @@
|
|||
# This migration comes from acts_as_taggable_on_engine (originally 3)
|
||||
class AddTaggingsCounterCacheToTags < ActiveRecord::Migration
|
||||
def self.up
|
||||
add_column :tags, :taggings_count, :integer, default: 0
|
||||
|
||||
ActsAsTaggableOn::Tag.reset_column_information
|
||||
ActsAsTaggableOn::Tag.find_each do |tag|
|
||||
ActsAsTaggableOn::Tag.reset_counters(tag.id, :taggings)
|
||||
end
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_column :tags, :taggings_count
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
# This migration comes from acts_as_taggable_on_engine (originally 4)
|
||||
class AddMissingTaggableIndex < ActiveRecord::Migration
|
||||
def self.up
|
||||
add_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
|
||||
def self.down
|
||||
remove_index :taggings, [:taggable_id, :taggable_type, :context]
|
||||
end
|
||||
end
|
|
@ -1,21 +0,0 @@
|
|||
class BuildMissingServices < ActiveRecord::Migration
|
||||
def up
|
||||
Project.find_each do |project|
|
||||
# Slack service creation
|
||||
slack_service = select_one("SELECT id FROM services WHERE type='SlackService' AND project_id = #{project.id}")
|
||||
|
||||
unless slack_service
|
||||
execute("INSERT INTO services (type, project_id, active, properties, created_at, updated_at) \
|
||||
VALUES ('SlackService', '#{project.id}', false, '{}', NOW(), NOW())")
|
||||
end
|
||||
|
||||
# Mail service creation
|
||||
mail_service = select_one("SELECT id FROM services WHERE type='MailService' AND project_id = #{project.id}")
|
||||
|
||||
unless mail_service
|
||||
execute("INSERT INTO services (type, project_id, active, properties, created_at, updated_at) \
|
||||
VALUES ('MailService', '#{project.id}', true, '{}', NOW(), NOW())")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddJobTypeToJob < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :jobs, :job_type, :string, default: 'parallel'
|
||||
add_column :jobs, :refs, :string
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddContactedAtToRunner < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :runners, :contacted_at, :datetime, null: true
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddActiveToRunner < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :runners, :active, :boolean, null: false, default: true
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RenameCommitterToPusher < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :projects, :email_add_committer, :email_add_pusher
|
||||
end
|
||||
end
|
|
@ -1,16 +0,0 @@
|
|||
class CreateEventTable < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :events do |t|
|
||||
t.integer :project_id
|
||||
t.integer :user_id
|
||||
t.integer :is_admin
|
||||
t.text :description
|
||||
|
||||
t.timestamps
|
||||
|
||||
t.index :created_at
|
||||
t.index :is_admin
|
||||
t.index :project_id
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddSettingsForSharedRunners < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :projects, :shared_runners_enabled, :boolean, default: false
|
||||
add_column :runners, :is_shared, :boolean, default: false
|
||||
end
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
class MigrateSharedRunners < ActiveRecord::Migration
|
||||
def up
|
||||
#all shared runners should remain to be shared
|
||||
execute("UPDATE runners SET is_shared = true WHERE id NOT IN (SELECT runner_id FROM runner_projects)");
|
||||
|
||||
Project.update_all(shared_runners_enabled: true)
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,8 +0,0 @@
|
|||
class DisableSharedRunners < ActiveRecord::Migration
|
||||
def up
|
||||
execute("UPDATE projects SET shared_runners_enabled = false WHERE id IN (SELECT project_id FROM runner_projects)");
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddDeletedAtToJobs < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :jobs, :deleted_at, :datetime
|
||||
add_index :jobs, :deleted_at
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class CleanupTheBuildModel < ActiveRecord::Migration
|
||||
def change
|
||||
remove_column :builds, :push_data, :text
|
||||
remove_column :builds, :before_sha, :string
|
||||
remove_column :builds, :ref, :string
|
||||
remove_column :builds, :sha, :string
|
||||
remove_column :builds, :tmp_file, :string
|
||||
end
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
class MigrateUrlToPath < ActiveRecord::Migration
|
||||
def up
|
||||
select_all("SELECT id, gitlab_url FROM projects").each do |project|
|
||||
path = project['gitlab_url'].sub(/.*\/(.*\/.*)$/, '\1')
|
||||
execute("UPDATE projects SET gitlab_url = '#{path}' WHERE id = '#{project['id']}'")
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class RenameGitlabUrlToPath < ActiveRecord::Migration
|
||||
def change
|
||||
rename_column :projects, :gitlab_url, :path
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class AddInfoFieldsToRunner < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :runners, :name, :string
|
||||
add_column :runners, :version, :string
|
||||
add_column :runners, :revision, :string
|
||||
add_column :runners, :platform, :string
|
||||
add_column :runners, :architecture, :string
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddFieldsToBuilds < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :name, :string
|
||||
add_column :builds, :deploy, :boolean, default: false
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class MoveJobNameToBuild < ActiveRecord::Migration
|
||||
def up
|
||||
select_all("SELECT id, name FROM jobs").each do |job|
|
||||
execute("UPDATE builds SET name = '#{quote_string(job["name"])}' WHERE job_id = #{job["id"]}")
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddTagToCommits < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :commits, :tag, :boolean, default: false
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class AddYamlToProjects < ActiveRecord::Migration
|
||||
def up
|
||||
add_column :projects, :generated_yaml_config, :text
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :projects, :generated_yaml_config
|
||||
end
|
||||
end
|
|
@ -1,97 +0,0 @@
|
|||
# Migration tested on MySQL and PostgreSQL.
|
||||
# Can be performed online without errors.
|
||||
# This migration will loop through all projects and jobs, so it can take some time.
|
||||
|
||||
class MigrateJobsToYaml < ActiveRecord::Migration
|
||||
def up
|
||||
select_all("SELECT * FROM projects").each do |project|
|
||||
config = {}
|
||||
|
||||
concatenate_expression = if ActiveRecord::Base.connection.adapter_name == 'PostgreSQL'
|
||||
"string_agg(tags.name, ',')"
|
||||
else
|
||||
"GROUP_CONCAT(tags.name SEPARATOR ',')"
|
||||
end
|
||||
|
||||
sql = "SELECT j.*, #{concatenate_expression} tags
|
||||
FROM jobs j
|
||||
LEFT JOIN taggings tgs ON j.id = tgs.taggable_id AND tgs.taggable_type = 'Job'
|
||||
LEFT JOIN tags ON tgs.tag_id = tags.id
|
||||
WHERE project_id = #{project['id']}
|
||||
AND active = true
|
||||
AND job_type = 'parallel'
|
||||
GROUP BY j.id"
|
||||
|
||||
# skip_refs migrate
|
||||
skip_refs = []
|
||||
|
||||
if project["skip_refs"].present?
|
||||
skip_refs = project["skip_refs"].split(",").map(&:strip).select{|ref| ref =~ /^[\w-]*\Z/ }
|
||||
end
|
||||
|
||||
|
||||
# Create Jobs
|
||||
select_all(sql).each do |job|
|
||||
config[job["name"].to_s] = {
|
||||
script: job["commands"] && job["commands"].split("\n").map(&:strip),
|
||||
tags: job["tags"] && job["tags"].split(",").map(&:strip)
|
||||
}
|
||||
|
||||
except = build_except_param(parse_boolean_value(job["build_branches"]), parse_boolean_value(job["build_tags"]))
|
||||
except = except + skip_refs
|
||||
|
||||
if except.any?
|
||||
config[job["name"].to_s][:except] = except
|
||||
end
|
||||
end
|
||||
|
||||
# Create Deploy Jobs
|
||||
select_all(sql.sub("parallel", 'deploy')).each do |job|
|
||||
config[job["name"].to_s] = {
|
||||
script: job["commands"] && job["commands"].split("\n").map(&:strip),
|
||||
type: "deploy",
|
||||
tags: job["tags"] && job["tags"].split(",").map(&:strip)
|
||||
}
|
||||
|
||||
if job["refs"].present?
|
||||
config[job["name"].to_s][:only] = job["refs"].split(",").map(&:strip)
|
||||
else
|
||||
except = build_except_param(parse_boolean_value(job["build_branches"]), parse_boolean_value(job["build_tags"]))
|
||||
except = except + skip_refs
|
||||
|
||||
if except.any?
|
||||
config[job["name"].to_s][:except] = except
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
yaml_config = YAML.dump(config.deep_stringify_keys)
|
||||
|
||||
yaml_config.sub!("---", "# This file is generated by GitLab CI")
|
||||
|
||||
execute("UPDATE projects SET generated_yaml_config = '#{quote_string(yaml_config)}' WHERE projects.id = #{project["id"]}")
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def parse_boolean_value(value)
|
||||
[ true, 1, '1', 't', 'T', 'true', 'TRUE', 'on', 'ON' ].include?(value)
|
||||
end
|
||||
|
||||
def build_except_param(branches, tags)
|
||||
unless branches
|
||||
return ["branches"]
|
||||
end
|
||||
|
||||
unless tags
|
||||
return ["tags"]
|
||||
end
|
||||
|
||||
[]
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class ChangeDefaultBuildTimeout < ActiveRecord::Migration
|
||||
def up
|
||||
change_column :projects, :timeout, :integer, default: 3600, null: false
|
||||
end
|
||||
|
||||
def down
|
||||
change_column :projects, :timeout, :integer, default: 1800, null: false
|
||||
end
|
||||
end
|
|
@ -1,11 +0,0 @@
|
|||
class CreateVariables < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :variables do |t|
|
||||
t.integer :project_id, null: false
|
||||
t.string :key
|
||||
t.text :value
|
||||
end
|
||||
|
||||
add_index :variables, :project_id
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddErrorsToCommit < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :commits, :yaml_errors, :text
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddOptionsToBuild < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :options, :text
|
||||
end
|
||||
end
|
|
@ -1,7 +0,0 @@
|
|||
class AddEncryptedValueToVariables < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :variables, :encrypted_value, :text
|
||||
add_column :variables, :encrypted_value_salt, :string
|
||||
add_column :variables, :encrypted_value_iv, :string
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class EncryptVariables < ActiveRecord::Migration
|
||||
def up
|
||||
Variable.find_each do |variable|
|
||||
variable.update(value: variable.read_attribute(:value)) unless variable.encrypted_value
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddAllowFailureToBuilds < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :allow_failure, :boolean, default: false, null: false
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddJobTypeToBuilds < ActiveRecord::Migration
|
||||
def change
|
||||
add_column :builds, :job_type, :string
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class MigrateDeployToJobTypeForBuilds < ActiveRecord::Migration
|
||||
def up
|
||||
execute("UPDATE builds SET job_type='test' WHERE NOT deploy")
|
||||
execute("UPDATE builds SET job_type='deploy' WHERE deploy")
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class TruncateSessions < ActiveRecord::Migration
|
||||
def up
|
||||
execute('DELETE FROM sessions')
|
||||
end
|
||||
|
||||
def down
|
||||
execute('DELETE FROM sessions')
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
class CreateApplicationSettings < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :application_settings do |t|
|
||||
t.boolean :all_broken_builds
|
||||
t.boolean :add_pusher
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class RenameJobTypeToStageBuilds < ActiveRecord::Migration
|
||||
def up
|
||||
rename_column :builds, :job_type, :stage
|
||||
end
|
||||
|
||||
def down
|
||||
rename_column :builds, :stage, :job_type
|
||||
end
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
class AddCommittedAtToCommits < ActiveRecord::Migration
|
||||
def up
|
||||
add_column :commits, :committed_at, :timestamp
|
||||
add_index :commits, [:project_id, :committed_at]
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class UpdateCommittedAtWithCreatedAt < ActiveRecord::Migration
|
||||
def up
|
||||
execute('UPDATE commits SET committed_at=created_at WHERE committed_at IS NULL')
|
||||
end
|
||||
end
|
|
@ -1,12 +0,0 @@
|
|||
class CreateTrigger < ActiveRecord::Migration
|
||||
def up
|
||||
create_table :triggers do |t|
|
||||
t.string :token, null: true
|
||||
t.integer :project_id, null: false
|
||||
t.datetime :deleted_at
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_index :triggers, :deleted_at
|
||||
end
|
||||
end
|
|
@ -1,5 +0,0 @@
|
|||
class AddTriggerToBuilds < ActiveRecord::Migration
|
||||
def up
|
||||
add_column :builds, :trigger_request_id, :integer
|
||||
end
|
||||
end
|
|
@ -1,9 +0,0 @@
|
|||
class CreateTriggerRequest < ActiveRecord::Migration
|
||||
def change
|
||||
create_table :trigger_requests do |t|
|
||||
t.integer :trigger_id, null: false
|
||||
t.text :variables
|
||||
t.timestamps
|
||||
end
|
||||
end
|
||||
end
|
|
@ -1,8 +0,0 @@
|
|||
class AddCommitIdToTriggerRequests < ActiveRecord::Migration
|
||||
def up
|
||||
add_column :trigger_requests, :commit_id, :integer
|
||||
end
|
||||
|
||||
def down
|
||||
end
|
||||
end
|
226
db/ci/schema.rb
226
db/ci/schema.rb
|
@ -1,226 +0,0 @@
|
|||
# encoding: UTF-8
|
||||
# This file is auto-generated from the current state of the database. Instead
|
||||
# of editing this file, please use the migrations feature of Active Record to
|
||||
# incrementally modify your database, and then regenerate this schema definition.
|
||||
#
|
||||
# Note that this schema.rb definition is the authoritative source for your
|
||||
# database schema. If you need to create the application database on another
|
||||
# system, you should be using db:schema:load, not running all the migrations
|
||||
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
|
||||
# you'll amass, the slower it'll run and the greater likelihood for issues).
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20150819162227) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
||||
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 "ci_builds", force: true do |t|
|
||||
t.integer "project_id"
|
||||
t.string "status"
|
||||
t.datetime "finished_at"
|
||||
t.text "trace"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.datetime "started_at"
|
||||
t.integer "runner_id"
|
||||
t.float "coverage"
|
||||
t.integer "commit_id"
|
||||
t.text "commands"
|
||||
t.integer "job_id"
|
||||
t.string "name"
|
||||
t.boolean "deploy", default: false
|
||||
t.text "options"
|
||||
t.boolean "allow_failure", default: false, null: false
|
||||
t.string "stage"
|
||||
t.integer "trigger_request_id"
|
||||
end
|
||||
|
||||
add_index "ci_builds", ["commit_id"], name: "index_builds_on_commit_id", using: :btree
|
||||
add_index "ci_builds", ["project_id", "commit_id"], name: "index_builds_on_project_id_and_commit_id", using: :btree
|
||||
add_index "ci_builds", ["project_id"], name: "index_builds_on_project_id", using: :btree
|
||||
add_index "ci_builds", ["runner_id"], name: "index_builds_on_runner_id", using: :btree
|
||||
|
||||
create_table "ci_commits", force: true do |t|
|
||||
t.integer "project_id"
|
||||
t.string "ref"
|
||||
t.string "sha"
|
||||
t.string "before_sha"
|
||||
t.text "push_data"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.boolean "tag", default: false
|
||||
t.text "yaml_errors"
|
||||
t.datetime "committed_at"
|
||||
end
|
||||
|
||||
add_index "ci_commits", ["project_id", "committed_at"], name: "index_commits_on_project_id_and_committed_at", using: :btree
|
||||
add_index "ci_commits", ["project_id", "sha"], name: "index_commits_on_project_id_and_sha", using: :btree
|
||||
add_index "ci_commits", ["project_id"], name: "index_commits_on_project_id", using: :btree
|
||||
add_index "ci_commits", ["sha"], name: "index_commits_on_sha", using: :btree
|
||||
|
||||
create_table "ci_events", force: true do |t|
|
||||
t.integer "project_id"
|
||||
t.integer "user_id"
|
||||
t.integer "is_admin"
|
||||
t.text "description"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
add_index "ci_events", ["created_at"], name: "index_events_on_created_at", using: :btree
|
||||
add_index "ci_events", ["is_admin"], name: "index_events_on_is_admin", using: :btree
|
||||
add_index "ci_events", ["project_id"], name: "index_events_on_project_id", using: :btree
|
||||
|
||||
create_table "ci_jobs", force: true do |t|
|
||||
t.integer "project_id", null: false
|
||||
t.text "commands"
|
||||
t.boolean "active", default: true, null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.string "name"
|
||||
t.boolean "build_branches", default: true, null: false
|
||||
t.boolean "build_tags", default: false, null: false
|
||||
t.string "job_type", default: "parallel"
|
||||
t.string "refs"
|
||||
t.datetime "deleted_at"
|
||||
end
|
||||
|
||||
add_index "ci_jobs", ["deleted_at"], name: "index_jobs_on_deleted_at", using: :btree
|
||||
add_index "ci_jobs", ["project_id"], name: "index_jobs_on_project_id", using: :btree
|
||||
|
||||
create_table "ci_projects", force: true do |t|
|
||||
t.string "name", null: false
|
||||
t.integer "timeout", default: 3600, null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.string "token"
|
||||
t.string "default_ref"
|
||||
t.string "path"
|
||||
t.boolean "always_build", default: false, null: false
|
||||
t.integer "polling_interval"
|
||||
t.boolean "public", default: false, null: false
|
||||
t.string "ssh_url_to_repo"
|
||||
t.integer "gitlab_id"
|
||||
t.boolean "allow_git_fetch", default: true, null: false
|
||||
t.string "email_recipients", default: "", null: false
|
||||
t.boolean "email_add_pusher", default: true, null: false
|
||||
t.boolean "email_only_broken_builds", default: true, null: false
|
||||
t.string "skip_refs"
|
||||
t.string "coverage_regex"
|
||||
t.boolean "shared_runners_enabled", default: false
|
||||
t.text "generated_yaml_config"
|
||||
end
|
||||
|
||||
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 "ci_runner_projects", ["project_id"], name: "index_runner_projects_on_project_id", using: :btree
|
||||
add_index "ci_runner_projects", ["runner_id"], name: "index_runner_projects_on_runner_id", using: :btree
|
||||
|
||||
create_table "ci_runners", force: true do |t|
|
||||
t.string "token"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.string "description"
|
||||
t.datetime "contacted_at"
|
||||
t.boolean "active", default: true, null: false
|
||||
t.boolean "is_shared", default: false
|
||||
t.string "name"
|
||||
t.string "version"
|
||||
t.string "revision"
|
||||
t.string "platform"
|
||||
t.string "architecture"
|
||||
end
|
||||
|
||||
create_table "ci_services", force: true do |t|
|
||||
t.string "type"
|
||||
t.string "title"
|
||||
t.integer "project_id", null: false
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.boolean "active", default: false, null: false
|
||||
t.text "properties"
|
||||
end
|
||||
|
||||
add_index "ci_services", ["project_id"], name: "index_services_on_project_id", using: :btree
|
||||
|
||||
create_table "ci_sessions", force: true do |t|
|
||||
t.string "session_id", null: false
|
||||
t.text "data"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
add_index "ci_sessions", ["session_id"], name: "index_sessions_on_session_id", using: :btree
|
||||
add_index "ci_sessions", ["updated_at"], name: "index_sessions_on_updated_at", using: :btree
|
||||
|
||||
create_table "ci_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 "ci_taggings", ["tag_id", "taggable_id", "taggable_type", "context", "tagger_id", "tagger_type"], name: "taggings_idx", unique: true, using: :btree
|
||||
add_index "ci_taggings", ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context", using: :btree
|
||||
|
||||
create_table "ci_tags", force: true do |t|
|
||||
t.string "name"
|
||||
t.integer "taggings_count", default: 0
|
||||
end
|
||||
|
||||
add_index "ci_tags", ["name"], name: "index_tags_on_name", unique: true, using: :btree
|
||||
|
||||
create_table "ci_trigger_requests", force: true do |t|
|
||||
t.integer "trigger_id", null: false
|
||||
t.text "variables"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
t.integer "commit_id"
|
||||
end
|
||||
|
||||
create_table "ci_triggers", force: true do |t|
|
||||
t.string "token"
|
||||
t.integer "project_id", null: false
|
||||
t.datetime "deleted_at"
|
||||
t.datetime "created_at"
|
||||
t.datetime "updated_at"
|
||||
end
|
||||
|
||||
add_index "ci_triggers", ["deleted_at"], name: "index_triggers_on_deleted_at", using: :btree
|
||||
|
||||
create_table "ci_variables", force: true do |t|
|
||||
t.integer "project_id", null: false
|
||||
t.string "key"
|
||||
t.text "value"
|
||||
t.text "encrypted_value"
|
||||
t.string "encrypted_value_salt"
|
||||
t.string "encrypted_value_iv"
|
||||
end
|
||||
|
||||
add_index "ci_variables", ["project_id"], name: "index_variables_on_project_id", using: :btree
|
||||
|
||||
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
|
||||
|
||||
end
|
Loading…
Reference in a new issue