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

PL/SQL Oracle Discussion :

Comment livrer proprement son code PL/SQL ?


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut Comment livrer proprement son code PL/SQL ?
    Bonjour à tous,

    Dans mon travail, on fait des sites web en PL/SQL, c'est cool non ?

    Bon ça va, je commence à me faire aux restrictions du langage mais y'a un truc qui me dérange énormément, c'est notre façon de livrer du code PL/SQL en production.

    En fait, on a aucune méthodologie, ce qu'on fait, c'est qu'on copie le code source de la base de développement, on le colle à la place du code source de la base de production et on compile!! Super!! Bon avec Toad, y a des moyen un peu plus "automatisés" mais bon c'est toujours pas ça et en plus je déteste Toad.

    Je suis en train de bosser sur un outil interne de mise en prod qui nous permettrait de gérer des changelists, d'enregistrer les différences etc. En gros, je recode un VCS mais spécifique à nos besoins.
    Et là je suis un peu bloquer, car j'aimerai pouvoir, avec mon outil, livrer du code PL/SQL d'une base à une autre, mais comment faire cela en PL/SQL?

    J'avais pensé modifier à la mano la vue ALL_SOURCE, mais trop crado puis de toute façon on peut pas... (vaut mieux je pense).
    Mon autre idée, c'était d'enregistrer le nouveau code dans un fichier temporaire et l'executer en PL/SQL via un exectue immediat (ou autre?), mais je ne sais même pas si c'est possible vu que le code PL/SQL de la livraison se fait sur la base de dev, peut-on executer du code sur une autre base ? j'en doute...

    Il doit bien y avoir un moyen de faire ça proprement, mais à part configurer un toad ou autre logiciel pour qu'il gère un SVN, SourceSafe ou autre, je vois pas. Et franchement, j'ai vraiment pas envie de passer par un logiciel aussi pourri que Toad pour faire ça. En plus, on est soit sous mac ou sous linux ce qui oblige à utiliser une machine virtuelle...

    C'est quand même embêtant que le code source sous stocké dans la base de donnée...

    Bref, si quelqu'un à une idée, un retour d'expérience, merci,

    Andréas

    P.S : Je précise que je ne suis pas du tout un spécialiste oracle donc il y a peut-être des solutions toutes bêtes qui me sont passées sous le nez.

  2. #2
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Je ne suis pas sur d'avoir tout saisi, vous codez directement sur la base de dev?

    Pour le code PL/SQL en général on code à coté et on envoie les modifs via ligne de commande SQL ou SQL*Plus quand c'est tout bon.
    Et ce sont les fichiers .sql, .pkb, .pks qui sont stockés sous CVS.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  3. #3
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    Merci pour vos réponses,

    Je ne suis pas sur d'avoir tout saisi, vous codez directement sur la base de dev?
    Oui, c'est ça, on utilise pas de fichiers... je sais c'est naze, peut-être que le plus simple en effet serait de tout stocker dans des fichiers .sql et .pck et de faire la gestion de version en externe... Après, moi je viens d'arriver mais il y a des habitudes de travail, notamment Toad.

    Oracle Sql Developer
    Oui, je connais, c'est justement ce que j'utilise mais donc ça pose problème vu que mon collègue utilise Toad.
    Mais même avec Sql Developer, il n'y a pas de solution pour livrer proprement du code, je me trompe ? En tout cas, je n'ai pas trouvé mais j'ai peut-être mal cherché.

    Je que j'aimerai, c'est une solution générique qui puisse s'appliquer aussi bien a Toad qu'a Sql Developer ou Sql Plus.

    Merci encore,
    Andréas

  5. #5
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    On peut parfaitement avoir deux plateformes (une de dev, une de prod) et gérer les mises à jours de l'une vers l'autre

    Contrairement à ce qui est affirmé, toad fait ca trés bien.

    • Export d'un schéma dans un ou plusieurs fichiers plats (a mettre dans un dossier par version ,par exemple)
    • ET surtout Comparaison de schémas (deux schémas dans deux instances différente) et génération de script de mise à jour

    Nous fonctionnons depuis plusieurs années sur ce mode (avec TOAD)
    Pour faire du dév ORACLE depuis vingt ans, et avoir connu les affres du déploiement "tout à la mano", je me demande bien pour quelle raison obscure on peut détester TOAD au point d'ignorerr ces fonctionnalités indispensables pour tout dev sérieux !
    TOAD : le top (si ce n'est le prix, mais ca n'est pas ton problème)

    Ceci dit, je pense qu'il faut avoir l'option "DBA module", ce qui n'est peut etre pas ton cas
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  6. #6
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Citation Envoyé par dedesite Voir le message
    Oui, c'est ça, on utilise pas de fichiers... je sais c'est naze, peut-être que le plus simple en effet serait de tout stocker dans des fichiers .sql et .pck et de faire la gestion de version en externe... Après, moi je viens d'arriver mais il y a des habitudes de travail, notamment Toad.
    L'un n'empeche pas l'autre. Nous utilisons TOAD aussi mais on travail par fichiers. Travailler directement sur la base si vous êtes plusieurs à travailler dessus ça devient ingérable non ?
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    Nous fonctionnons depuis plusieurs années sur ce mode (avec TOAD)
    Pour faire du dév ORACLE depuis vingt ans, et avoir connu les affres du déploiement "tout à la mano", je me demande bien pour quelle raison obscure on peut détester TOAD au point d'ignorerr ces fonctionnalités indispensables pour tout dev sérieux !
    TOAD : le top (si ce n'est le prix, mais ca n'est pas ton problème)
    Je ne dis pas que Toad n'a pas de super features, j'en suis même convaincu, mais quand je dis que je déteste Toad, c'est plus son ergonomie que je déteste. C'est la pire usine à gaz que j'ai jamais vu!!
    Sérieux, j'ai fais du Visual Studio pendant plusieurs année, j'ai touché à Eclipse ou autre, mais là ça dépasse de loin tout ce qui se fait en matière de mauvaise ergonomie.

    Après, c'est apparemment un logiciel très pratique quand on le maîtrise, mais j'avoue ne pas avoir envie de le maîtriser. Puis, ici au boulot on a pas la dernière version et c'est tout de même très très buggué : plantages fréquents, fichier qui se lock mais ne se délock pas (obligé de délocké à la main) etc.

    A côté de ça SQL Developper est SUPER simple et fait ce dont j'ai besoin (bon à part la mise en prod...).

    Travailler directement sur la base si vous êtes plusieurs à travailler dessus ça devient ingérable non ?
    Oh que oui c'est galère! Mais bon, avant il n y avait qu'une personne (voir 2 quand il y a un prestataire) qui développait donc je comprend la non utilisation des fichiers externes...

    Donc à part la mise en prod "à la mano" ou la super option méga géniale de Toad, vous avez pas d'autre solution pour mettre en prod sans faire à la main des copier/coller ?

    Je pensais à utiliser des fichiers externes (.sql, .pck), les copier sur le serveur de prod et ensuite appeler sqlplus en ligne de commande pour qu'il compile le tout. Ca doit être possible, non?

    Merci à vous,
    Andréas

  8. #8
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Citation Envoyé par dedesite Voir le message
    Je pensais à utiliser des fichiers externes (.sql, .pck), les copier sur le serveur de prod et ensuite appeler sqlplus en ligne de commande pour qu'il compile le tout. Ca doit être possible, non?

    Oui c'est ce que l'on fait. Enfin tu n'as même pas forcément besoin de les copier sur le serveur de prod, il suffit d'avoir accès à la base depuis la machine ou tu exectue SqlPlus.
    De plus pour faire propre tu peux encapsuler le tout dans des batchs ou autres scripts qui te permetteront de faire du logging, du traçage de version ...
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    Oui c'est ce que l'on fait. Enfin tu n'as même pas forcément besoin de les copier sur le serveur de prod, il suffit d'avoir accès à la base depuis la machine ou tu exectue SqlPlus.
    De plus pour faire propre tu peux encapsuler le tout dans des batchs ou autres scripts qui te permetteront de faire du logging, du traçage de version ...
    Ok, ça confirme ce que je pensais. Je vais me essayer de développer un script dans le genre que j’appellerai en PL/SQL.

    Merci beaucoup,

    Andréas

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

Discussions similaires

  1. Comment bien déboguer son code ?
    Par D[r]eadLock dans le forum Débuter
    Réponses: 47
    Dernier message: 02/04/2024, 16h06
  2. [VBA][Excel] Comment bien structurer son code?
    Par skystef dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/03/2007, 19h39
  3. Réponses: 2
    Dernier message: 15/09/2006, 12h07
  4. [débutant] Comment arréter "proprement" son programme
    Par Anthony17 dans le forum Delphi
    Réponses: 3
    Dernier message: 18/05/2006, 11h49

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