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

Python Discussion :

comment traduire un script python pour passer des tables innodb de mysql � sqlite ?


Sujet :

Python

  1. #1
    Membre confirm� Avatar de Mydriaze
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    192
    D�tails du profil
    Informations personnelles :
    �ge : 58
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 192
    Par d�faut comment traduire un script python pour passer des tables innodb de mysql � sqlite ?
    Bonjour � tous,

    Je dois transformer des scripts python qui cr�ent, remplissent, modifient, exploitent les informations de tables innodb sous mysql pour que �a fasse la m�me chose sur un cluster qui n'a que sqlite
    Ensuite je rapatrierai les tables remplies sur le cluster dans mon mysql .

    J'ai donc commenc� � faire une pettite fonction pour traduire le mysql en slite:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
        def convert_script(self):
            script_sqlite = nom_script_mysql[:-3] + "_sqlite.py"
            _fichier(nom_script_sqlite, "w").cree_fichier()
            ligne_finale = ""
            for ligne in lit_fichier_r(script_mysql) :
                if "CONSTRAINT" in ligne or "ENGINE" in ligne or "CHARSET" in ligne :
                    continue
                if "#" not in ligne:
                    # Changement du nom des types :
                    ligne = re.sub("TINYINT|SMALLINT|MEDIUMINT|INT|BIGINT",' INTEGER', ligne)
                    ligne = re.sub("DECIMAL|FLOAT|DOUBLE",' REAL', ligne)
                    ligne = re.sub("CHAR|VARCHAR",' TEXT', ligne)
                    ligne = re.sub("NONE",' NULL', ligne)
                    # Suppression des motifs suivants 
                    ligne = re.sub ("DEFAULT [0-9]+",'',ligne)
                    ligne = re.sub ("\([0-9]+\)",'',ligne)
                    ligne = re.sub ("NOT NULL |UNSIGNED |AUTO_INCREMENT ",'',ligne)
                    ligne = re.sub ("DEFAULT \\\\\".+\\\\\"",'',ligne)
                    ligne = re.sub ("DEFAULT \\\\\'.+\\\\\'",'',ligne)
                    ligne = re.sub ("COMMENT \\\\\".+\\\\\"",'',ligne)
                    ligne = re.sub ("COMMENT \\\\\'.+\\\\\'",'',ligne)
                    ligne = re.sub ("    ,|   ,|  ,",',',ligne)  
                if ")" in ligne and "(" not in ligne:
                    ligne_finale = ligne_finale[:-2]+ "\n"+ ligne
                else :
                    ligne_finale += ligne
            _fichier(script_sqlite, "a").ecrit_fichier(ligne_finale)
    re.sub( motif_a_enlever , motif_a_placer, phrase_�_tester)
    sert � remplacer un motif par un autre ds une phrase.

    mais je ne comprends m�me pas ce qu'il faut que je change concretement.
    La seule chose qui est claire c'est le changement de nom des types et du "none" qui devient "null"
    Tout le reste je ne comprends pas s'il faut le garder ou pas et sous quelle forme...
    Parce qu'il y a le probleme des cles primaires , des cles etrangeres, les updates et les deletes on cascade, les indexes les constraint,
    tout ce qui est
    NOT NULL , UNSIGNED ,AUTO_INCREMENT
    DEFAULT [0-9],
    ([0-9])
    COMMENT
    ...

    Tout �a, �a devient quoi?

    Je n'y comprends rien ... ,

    C'est supprim�? c'est remplac�? �a reste comme �a?

    Les updates en cascade �a se fait qd meme?

    j'ai cherch� sur les precedents posts qui donnent des liens vers le sqlite...
    idem avec google...
    Je trouve rien (ou je comprends pas) pour resoudre concretement ces points l�...

    Si qqn a dej� eu ce probleme pourriez vous me conseiller s'il vous plait ?

    Merci d'avance ...

    PS :
    j'ai post� la meme chose dans la rubrique MySQL

  2. #2
    Membre confirm� Avatar de Mydriaze
    Profil pro
    Inscrit en
    D�cembre 2006
    Messages
    192
    D�tails du profil
    Informations personnelles :
    �ge : 58
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 192
    Par d�faut
    Bon, j'ai eu ma reponse...

    �a n'est pas possible...

    probleme r�gl�...

    Desol�e pour le d�rangement...

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 14/08/2013, 15h19
  2. R�ponses: 1
    Dernier message: 02/04/2009, 16h10
  3. R�ponses: 2
    Dernier message: 10/07/2007, 18h12
  4. R�ponses: 1
    Dernier message: 06/09/2006, 18h11
  5. R�ponses: 5
    Dernier message: 20/07/2006, 01h17

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