How to remove old database migrations in Ruby on Rails apps


#1

Polecam sprawdzić, mała dawka wiedzy od naszych developerów:
http://bit.ly/1qMRYIn jak w tytule.


#2

Hm, dość dziwny pomysł. Zgodnie ze sztuką byłoby pozbyć się z migracji nie ddl-owego kodu. A tak to wszystkie ewentualne rozszerzenia bazy (tu psqla- hstore/json/inheritance, u name it) idą do piachu, no i historia projektu podobnie.


#3

Generalnie można się pozbyć migracji, tylko pojawia się problem przy deployu apki na nowy server z pustą bazą. Mając jedna działająca migracje nie trzeba nic robić/zmieniać w capistrano. Poprawianie starych migracji też raczej mija się z celem jeśli masz 100 plików do poprawienia. Co do rozszerzeń: wszystko jest zapisane w schema.rb wiec też można to skopiować do migracji. Jeśli chodzi o historie projektu to czy nie załątwi nam sprawy repozytoriumu? git, svn itd?


#4

Schema w ustawieniu “rubiowy dsl” nie odwzoruje Ci rozszerzeń bazy, więc “generalnie” migracji się nie można pozbyć


#5

Zgadzam się, że rozwiązanie nie jest idealne, ale w naszym projekcie się sprawdziło. Rozszerzenia typu plpgsql oraz hstore są zapisywane w schema.rb więc z nimi problemu nie będzie.