|
[Webware-checkins] CVS: Webware/MiddleKit/Design MSSQLSQLGenerator.py,1.16,1.17 MySQLSQLGenerator.py,1.12,1.13 SQLGenerator.py,1.43,1.44
From: Chuck Esterbrook <echuck@us...> - 2004-03-01 02:03
|
Update of /cvsroot/webware/Webware/MiddleKit/Design
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17967/Design
Modified Files:
MSSQLSQLGenerator.py MySQLSQLGenerator.py SQLGenerator.py
Log Message:
- change the default primary key serial number column name to 'serialNum'
- added a new setting, SQLSerialColumnName, that controls that
Index: MSSQLSQLGenerator.py
===================================================================
RCS file: /cvsroot/webware/Webware/MiddleKit/Design/MSSQLSQLGenerator.py,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** MSSQLSQLGenerator.py 24 Feb 2004 02:04:13 -0000 1.16
--- MSSQLSQLGenerator.py 1 Mar 2004 01:44:34 -0000 1.17
***************
*** 138,179 ****
class Klass:
-
-
- # Create table.
- # wr("print 'Creating table %s'\n" % name)
- # wr('create table [%s] (\n' % name)
- # wr(' %s int primary key not null IDENTITY (1, 1),\n' % ljust(sqlIdName, self.maxNameWidth()))
-
- # for attr in self.allAttrs():
- # attr.writeSQL(generator, out)
-
- # wr(' unique (%s)\n' % sqlIdName)
- # wr(')\ngo\n\n\n')
-
- def sqlIdName(self):
- name = self._name # do not need or want protected name
- if name:
- name = lower(name[0]) + name[1:] + 'Id'
- return name
-
- def maxNameWidth(self):
- return 30 # @@ 2000-09-15 ce: Ack! Duplicated from Attr class below
-
def primaryKeySQLDef(self, generator):
'''
Returns a one liner that becomes part of the CREATE statement for creating the primary key of the table. SQL generators often override this mix-in method to customize the creation of the primary key for their SQL variant. This method should use self.sqlIdName() and often ljust()s it by self.maxNameWidth().
'''
!
! # print("print 'Creating table %s'\n" % name)
! # print('create table [%s] (\n' % name)
! z = ' %s int primary key not null IDENTITY (1, 1),\n' % self.sqlIdName().ljust(self.maxNameWidth())
! # print(z)
return z
-
- # def name(self):
- # return '[' + self._name + ']'
-
-
def sqlTableName(self):
"""
--- 138,148 ----
class Klass:
def primaryKeySQLDef(self, generator):
'''
Returns a one liner that becomes part of the CREATE statement for creating the primary key of the table. SQL generators often override this mix-in method to customize the creation of the primary key for their SQL variant. This method should use self.sqlIdName() and often ljust()s it by self.maxNameWidth().
'''
! z = ' %s int primary key not null IDENTITY (1, 1),\n' % self.sqlSerialColumnName().ljust(self.maxNameWidth())
return z
def sqlTableName(self):
"""
Index: MySQLSQLGenerator.py
===================================================================
RCS file: /cvsroot/webware/Webware/MiddleKit/Design/MySQLSQLGenerator.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** MySQLSQLGenerator.py 24 Feb 2004 02:04:13 -0000 1.12
--- MySQLSQLGenerator.py 1 Mar 2004 01:44:34 -0000 1.13
***************
*** 39,43 ****
def primaryKeySQLDef(self, generator):
! return ' %s int not null primary key auto_increment,\n' % self.sqlIdName().ljust(self.maxNameWidth())
--- 39,43 ----
def primaryKeySQLDef(self, generator):
! return ' %s int not null primary key auto_increment,\n' % self.sqlSerialColumnName().ljust(self.maxNameWidth())
Index: SQLGenerator.py
===================================================================
RCS file: /cvsroot/webware/Webware/MiddleKit/Design/SQLGenerator.py,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** SQLGenerator.py 28 Feb 2004 03:13:09 -0000 1.43
--- SQLGenerator.py 1 Mar 2004 01:44:34 -0000 1.44
***************
*** 141,145 ****
attrs = []
for name in names:
! if name == klass.sqlIdName():
attrs.append(PrimaryKey(name, klass))
else:
--- 141,145 ----
attrs = []
for name in names:
! if name==klass.sqlSerialColumnName():
attrs.append(PrimaryKey(name, klass))
else:
***************
*** 345,348 ****
--- 345,351 ----
+ import KlassSQLSerialColumnName
+
+
class Klass:
***************
*** 356,360 ****
name = self.name()
wr = out.write
- sqlIdName = self.sqlIdName()
wr('create table %s (\n' % self.sqlTableName())
wr(self.primaryKeySQLDef(generator))
--- 359,362 ----
***************
*** 383,403 ****
def primaryKeySQLDef(self, generator):
"""
! Returns a one liner that becomes part of the CREATE statement for creating the primary key of the table. SQL generators often override this mix-in method to customize the creation of the primary key for their SQL variant. This method should use self.sqlIdName() and often ljust()s it by self.maxNameWidth().
"""
! return ' %s int not null primary key,\n' % self.sqlIdName().ljust(self.maxNameWidth())
def deletedSQLDef(self, generator):
"""
! Returns a one liner that becomes part of the CREATE statement for creating the deleted timestamp field of the table.
This is used if DeleteBehavior is set to "mark".
"""
return ' %s datetime null,\n' % ('deleted'.ljust(self.maxNameWidth()))
- def sqlIdName(self):
- name = self.name()
- if name:
- name = name[0].lower() + name[1:] + 'Id'
- return name
-
def maxNameWidth(self):
return 30 # @@ 2000-09-15 ce: Ack! Duplicated from Attr class below
--- 385,405 ----
def primaryKeySQLDef(self, generator):
"""
! Returns a one liner that becomes part of the CREATE statement
! for creating the primary key of the table. SQL generators often
! override this mix-in method to customize the creation of the
! primary key for their SQL variant. This method should use
! self.sqlSerialColumnName() and often ljust()s it by
! self.maxNameWidth().
"""
! return ' %s int not null primary key,\n' % self.sqlSerialColumnName().ljust(self.maxNameWidth())
def deletedSQLDef(self, generator):
"""
! Returns a one liner that becomes part of the CREATE statement
! for creating the deleted timestamp field of the table.
This is used if DeleteBehavior is set to "mark".
"""
return ' %s datetime null,\n' % ('deleted'.ljust(self.maxNameWidth()))
def maxNameWidth(self):
return 30 # @@ 2000-09-15 ce: Ack! Duplicated from Attr class below
***************
*** 410,417 ****
wr('\n')
-
def sqlTableName(self):
"""
! Can be overiddent to allow for table names that do not conflict with SQL
reserved words. dr 08-08-2002 - MSSQL uses [tablename]
"""
--- 412,418 ----
wr('\n')
def sqlTableName(self):
"""
! Can be overidden to allow for table names that do not conflict with SQL
reserved words. dr 08-08-2002 - MSSQL uses [tablename]
"""
|
| Thread | Author | Date |
|---|---|---|
| [Webware-checkins] CVS: Webware/MiddleKit/Design MSSQLSQLGenerator.py,1.16,1.17 MySQLSQLGenerator.py,1.12,1.13 SQLGenerator.py,1.43,1.44 | Chuck Esterbrook <echuck@us...> |