Précédent   Forum des professionnels en informatique > Bases de données > Oracle > PL/SQL
PL/SQL Forum d'entraide sur le PL/SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/05/2011, 16h28   #1
Membre du Club
 
Inscription : 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 : 43
Points : 43
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.
dedesite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 17h15   #2
Membre émérite
 
Avatar de Drizzt [Drone38]
 
Homme
Inscription : mai 2004
Messages : 739
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mai 2004
Messages : 739
Points : 979
Points : 979
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
Drizzt [Drone38] est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/05/2011, 17h21   #3
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
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 : 3 311
Points : 5 808
Points : 5 808
Oracle Sql Developer
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/05/2011, 18h18   #4
Membre du Club
 
Inscription : 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 : 43
Points : 43
Merci pour vos réponses,

Citation:
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.

Citation:
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
dedesite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 08h52   #5
Membre Expert
 
Avatar de Garuda
 
Homme Philippe CHIRCOP
Chef de projet
Inscription : juin 2007
Messages : 1 109
Détails du profil
Informations personnelles :
Nom : Homme Philippe CHIRCOP
Localisation : France

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

Informations forums :
Inscription : juin 2007
Messages : 1 109
Points : 1 559
Points : 1 559
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 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010
Garuda est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 09h01   #6
Membre émérite
 
Avatar de Drizzt [Drone38]
 
Homme
Inscription : mai 2004
Messages : 739
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mai 2004
Messages : 739
Points : 979
Points : 979
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
Drizzt [Drone38] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 09h08   #7
Membre du Club
 
Inscription : 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 : 43
Points : 43
Citation:
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...).

Citation:
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
dedesite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 09h31   #8
Membre émérite
 
Avatar de Drizzt [Drone38]
 
Homme
Inscription : mai 2004
Messages : 739
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : mai 2004
Messages : 739
Points : 979
Points : 979
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
Drizzt [Drone38] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/05/2011, 10h30   #9
Membre du Club
 
Inscription : 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 : 43
Points : 43
Citation:
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
dedesite est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h59.


 
 
 
 
Partenaires

Hébergement Web