Wpis z mikrobloga

Jak zsynchronizować bazę danych? Próbowałem python manage.py syncdb, próbowałem z paramterem --all, próbowałem makemigrations, migrate, nic nie działa. Baza z rozszerzeniem sqlite3
#django #python
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Matt23: Co znaczy nie działa? Masz initial migrations stworzone?

Syncdb jest deprecated od bodajże 1.7, używaj migrate.

Baza z rozszerzeniem sqlite3

no, a ja mam czarny laptop ( ͡º ͜ʖ͡º)
  • Odpowiedz
@Matt23: Skoro syncdb to nie używaj tego kursu. Na stronie django masz świetny tutorial i na pewno wystarczy. Chyba że nie rozumiesz po angielsku.

Co do problemu. Dla każdej aplikacji która ma modele walnij makemigrations , bo 'puste' makemigrations nie działa jeśli nie ma initiali.
  • Odpowiedz
@laki1: 1.8.2

Operations to perform:
Synchronize unmigrated apps: staticfiles, messages
Apply all migrations: admin, articles, contenttypes, auth, sessions
Synchronizing apps
  • Odpowiedz
@maciej-jantarski: Tabel w bazie danych też nie ma. Jak pierwszy raz je tworzyłem jakiś miesiąc temu, to też były błedy, ale cmd kazało użyć makemigrations, oraz migrate i wszystko zadziałało.
Dzisiaj chciałem dodać nowe pole, więc skasowałem tabelę i utknąłem w tym miejscu.
  • Odpowiedz
@Matt23: A. No jak ręcznie modyfikowałeś tabele no to niestety.
Django zapisuje sobie w bazie które migracje już są zaaplikowane. Musiałbyś wywalić te pola. Ale to nie wszystko, bo musiałbyś ręcznie stworzyć migracje na podstawie tego co usunąłeś (makemigrations ci nic nie wygeneruje, bo nie jest świadome że modyfikowałeś bazę).

Polecam wywalić plik z bazą i stworzyć nowy.
  • Odpowiedz