2017-06-04 3 views
0

Je souhaite migrer la base de données de mon django de MySQL vers PostgreSQL. Auparavant, j'ai utilisé des options de configuration de base de données comme cet exemple de Django website. Le paramètre MySQL Engine on database a des options: 'read_default_file', ce qui permet de séparer les informations d'identification de ma base de données sur un fichier externe.Paramètre Django PostgreSQL avec fichier d'identification séparé?

Maintenant je suis prêt à passer à PostgreSQL avec le moteur psycopg2, mais je ne trouve pas les options similaires à read_default_file.

Y at-il une solution pour cela?

Ou peut-être devrais-je changer pour un autre moteur de base de données de PostgreSQL qui a cette option? Merci

+0

Cela ne devrait pas être si difficile à comprendre, consultez ce [wiki post] (https://en.wikibooks.org/wiki/Converting_MySQL_to_PostgreSQL) sur la façon de convertir la base de données mysql en postgresql, essayez et google pour cela , vous trouverez quelques exemples rapidement – PetarP

+0

@petarP, je ne pense pas que le PO pose des questions sur ce processus. C'est plutôt facile avec django. Il pose des questions sur la configuration de Django. – e4c5

Répondre

2

read_default_file est purement une chose mysql. Il ne peut pas être utilisé pour postgresql. L'équivalent le plus proche dans postgresql est le fichier .pgpass qui est un fichier qui doit être créé dans le répertoire personnel de l'utilisateur exécutant le client psql. Cela définit le mot de passe de l'utilisateur.

Lorsque vous utilisez django en développement, créer un fichier dans votre répertoire personnel ferait l'affaire. Mais en production, vous n'êtes pas censé lancer le serveur de développement django. Les serveurs WSGI de production s'exécutent sous des comptes d'utilisateurs restreints qui peuvent ne pas avoir de répertoire personnel. Dans ce cas, vous devez utiliser la variable d'environnement PGPASSFILE pour indiquer à django où chercher le mot de passe.

+0

Je comprends que 'read_default_file' est une chose mysql, mais mon objectif principal est de savoir comment séparer les paramètres Django et les informations d'identification PostgreSQL. Je pensais qu'il y avait une «OPTIONS» pour le moteur psycopg2 qui peut séparer les informations d'identification. Je vais essayer de trouver la possibilité d'utiliser l'environnement 'PGPASSFILE' sur le PaaS. –

+0

Si votre objectif principal est de ne pas mettre les informations d'identification sur le fichier de paramètres, cela est en effet fait par varaibles enviorenment. – e4c5

+0

Est-ce trié alors? – e4c5