26 lines
1,018 B
Ruby
26 lines
1,018 B
Ruby
|
# See http://doc.gitlab.com/ce/development/migration_style_guide.html
|
||
|
# for more information on how to write migrations for GitLab.
|
||
|
|
||
|
class SetUploadsPathSizeForMysql < ActiveRecord::Migration
|
||
|
include Gitlab::Database::MigrationHelpers
|
||
|
|
||
|
# Set this constant to true if this migration requires downtime.
|
||
|
DOWNTIME = false
|
||
|
|
||
|
def up
|
||
|
# We need at least 297 at the moment. For more detail on that number, see:
|
||
|
# https://gitlab.com/gitlab-org/gitlab-ce/issues/40168#what-is-the-expected-correct-behavior
|
||
|
#
|
||
|
# Rails + PostgreSQL `string` is equivalent to a `text` field, but
|
||
|
# Rails + MySQL `string` is `varchar(255)` by default. Also, note that we
|
||
|
# have an upper limit because with a unique index, MySQL has a max key
|
||
|
# length of 3072 bytes which seems to correspond to `varchar(1024)`.
|
||
|
change_column :uploads, :path, :string, limit: 511
|
||
|
end
|
||
|
|
||
|
def down
|
||
|
# It was unspecified, which is varchar(255) by default in Rails for MySQL.
|
||
|
change_column :uploads, :path, :string
|
||
|
end
|
||
|
end
|