Jakie jest twoje ulubione rozwiązanie do zarządzania migracjami baz danych w django? [zamknięte]
Bardzo podoba mi się system zarządzania migracją baz danych Rails. Nie jest w 100% idealny, ale robi sztuczkę. Django nie wysyła takiego systemu migracji bazy danych (jeszcze?), ale istnieje wiele projektów open source, które właśnie to robią, takich jak na przykład django-evolution i south.
Tak się zastanawiam, jakie rozwiązanie do zarządzania migracją baz danych dla django preferujesz? (jedna opcja na odpowiedź Proszę)
8 answers
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-11 10:06:08
Migracja wygląda ładnie i prosto.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-08 23:05:58
Używamy Django w pracy i używamy dmigracji . Choć ma swoje dziwactwa, do tej pory było przydatne. Niektóre funkcje:
- używa tabeli w bazie danych do śledzenia, które migracje zostały zastosowane.
- ponieważ wie, które z nich zostały zastosowane, można migrować w górę iw dół.
- integruje się z
manage.py
jako polecenie. - poszczególne Skrypty migracji to Python, ale jeśli logika migracji to czysty SQL, dmigracje sprawia, że łatwo można po prostu sql i go wykonać.
Jeden problem polega na tym, że obecnie obsługuje tylko MySQL. Jednak jeden z naszych ludzi robi lokalny hack do niego, aby wspierać PostgreSQL, którego używamy. Z tego, co pamiętam, hack nie był aż tak rozległy, więc nie powinno być strasznie trudno go zhakować, aby wspierać inne RDBMSs.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-10 22:43:59
Lubię django-evolution :
Plusy:
- clean design
- no SQL needed
- elastyczny
- trivial to install
- Łatwy w użyciu
Wady:
- migracje nie są stałe w bazie kodowej
- istnieje ryzyko przypadkowego uruchomienia migracji dwa razy
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-08 22:59:09
Oprócz South, dmigrations, django-evolution i Migration pomyślałem, że dodam simplemigrations jako kolejne narzędzie, które widziałem do automatyzacji migracji Django.
Używałem trzech z nich w przeszłości, ale teraz wykonuję migracje ręcznie. Myślę o próbie na południe ponownie ze względu na najnowsze funkcje dodane.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-03-19 22:18:30
Tylko zauważ, że od 2009 roku, praktycznie każdy wspomniany tu projekt poza południem jest martwy. Południe jest de facto standardem, na dobre i na złe.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-02 16:41:51
Jeśli używasz SQLAlchemy jako ORM, de facto standardem jest alembik .
Inną alternatywą, o której nie wspomniano, jest yoyo-migracje .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-29 20:14:00
Używam simple-db-migrate
Plusy:
- pozwala mi to cofnąć migracje (IDK, jeśli inni też to robią).
- integruje się z manage.py
- każdy, kto zna SQL może stworzyć migrację
- nie uruchamia migracji dwa razy: aplikacja zapisuje informacje o migracji (znacznik czasu, zapytanie, itp.) na stole
Wady:
- jeśli dodasz migrację z niższym znacznikiem czasu niż najnowsza zainstalowana migracja, ta migracja nie działa
- tylko MySQL jest obsługiwany
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-02 14:22:48