blob: e1667adbb364e58a3762f987bed994562cd86814 [file] [log] [blame]
transformation umlRdbms {
middle imports tuml2rdbms;
uml imports umlMM;
rdbms imports rdbmsMM;
}
map ClassToTable_rdbms in umlRdbms
{
check uml (p:Package) {
c: Class|
c.namespace = p;
c.kind = 'Persistent';
}
check enforce rdbms (s:Schema) {
realize t:Table |
t.schema := s;
}
where middle (v1: TPackageToSchema| v1.p = p; v1.s = s;) {
realize v2: TClassToTable, cn:String |
v2.p := p;
v2.s := s;
v2.c := c;
v2.t := t;
cn := c.name;
t.name := cn;
}
map {
check enforce rdbms () {
realize cl:Column|
t.column := cl;
}
where () {
v2.cl := cl;
cl.name := cn+'_tid';
}
map {
where () {
cl.type := 'NUMBER';
}
}
}
map {
check enforce rdbms (cl:Column) {
realize k:Key|
t.key := k;
k.column := cl;
}
where (v2.cl = cl;) { --** added ;
v2.k := k;
k.name := cn+'_pk';
}
}
}