Reset events
table primary key sequence to make sure it’s correct
This commit is contained in:
parent
bc59a5d0a5
commit
e2aef6d666
2 changed files with 36 additions and 1 deletions
|
@ -0,0 +1,35 @@
|
|||
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||||
# for more information on how to write migrations for GitLab.
|
||||
|
||||
class ResetEventsPrimaryKeySequence < ActiveRecord::Migration
|
||||
include Gitlab::Database::MigrationHelpers
|
||||
|
||||
# Set this constant to true if this migration requires downtime.
|
||||
DOWNTIME = false
|
||||
|
||||
class Event < ActiveRecord::Base
|
||||
self.table_name = 'events'
|
||||
end
|
||||
|
||||
def up
|
||||
if Gitlab::Database.postgresql?
|
||||
reset_primary_key_for_postgresql
|
||||
else
|
||||
reset_primary_key_for_mysql
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
# No-op
|
||||
end
|
||||
|
||||
def reset_primary_key_for_postgresql
|
||||
reset_pk_sequence!(Event.table_name)
|
||||
end
|
||||
|
||||
def reset_primary_key_for_mysql
|
||||
amount = Event.pluck('COALESCE(MAX(id), 1)').first
|
||||
|
||||
execute "ALTER TABLE #{Event.table_name} AUTO_INCREMENT = #{amount}"
|
||||
end
|
||||
end
|
|
@ -11,7 +11,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20180204200836) do
|
||||
ActiveRecord::Schema.define(version: 20180206200543) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
|
|
Loading…
Reference in a new issue