[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/designer/src forms/wizards/CreateSchema.py...
From: |
Jan Ischebeck |
Subject: |
gnue/designer/src forms/wizards/CreateSchema.py... |
Date: |
Wed, 24 Jul 2002 11:23:36 -0400 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: Jan Ischebeck <address@hidden> 02/07/24 11:23:36
Modified files:
designer/src/forms/wizards: CreateSchema.py
designer/src/schema/parser: GSParser.py Objects.py
Log message:
add first foreign key creation feature to CreateSchema wizard.
changed GSSchema definition
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/forms/wizards/CreateSchema.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/parser/GSParser.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/designer/src/schema/parser/Objects.py.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
Patches:
Index: gnue/designer/src/forms/wizards/CreateSchema.py
diff -c gnue/designer/src/forms/wizards/CreateSchema.py:1.2
gnue/designer/src/forms/wizards/CreateSchema.py:1.3
*** gnue/designer/src/forms/wizards/CreateSchema.py:1.2 Wed Jul 24 10:03:30 2002
--- gnue/designer/src/forms/wizards/CreateSchema.py Wed Jul 24 11:23:36 2002
***************
*** 126,131 ****
--- 126,132 ----
# for a fk_source, or a datasource field (in <block ...>)
# * add a way to check for a datasource name with right case before
# just don't care for the case
+ # * add a function for guessing row types
if obj._type=='GFEntry':
myblock=obj.findParentOfType('GFBlock')
***************
*** 160,168 ****
newtable = GSTable(self.gstables)
newtable.name=obj.table
! self.fieldlistoftable[string.lower(obj.name)]=GSFields(newtable)
! # print "add table '%s'" % obj.table
else:
pass
--- 161,193 ----
newtable = GSTable(self.gstables)
newtable.name=obj.table
! fields=GSFields(newtable)
! self.fieldlistoftable[string.lower(obj.name)]=fields
! #print "add table '%s'" % obj.table
! # check for masterlink
! if hasattr(obj,'master'):
! #print "MASTER: %s " % obj.master
! # get the datasource for that
! if hasattr(obj,'masterlink'):
! #print "MASTERLINK: %s " % obj.masterlink
! # create a primary key out of that
! if hasattr(obj,'detaillink'):
! #print "DETAILLINK: %s " % obj.detaillink
! # create a foreign key out of that
! newconstraint=GSConstraint(GSConstraints(newtable))
! newconstraint.name="fk_%s_%s" % (obj.table,obj.detaillink)
! newconstraint.type="foreignkey"
! nfk_field=GSConstraintField(newconstraint)
! nfk_field.name=obj.detaillink
! nfk_ref=GSConstraintRef(newconstraint)
! nfk_ref.name=obj.masterlink
! nfk_ref.table=obj.master # ERROR: should be replaced by dtssource
+ # create a field for that key (TODO: check for already defined keys)
+ newfield = GSField(fields)
+ newfield.name=obj.detaillink
+ newfield.type='string'
+
else:
pass
Index: gnue/designer/src/schema/parser/GSParser.py
diff -c gnue/designer/src/schema/parser/GSParser.py:1.5
gnue/designer/src/schema/parser/GSParser.py:1.6
*** gnue/designer/src/schema/parser/GSParser.py:1.5 Mon Jul 22 00:09:40 2002
--- gnue/designer/src/schema/parser/GSParser.py Wed Jul 24 11:23:36 2002
***************
*** 166,171 ****
--- 166,182 ----
'Typecast': GTypecast.name } },
'ParentTags': ('constraint',) },
+ 'constraintref': {
+ 'BaseClass': Objects.GSConstraintField,
+ 'Attributes': {
+ 'name': {
+ 'Required': 1,
+ 'Typecast': GTypecast.name },
+ 'table': {
+ 'Required': 1,
+ 'Typecast': GTypecast.name } },
+ 'ParentTags': ('constraint',) },
+
'indexes': {
'BaseClass': Objects.GSIndexes,
'SingleInstance': 1,
Index: gnue/designer/src/schema/parser/Objects.py
diff -c gnue/designer/src/schema/parser/Objects.py:1.4
gnue/designer/src/schema/parser/Objects.py:1.5
*** gnue/designer/src/schema/parser/Objects.py:1.4 Mon Jul 22 00:09:40 2002
--- gnue/designer/src/schema/parser/Objects.py Wed Jul 24 11:23:36 2002
***************
*** 77,82 ****
--- 77,86 ----
def __init__(self, parent):
GSObject.__init__(self, parent, type='GSConstraintField')
+ class GSConstraintRef(GSObject):
+ def __init__(self, parent):
+ GSObject.__init__(self, parent, type='GSConstraintRef')
+
class GSIndexes(GSObject):
def __init__(self, parent):
GSObject.__init__(self, parent, type='GSIndexes')
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/designer/src forms/wizards/CreateSchema.py...,
Jan Ischebeck <=