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

SQL Firebird Discussion :

Comment modifier une base en conservant les données ?


Sujet :

SQL Firebird

  1. #1
    Membre habitué Avatar de Patrick25300
    Homme Profil pro
    Retraité en technicien de maintenance et méthodes
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité en technicien de maintenance et méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 134
    Points
    134
    Par défaut Comment modifier une base en conservant les données ?
    Bonjour
    Je distribue une application sur Internet avec une base de données Firebird version 2.5, FireBird fonctionne en mode « serveur embarqué sur Windows » embedded.
    J'ai modifié la base de données, en y ajoutant deux nouvelles tables, des nouvelles colonnes dans des tables existantes avec de nouvelles clés primaires et secondaires et de nouvelles procédures stockées...
    Ma question
    Qu'est-ce qui serait le plus simple pour conserver les données d'une ancienne version vers la nouvelle, surtout pour éviter des problèmes avec les utilisateurs, que ça soit simple pour tout le monde?

    • Transférer les données de table en table de l'ancienne à la nouvelle version, onze tables.
    • Une requête ou des requêtes en utilisant un fichier de script SQL afin de modifier l'ancienne version en nouvelle, à l'aide d'une petite application que je ferais.


    j'ai lu ce tuto qui est bien intéressant., c'est comme j'ai fait aussi pour modifier la base de données à propos des clés primaires.
    Que me conseillez-vous, merci de vos réponses.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Perso dans ce genre de situation, quelque soit le moteur de base de données, et sauf impératif de transfert de données (base corrompue par exemple), j'opte pour la seconde solution, les requêtes.

    S'il s'agit juste d'amender la structure d'une base existante, c'est, à mon sens, contre productif d'aller faire des dumps, datapump, ou autres gros transferts. On garde la base en place, et on la modifie sur place sans avoir évidemment pas oublier de faire un backup complet auparavant.

    D'ailleurs, dans l'idéal une base de données vierge ne devrait jamais être déployée comme base en tant que telle, mais plutôt sous forme de requêtes de création et de mise à jour exécutées sur place.
    Mais bon, entre l'idéal et le réel ...
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je serai également plus requêtes ou scripts toutefois il y a des cas où un création d'un nouvelle base peut être nécessaire
    • changement de Dialect de 1 à 3
    • changement d'encodage i.e NONE à autre chose

    Pourquoi ? parce que le backup de la base existante gardera toujours ces deux caractéritiques de création (ce qui m'a valu beaucoup de litres de sueur de doigts)
    Autres cas de nouveaux index (en particulier les clés primaires) ou de nouvelles contraintes peuvent très bien coincer les scripts, je me méfie toujours des données utilisateurs.

    Cela fait longtemps que je me suis mis en objectif de créer un programme (Delphi) permettant de migrer une base Firebird d'une version vers une autre (et, oui, le changement de version peut aussi être un cas qu'un simple backup/restore peut ne pas résoudre) mais cela devra encore attendre des jours moins chargés (la retraite ?)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  4. #4
    Membre habitué Avatar de Patrick25300
    Homme Profil pro
    Retraité en technicien de maintenance et méthodes
    Inscrit en
    Février 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Retraité en technicien de maintenance et méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 153
    Points : 134
    Points
    134
    Par défaut
    Bonjour
    Merci, sevyc64 et SergioMaster, vous m'avez convaincus, je vais utiliser des scripts, d'ailleurs c'est ce j'ai fait pour changer la version de ma base de données.
    Bonne journée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment modifier une base de données via une listbox ?
    Par Mr l'Ashanti dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 17/09/2018, 19h40
  2. Comment modifier une base de données ?
    Par pttangediabolik dans le forum Débuter
    Réponses: 1
    Dernier message: 03/05/2008, 13h31
  3. Réponses: 10
    Dernier message: 13/08/2007, 16h12
  4. Réponses: 10
    Dernier message: 28/07/2007, 15h53
  5. réaffichage d'une page en conservant les données
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/04/2007, 16h48

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