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

Android Discussion :

[SQLite] Gestion de versions


Sujet :

Android

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [SQLite] Gestion de versions
    Salut, je cherche comment faire en sorte d'upgrader la version d'une base de données chaque fois qu'il y a un insert dessus d'effectué.
    Alors j'ai procédé comme suit lors d'un insert :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SQLiteDatabase bdd = monSqLiteOpenHelper.getWritableDatabase();
    ...
    bdd.setVersion(db.getVersion()+1);
    return noteUri;
    Logiquement, avec ce bout de code. Chaque fois que j'insert une donnée via la méthode insert de mon provider (extends ContendProvider), ma base de données voit son compteur version incrémenté. Donc, chaque fois que je relance mn application, normalement ma base de données devrais être rechargé de nouveau non ? (c'est l'effet recherché ^^ recharger la bdd à son état initial en se servant du mécanisme de version)

    Or, d'où l'écriture de mon post, cela ne fonctionne pas..la base de données reste strictement la même...
    Donc j'insert un élément via un boutton, je quitte l'application...je la relance , et l'élément inséré est toujours présent. Alors que je souhaite que la bdd soit réinitialisée à chaque redémarage de l'appli...

    Ou ai je faux ? comment y remédier ?

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Faudrait détailler un peu le but de la manoeuvre mais à mon avis tu fais fausse route.

    Le numéro de version de la base sert à pouvoir la mettre à jour entre 2 versions de ton appli.
    Par exemple si entre la v1 et la v2 de ton appli la bdd change , tu incrémentes son numéro et gère la mise à jour dans le onUpgradede SQLiteOpenHelper
    Vouloir upgrader le numéro à chaque insert est une erreur car potentiellement chaque utilisateur aura un numéro différent et tu vas te retrouver coincé pour de futur mise à jour.

    Sinon une routine de mise à jour peux ressembler à cela :

    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
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
    	int upgradeTo = oldVersion + 1;
    	while( upgradeTo <= newVersion )
    	{
    		switch (upgradeTo)
    			case 1 :
    				upgradeTo2(db);
    				break;
    			case 2 :
    				upgradeTo3(db);
    				break;
    			...
    	}
    }
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Ce que tu cherches c'est certainement une info du style "last updated".
    Si la réponse vous a aidé, pensez à cliquer sur +1

Discussions similaires

  1. [DCU] Gestion de version
    Par Clorish dans le forum Outils
    Réponses: 15
    Dernier message: 16/06/2005, 09h14
  2. [Conseils] Gestion de version Sources / Binaires
    Par Clorish dans le forum Outils
    Réponses: 18
    Dernier message: 09/06/2005, 14h14
  3. Gestion des versions d'objets dans les SGBD
    Par bennus dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 09/05/2005, 12h57
  4. [CVS] Gestion de version d'un projet
    Par Oliveuh dans le forum EDI et Outils pour Java
    Réponses: 5
    Dernier message: 28/03/2005, 23h11
  5. Gestion des versions travail en équipe
    Par yanis97 dans le forum WinDev
    Réponses: 1
    Dernier message: 05/10/2004, 21h18

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