IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

[Besoin d'éclairage] : Migration base de données V1 -> V2 avec instances django différentes


Sujet :

Django Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut [Besoin d'éclairage] : Migration base de données V1 -> V2 avec instances django différentes
    Bonjour messieurs et mesdames,

    Je suis nouveau sur le forum. Ci-dessous l'expression de mon besoin :

    J'aurais besoin de migrer plusieurs tables d'une base de donnée mysql à l'aide d'un script python.
    Je précise que les données de la BDD (plusieurs centaines de lignes) doivent passer d'une app django (version 1.7) à une app django (version 2.0). Évidemment entre ces deux versions, les modèles changent (ajouts, suppressions d'instances et ou d'options).

    J'ai pensé à récupérer les données de la BDD via le module Python "MySQLdb", ou en passant par une fixture django.
    Cependant j'ai du mal à trouver la bonne méthode pour :

    - ne pas renseigner à la main les différentes instances de chaque modèle à récupérer avec MySQLdb.
    - exploiter mon fichier fixture sérialisé en ".yaml" qui ressemble grossomodo à ceci

    En V1
    - model : toto.voiture
    pk: 1
    fields: {owner: 2, model_de_voiture: 1, since: !!timestamp '2018-02-28 16:40:52+00:00',
    until: null, purpose: chaine1, location: chaine2,
    attribution_comment: chaine3}

    En V2
    model: toto.attribution
    pk: 495
    - fields: {comments: "chaine1", created_at: !!timestamp '2017-06-29 16:00:28',
    location: "chaine2", model: chaine3, os: chaine4, price: int, purchase_date: 2017-06-23, serial: chaine5,
    updated_at: !!timestamp '2017-12-26 10:26:10', user: null}

    A mon sens, les principales différences se trouve dans :
    - la non correspondance de deux champs entre les deux versions : created_at et updated_at.
    - les noms des instances
    - les noms des tables.

    Avec l'expérience qui est la votre, pourriez-vous me guider vers une bonne approche permettant de faire une migration propre de mes modèles contenu dans ma base de données mysql ?

    Merci beaucoup de votre attention,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par amarm94 Voir le message
    Avec l'expérience qui est la votre, pourriez-vous me guider vers une bonne approche permettant de faire une migration propre de mes modèles contenu dans ma base de données mysql ?
    L'expérience dit d'éviter de migrer application et modèle de données *et* les versions logicielles en même temps.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    L'expérience dit d'éviter de migrer application et modèle de données *et* les versions logicielles en même temps.

    - W
    Citation Envoyé par wiztricks Voir le message
    L'expérience dit d'éviter de migrer application et modèle de données *et* les versions logicielles en même temps.

    - W
    Merci de votre aide, qu'entendez vous par *en même temps* ? L'objectif, c'est de faire fonctionner la nouvelle app qui utiliserait des datas de l'ancienne app à contenir dans de nouveaux modèles. D'après vous ce n'est pas une bonne idée ou ce n'est pas du tout faisable via un script python parce-que ça risque de casser ?

    Merci,

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par amarm94 Voir le message
    L'objectif, c'est de faire fonctionner la nouvelle app qui utiliserait des datas de l'ancienne app à contenir dans de nouveaux modèles.
    Désolé mais soit j'ai mal lu, soit vous n'étiez pas clair mais je n'avais pas compris que vous vouliez juste récupérer les données d'une application pour les intégrer à une autre.
    Et dans ce cas, personnellement, j'évite de laisser Django tripatouiller au modèle de données... Et évitant ces problèmes, je ne peux vous aider.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2018
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2018
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Il y a quelques semaines, j'ai pu faire le nécessaire pour répondre à mon besoin.

    Voici le modop que j'ai employé pour ceux qui auraient nécessité d'arriver au même résultat.

    - Créer un dump de la base de données au format yaml via manage.py.
    - créer un script python qui utilise un parser nommé pyaml et qui manipule et transforme le format des données dumpées pour quelles correspondent aux modèles django de l'app V2.
    - Le nouveau fichier yaml issu de ces transformations doit être loadé via manage.py dans la nouvelle base de données.

    Voilà terminé !

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2007, 11h44
  2. [Sql server][Oracle]Migration base de donnée.
    Par WELCOMSMAIL dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 23/05/2006, 21h19
  3. Migration base de données Access 2000 - SQL Server
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 06/12/2005, 22h08
  4. migration base de donnée
    Par cedschmi dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 25/01/2005, 16h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo