préciser le type de champ DDL dans le diagramme de classes ?

Questions / Réponses sur l'utilisation d'Enterprise Architect

préciser le type de champ DDL dans le diagramme de classes ?

Messagepar yarfu » Lun 17 Mai 2010, 12:26

Bonjour,

J'aimerais définir pour un attribut le type de champ dès le diagramme de classes pour générer ensuite un modèle de base + script qui n'ai pas besoin d'être retouché.

ex :
Code: Tout sélectionner
 
class {
   public string toto;
}
=> mysql :
create table Act
(
   toto               mediumtext
)


est-ce possible ?
yarfu
 
Messages: 6
Inscrit le: Lun 17 Mai 2010, 12:15

Re: préciser le type de champ DDL dans le diagramme de classes ?

Messagepar Yves » Mar 18 Mai 2010, 10:12

La transformation d'un type d'attibut dans un type de colonne est effectuée dans le template Attribute du transformateur DDL. Elle est codée de la façon suivante :

%TRANSFORM_CURRENT("type", "stereotype", "collection", "constant", "containment", "ordered", "static", "volatile")%
type=%qt%%CONVERT_TYPE(genOptDefaultDatabase,attType)%%qt%

Tu peux voir que le type est transformé en fonction du type de donnée associée à la base cible définie par défaut dans EA. Pour spécifier quelle base cible tu veux utiliser tu dois aller dans le menu suivant : Tools/Options/Source code engineering /Code editors et préciser la base par défaut dans le champ "default database".
Pour modifier les types par défaut utilisés pour cette DB tu dois ensuite aller dans Settings/Database datatypes et sélectionner la même base de données dans le champ "Product Name".
Afin de modifier le type associé à une string, tu dois en fait modifier celui qui s'appelle VARCHAR. La fenêtre n'est pas très bien faite car on voit le type cible et pas le type source. Tu vois ainsi qu'en modifiant la cible de varchar tu définis en fait celle de string. Je ne sais pas où est codée cette correspondance.
Yves
 
Messages: 59
Inscrit le: Mer 10 Sep 2008, 12:01

Re: préciser le type de champ DDL dans le diagramme de classes ?

Messagepar yarfu » Mar 18 Mai 2010, 12:08

Merci bien Yves :)

J'avais cru que Databases Datatypes n'etais pas modifiable car le pannel size est grisé,
il faut en fait modifier le champ Datatype (ajouter un espace puis le supprimer) pour dégriser le panel et le restes se passes correctement.

Ca me permet déjà de définir varchar(255) comme défaut pour les string standards.

Par contre, il va falloir trouver ou se trouve la correspondance typePHP/typeMysql pour pouvoir créer de manière ponctuelle des champ de type mysql : text par exemple.

Je vais écumer un peu plus le forum sparx en espérant trouver la réponse, biensur je la posterais ici si je la trouves.
yarfu
 
Messages: 6
Inscrit le: Lun 17 Mai 2010, 12:15


Retourner vers Forum général

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 7 invités

cron