La tua migrazione ha accesso a una connessione al database in connection
e la connessione ha un adapter_name
metodo in modo da potergli semplicemente chiedere che tipo di connessione è:
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
Non sono sicuro di avere il nome corretto dell'adattatore MySQL, ma la tecnica è valida e puoi facilmente controllare tu stesso il nome dell'adattatore MySQL.