1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 15:49:39 +02:00
Maybe/db/migrate/20250522201031_stronger_unique_index_on_security.rb

14 lines
553 B
Ruby
Raw Normal View History

class StrongerUniqueIndexOnSecurity < ActiveRecord::Migration[7.2]
def change
remove_index :securities, [ :ticker, :exchange_operating_mic ], unique: true
# Matches our ActiveRecord validation:
# - uppercase ticker
# - either exchange_operating_mic or empty string (unique index doesn't work with NULL values)
add_index :securities,
"UPPER(ticker), COALESCE(UPPER(exchange_operating_mic), '')",
unique: true,
name: "index_securities_on_ticker_and_exchange_operating_mic_unique"
end
end