Su migración tiene acceso a una conexión de base de datos en connection
y la conexión tiene un adapter_name
método para que pueda preguntarle qué tipo de conexión es:
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
No estoy seguro de tener el nombre del adaptador MySQL correcto, pero la técnica es sólida y usted mismo puede verificar fácilmente el nombre del adaptador MySQL.