Ich bin ein Anfänger, der Python usw. studiert, mit dem Ziel, Backend-Ingenieur zu werden. Qiita wird der erste Beitrag sein.
Diesmal ist beim Bereitstellen der erstellten Django-App auf AWS EC2 ein Titelfehler aufgetreten. Es fiel mir schwer, die Ursache nicht zu kennen, deshalb werde ich die Lösung aufschreiben.
Nachdem ich Apache und MySQL eingerichtet und Djangos "Migration" ausgeführt hatte, wurde beim Zugriff auf die öffentliche EC2-IP-Adresse über einen Browser der folgende Fehler angezeigt.
Django.db.utils.ProgrammingError: (1146," Tabelle '<Tabellenname>' existiert nicht ")
Der Fehler ist, dass die Tabelle buchstäblich nicht existiert.
Als ich SQLite3 lokal verwendete, funktionierte es und ich fragte mich, ob die MySQL-Einstellungen auf dem Server falsch waren, aber ich habe verschiedene Dinge ausprobiert, aber es hat nicht funktioniert ...
Als ich noch einmal auf die App-Konfiguration von Django zurückblickte, bemerkte ich, dass die Migrationsdatei, die hätte erstellt werden sollen, nicht existiert. Es scheint, dass die Migration nicht gut funktioniert.
Das diesmal bereitgestellte Django-Projekt bestand aus zwei Apps unter einem Projekt.
In diesem Fall scheint die Migration möglicherweise nicht korrekt ausgeführt zu werden, es sei denn, Sie geben den App-Namen an, z. B. "python3 manage.py makemigraions
Also diesmal
python3 manage.py makemigraions <Anwendungsname>
python3 manage.py migrate
Bei der Ausführung wurde die Tabelle erstellt und der obige Fehler verschwand.
Wenn Sie unter ähnlichen Ereignissen leiden, probieren Sie es bitte aus.
[Ich habe ein Django-Modell erstellt, aber bei Auswanderungen werden keine Änderungen festgestellt. | Monotalk] (https://www.monotalk.xyz/blog/django-model-%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%9F%E3%81%8Cmakemigrations-%E3%81%A7-no-changes-detected-%E3%81%AB%E3%81%AA%E3%82%8B/)
Recommended Posts