Rename duplicate migrations and skip them if table/columns are already present
The time tracking feature was backported from EE to CE, thus the CE migrations should be uniquely named and should skip the actual migration content if the table/columns already exist (that means that the EE migrations were already performed). Signed-off-by: Rémy Coutable <remy@rymai.me>
This commit is contained in:
parent
4bf9725035
commit
2bf5fe5ede
4 changed files with 35 additions and 68 deletions
15
db/migrate/20161223034433_add_estimate_to_issuables_ce.rb
Normal file
15
db/migrate/20161223034433_add_estimate_to_issuables_ce.rb
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
class AddEstimateToIssuablesCe < ActiveRecord::Migration
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
def change
|
||||||
|
unless column_exists?(:issues, :time_estimate)
|
||||||
|
add_column :issues, :time_estimate, :integer
|
||||||
|
end
|
||||||
|
|
||||||
|
unless column_exists?(:merge_requests, :time_estimate)
|
||||||
|
add_column :merge_requests, :time_estimate, :integer
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,30 +0,0 @@
|
||||||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
|
||||||
# for more information on how to write migrations for GitLab.
|
|
||||||
|
|
||||||
class AddTimeEstimateToIssuables < ActiveRecord::Migration
|
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
# Set this constant to true if this migration requires downtime.
|
|
||||||
DOWNTIME = false
|
|
||||||
|
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
|
||||||
# migration requires downtime.
|
|
||||||
# DOWNTIME_REASON = ''
|
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
|
||||||
# existing transaction. When using "add_concurrent_index" make sure that this
|
|
||||||
# method is the _only_ method called in the migration, any other changes
|
|
||||||
# should go in a separate migration. This ensures that upon failure _only_ the
|
|
||||||
# index creation fails and can be retried or reverted easily.
|
|
||||||
#
|
|
||||||
# To disable transactions uncomment the following line and remove these
|
|
||||||
# comments:
|
|
||||||
# disable_ddl_transaction!
|
|
||||||
|
|
||||||
def change
|
|
||||||
add_column :issues, :time_estimate, :integer
|
|
||||||
add_column :merge_requests, :time_estimate, :integer
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -1,38 +0,0 @@
|
||||||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
|
||||||
# for more information on how to write migrations for GitLab.
|
|
||||||
|
|
||||||
class CreateTimelogs < ActiveRecord::Migration
|
|
||||||
include Gitlab::Database::MigrationHelpers
|
|
||||||
|
|
||||||
# Set this constant to true if this migration requires downtime.
|
|
||||||
DOWNTIME = false
|
|
||||||
|
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
|
||||||
# migration requires downtime.
|
|
||||||
# DOWNTIME_REASON = ''
|
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
|
||||||
# existing transaction. When using "add_concurrent_index" make sure that this
|
|
||||||
# method is the _only_ method called in the migration, any other changes
|
|
||||||
# should go in a separate migration. This ensures that upon failure _only_ the
|
|
||||||
# index creation fails and can be retried or reverted easily.
|
|
||||||
#
|
|
||||||
# To disable transactions uncomment the following line and remove these
|
|
||||||
# comments:
|
|
||||||
# disable_ddl_transaction!
|
|
||||||
|
|
||||||
def change
|
|
||||||
create_table :timelogs do |t|
|
|
||||||
t.integer :time_spent, null: false
|
|
||||||
t.references :trackable, polymorphic: true
|
|
||||||
t.references :user
|
|
||||||
|
|
||||||
t.timestamps null: false
|
|
||||||
end
|
|
||||||
|
|
||||||
add_index :timelogs, [:trackable_type, :trackable_id]
|
|
||||||
add_index :timelogs, :user_id
|
|
||||||
end
|
|
||||||
end
|
|
20
db/migrate/20161223034646_create_timelogs_ce.rb
Normal file
20
db/migrate/20161223034646_create_timelogs_ce.rb
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
class CreateTimelogsCe < ActiveRecord::Migration
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
def change
|
||||||
|
unless table_exists?(:timelogs)
|
||||||
|
create_table :timelogs do |t|
|
||||||
|
t.integer :time_spent, null: false
|
||||||
|
t.references :trackable, polymorphic: true
|
||||||
|
t.references :user
|
||||||
|
|
||||||
|
t.timestamps null: false
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index :timelogs, [:trackable_type, :trackable_id]
|
||||||
|
add_index :timelogs, :user_id
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in a new issue