Bem, esta é uma nota para mim a fim de evitar o problema do rails db: migrate novamente. Você conhece aquele famoso ditado que diz “o ser humano é a única criatura no mundo que repete duas vezes seus erros” e eu sou um deles. Deixe-me mostrar o porquê.
Em meu aplicativo rails mais recente, que é uma inicialização que está mudando muito rapidamente, tomei a decisão de criar um ambiente var chamado VERSION, a fim de configurar uma versão local para controlar aquele código que é bagunçado ou estranho ou chucky. ( sim, eu sei que existe uma joia para essa joia de lançamento ). Bem, tudo funciona bem, posso manter meu código rodando localmente e enviando para produção sem problemas, stash ou diferentes branches. O problema veio à tona, quando decidimos criar uma nova migração e tentar executá-la da maneira normal, tudo foi revertido. Você pode verificar aqui um exemplo do meu problema estúpido
Em seguida, após executar vários esquemas de comandos: carregar, despejar, descartar, refazer, reverter, etc. Quando tento rodar os novos trilhos de migração reverter todas as migrações (trilhos F ** cKING). Mas espere, decidi ler o código por trás das tarefas do Rails e descobri meu erro.
Bem, todas as tarefas em db: migrate namespaces verificam uma var de ambiente chamada VERSION, sim, a mesma var que já configurei (F ** UCk). E sim, como você pode assumir que meu ENV [‘VERSÃO’] estava definido como ‘0’ ou algo que converte para_i era zero como ‘0.0.2’.
Então, este é um lembrete para mim ** NÃO CONFIGURE A VERSÃO VARIÁVEL ENV NOVAMENTE ** e leia mais a magia por trás das tarefas do Rails Magia das tarefas do Rails
Também notei que o rails mantém uma tabela com o esquema e a última migração que executei essa informação está na tabela: “schema_migrations”