mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-24 15:49:39 +02:00
14 lines
553 B
Ruby
14 lines
553 B
Ruby
|
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
|