2018-11-13 02:27:31 -05:00
|
|
|
class CreateLfsFileLocks < ActiveRecord::Migration[4.2]
|
2018-02-07 08:00:53 -05:00
|
|
|
include Gitlab::Database::MigrationHelpers
|
|
|
|
|
|
|
|
DOWNTIME = false
|
|
|
|
|
|
|
|
disable_ddl_transaction!
|
|
|
|
|
|
|
|
def up
|
|
|
|
create_table :lfs_file_locks do |t|
|
|
|
|
t.references :project, null: false, foreign_key: { on_delete: :cascade }
|
|
|
|
t.references :user, null: false, index: true, foreign_key: { on_delete: :cascade }
|
2020-04-07 17:09:46 -04:00
|
|
|
t.datetime :created_at, null: false # rubocop:disable Migration/Datetime
|
2020-04-21 11:21:10 -04:00
|
|
|
t.string :path, limit: 511 # rubocop:disable Migration/PreventStrings
|
2018-02-07 08:00:53 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
add_index :lfs_file_locks, [:project_id, :path], unique: true
|
|
|
|
end
|
|
|
|
|
|
|
|
def down
|
|
|
|
if foreign_keys_for(:lfs_file_locks, :project_id).any?
|
|
|
|
remove_foreign_key :lfs_file_locks, column: :project_id
|
|
|
|
end
|
|
|
|
|
|
|
|
if index_exists?(:lfs_file_locks, [:project_id, :path])
|
|
|
|
remove_concurrent_index :lfs_file_locks, [:project_id, :path]
|
|
|
|
end
|
|
|
|
|
|
|
|
drop_table :lfs_file_locks
|
|
|
|
end
|
|
|
|
end
|