Neste tópico vamos reunir problemas encontrados ao escrever aplicações com Rails que sejam independentes de banco de dados.
Apesar das migrations fornecerem uma abstração poderosa pra criar esquemas de banco de forma genérica, no desenvolvimendo do resto da aplicação (i.e. usando o banco de dados), acabamos caindo em armadilhas que fazem com que aplicação não funcione direito em alguns bancos de dados.
Recomendações gerais:
Evite ao máximo incluir SQL que não seja absurdamente trivial na sua aplicação. Veja erros abaixo.
Gerais
SQL não aceita listas vazias. Ex.: select * from TABELA where id not in () não funciona