scinote-web/db/migrate/20240705122903_add_storage_locations.rb

38 lines
1.3 KiB
Ruby

# frozen_string_literal: true
class AddStorageLocations < ActiveRecord::Migration[7.0]
include DatabaseHelper
def up
create_table :storage_locations do |t|
t.string :name
t.string :description
t.references :parent, index: true, foreign_key: { to_table: :storage_locations }
t.references :team, index: true, foreign_key: { to_table: :teams }
t.references :created_by, foreign_key: { to_table: :users }
t.boolean :container, default: false, null: false, index: true
t.jsonb :metadata, null: false, default: {}
t.datetime :discarded_at, index: true
t.timestamps
end
create_table :storage_location_repository_rows do |t|
t.references :repository_row, index: true, foreign_key: { to_table: :repository_rows }
t.references :storage_location, index: true, foreign_key: { to_table: :storage_locations }
t.references :created_by, foreign_key: { to_table: :users }
t.jsonb :metadata, null: false, default: {}
t.datetime :discarded_at, index: true
t.timestamps
end
add_gin_index_without_tags :storage_locations, :name
add_gin_index_without_tags :storage_locations, :description
end
def down
drop_table :storage_location_repository_rows
drop_table :storage_locations
end
end