2017-08-10 1 views
1

J'ai travaillé sur une application Django sur une autre machine, avec une base de données locale postgis. J'ai poussé le tout à GitHub, sauf ce qui est dans le .gitignore.Django ne peut pas migrer après le dépôt de clonage

.gitignore

venv 
*.pyc 
staticfiles 
.env 
.idea 
uploads 

rentré et clonée le repo, installé toutes les exigences et a créé une nouvelle base de données Postgres locale avec les mêmes paramètres de settings.py et la même extension PostGIS.

settings.py

DATABASES = { 
    'default': { 
     'ENGINE': 'django.contrib.gis.db.backends.postgis', 
     'NAME': 'db_name', 
     'USER': 'postgres', 
     'PASSWORD': '******', 
     'HOST': 'localhost', 
     'PORT': '5432', 
    } 
} 

Mais je ne peux pas créer de migrations. J'ai juste une erreur. J'ai essayé de revenir au premier fichier de migration initial, mais avec le même résultat. C'est comme si Django pensait que c'est toujours la même base de données, mais avec toutes les tables manquantes. Mais je ne peux pas migrer et obtenir Django pour les créer.

Comment puis-je me sortir de ce pétrin? Puis-je migrer d'une manière ou d'une autre?

Si vous avez besoin d'informations supplémentaires, que j'ai omis s'il vous plaît demander.

+0

Avez-vous essayé 'makemigration' après' migrate --fake' – Chris

+0

Grande suggestion. J'ai juste essayé d'exécuter 'migrate --fake' et' migrate --fake-initial'still me renvoie cette erreur. –

Répondre

0

Depuis que je n'ai aucune idée sur votre repo pour expérimenter autour et répondre spécifiquement. Ce que je peux penser est comme ci-dessous

  1. Utilisez migrate --fake (comme mentionné dans le commentaire)
  2. Essayez de changer l'entrée hôte de localhost à 127.0.0.1.
  3. Créez un rôle (utilisateur) dans psql avec les autorisations nécessaires et utilisez-les dans settings.
  4. Vérifiez les autorisations de port.

Veuillez noter que c'est juste des suppositions.