17 lines
543 B
Ruby
17 lines
543 B
Ruby
class UpdateExternalIdsFromArchitecture < ActiveRecord::Migration[8.1]
|
|
def change
|
|
change_table :external_ids do |t|
|
|
# Make source and value required
|
|
t.change_null :source, false
|
|
t.change_null :value, false
|
|
end
|
|
|
|
# Add indexes as specified in architecture
|
|
# Ensure each source only appears once per work
|
|
add_index :external_ids, [:work_id, :source], unique: true
|
|
|
|
# Fast lookup by external ID (for "find work by IMDB ID" queries)
|
|
add_index :external_ids, [:source, :value], unique: true
|
|
end
|
|
end
|