Twoja migracja ma dostęp do połączenia z bazą danych w connection
a połączenie ma adapter_name
metoda, więc możesz po prostu zapytać, jaki to rodzaj połączenia:
def self.up
case connection.adapter_name
when 'PostgreSQL'
# Do PostgreSQL stuff
when 'MySQL'
# Do MySQL stuff
else
# Blow up and catch on fire. Or silently ignore it depending on your needs.
end
end
Nie jestem pewien, czy mam prawidłową nazwę adaptera MySQL, ale technika jest dobra i możesz łatwo sprawdzić nazwę adaptera MySQL.