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

ASP.NET MVC Discussion :

[CTP4]Modifier le modele sans toucher aux données


Sujet :

ASP.NET MVC

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 101
    Par défaut [CTP4]Modifier le modele sans toucher aux données
    Bonjour,

    J'ai mis en place une appli qui tourne en interne, les gens l'utilisent. J'ai besoin de modifier mon modele, j'ajoute donc les attributs ou classes dans mon code et vient la génération. J'aimerais savoir comment faire pour enrichir ce modele sans écraser ses données.
    J'ai pensé utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Database.SetInitializer<DemandeContext>(null);
    Mais n'étant pas sûr du resultat, je me tate à essayer. Ou alors je créer les champs à la main dans la base de données.

    Bonne journée

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 119
    Par défaut
    bonjour,
    Je crois savoir que tu fais du code first... Je ne sait pas si il est possible de mettre à jours la structure de la base dans le sens code first -> BD, mais dans le sens inverse(BD -> EF) c'est tout à fait possible.
    Si tu modifie la structure d'une BD qui contient des données tu as de fortes contraintes à respecter si tu ne veux pas être obligé de vider tes tables.(ajout de champ non nullable, ajout de clé étrangère,...)

    cordialement

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par john85 Voir le message
    Mais n'étant pas sûr du resultat, je me tate à essayer.
    Pourquoi ? Tu travailles pas directement sur la base de production quand même ?

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2011
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 101
    Par défaut
    je ne travaille pas sur la base de données de production directement, mais si je développe des nouvelles fonctionnalités qui requiert de nouveaux attributs en base, je vais bien être forcé de mettre à jour la base de prod pour pouvoir updater les nouveautés...j'ai lu que code first était plus adapté à un développement de test, mais pas pour déployer...l'application est en phase de test.

    Sinon de maniere générale, comment gérer une mise à jour d'une application qui necessite des modifications au niveau base de données sans pour autant être obligé de reinsérer les anciens enregistrements, ou de mettre tous les nouveaux attributs en "null"...ça me semble bien galère.

    Si tu modifie la structure d'une BD qui contient des données tu as de fortes contraintes à respecter si tu ne veux pas être obligé de vider tes tables.(ajout de champ non nullable, ajout de clé étrangère,...)
    Effectivement, c'est dans ce sens que je pense qu'un update d'une base de données est assez limité et qu'il nécessite de vider la base de données...après , peut etre faire des scripts qui récupère les enregistrements de la base et les completes...Pour l'instant j'ai mis l'application sur le réseau pour être testée, j'ai donc bien précisé que je ne toucherais pas aux enregistrement jusqu'a...bientot et apres ça je nettoierais la BD une derniere fois...donc il me reste une derniere chance de modifier le modèle

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2010
    Messages : 119
    Par défaut
    bonjour,
    Je ne sais pas comment tu déploie ton appli web mais il y a peut être moyen de faire quelque chose au moment du déploiement avec les package web... Tu peux déployer la structure uniquement ou les données uniquement ou les deux.
    Si ce n'est pas déjà fait c'est peut être une piste à explorer, voici un lien sur le sujet : deploiement-application-web-avec-visual-studio-2010/

    en espérant t'aider
    cordialement

Discussions similaires

  1. Remplacer les CR d'un fichier sans toucher aux crLF de fin de ligne
    Par soazig dans le forum Shell et commandes GNU
    Réponses: 22
    Dernier message: 18/09/2014, 15h29
  2. [AC-2010] Majuscule premiere lettre, sans toucher aux autres
    Par petitours dans le forum IHM
    Réponses: 5
    Dernier message: 17/07/2013, 00h07
  3. Réponses: 1
    Dernier message: 26/08/2011, 00h19
  4. Pouvoir modifier son site sans toucher au code via une interface
    Par openeyes dans le forum Général Conception Web
    Réponses: 5
    Dernier message: 04/11/2010, 12h09
  5. Dimension titres de chapitre sans toucher aux autres polices
    Par profilien dans le forum Mise en forme
    Réponses: 1
    Dernier message: 24/08/2007, 17h34

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