Author: ianb
Date: 2006-02-03 17:55:23 -0700 (Fri, 03 Feb 2006)
New Revision: 1563
Modified:
SQLObject/trunk/sqlobject/col.py
SQLObject/trunk/sqlobject/maxdb/maxdbconnection.py
SQLObject/trunk/sqlobject/mssql/mssqlconnection.py
SQLObject/trunk/sqlobject/mysql/mysqlconnection.py
Log:
Added implementations of createReferenceConstraints for database backends besides postgres and sqlite. Which implies table creation was totally broken before this for all those backends :(
Modified: SQLObject/trunk/sqlobject/col.py
===================================================================
--- SQLObject/trunk/sqlobject/col.py 2006-02-03 19:08:46 UTC (rev 1562)
+++ SQLObject/trunk/sqlobject/col.py 2006-02-04 00:55:23 UTC (rev 1563)
@@ -777,6 +777,9 @@
sql = ', '.join([sql, constraint])
return sql
+ def mysqlCreateReferenceConstraint(self):
+ return None
+
def sybaseCreateSQL(self):
sql = SOKeyCol.sybaseCreateSQL(self)
other = findClass(self.foreignKey)
@@ -788,6 +791,10 @@
sql = ' '.join([sql, reference])
return sql
+ def sybaseCreateReferenceConstraint(self):
+ # @@: Code from above should be moved here
+ return None
+
def mssqlCreateSQL(self):
sql = SOKeyCol.mssqlCreateSQL(self)
other = findClass(self.foreignKey)
@@ -799,6 +806,10 @@
sql = ' '.join([sql, reference])
return sql
+ def mssqlCreateReferenceConstraint(self):
+ # @@: Code from above should be moved here
+ return None
+
def maxdbCreateSQL(self):
other = findClass(self.foreignKey)
fidName = self.dbName
@@ -810,6 +821,10 @@
sql=sql + 'FOREIGN KEY (%s) REFERENCES %s(%s)'%(fidName,tName,idName)
return sql
+ def maxdbCreateReferenceConstraint(self):
+ # @@: Code from above should be moved here
+ return None
+
class ForeignKey(KeyCol):
baseClass = SOForeignKey
Modified: SQLObject/trunk/sqlobject/maxdb/maxdbconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/maxdb/maxdbconnection.py 2006-02-03 19:08:46 UTC (rev 1562)
+++ SQLObject/trunk/sqlobject/maxdb/maxdbconnection.py 2006-02-04 00:55:23 UTC (rev 1563)
@@ -169,6 +169,9 @@
self.query("CREATE SEQUENCE %s"
% self.createSequenceName(soClass.sqlmeta.table))
+ def createReferenceConstraint(self, soClass, col):
+ return col.maxdbCreateReferenceConstraint()
+
def createColumn(self, soClass, col):
return col.maxdbCreateSQL()
Modified: SQLObject/trunk/sqlobject/mssql/mssqlconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2006-02-03 19:08:46 UTC (rev 1562)
+++ SQLObject/trunk/sqlobject/mssql/mssqlconnection.py 2006-02-04 00:55:23 UTC (rev 1563)
@@ -148,6 +148,9 @@
else:
return query
+ def createReferenceConstraint(self, soClass, col):
+ return col.mssqlCreateReferenceConstraint()
+
def createColumn(self, soClass, col):
return col.mssqlCreateSQL()
Modified: SQLObject/trunk/sqlobject/mysql/mysqlconnection.py
===================================================================
--- SQLObject/trunk/sqlobject/mysql/mysqlconnection.py 2006-02-03 19:08:46 UTC (rev 1562)
+++ SQLObject/trunk/sqlobject/mysql/mysqlconnection.py 2006-02-04 00:55:23 UTC (rev 1563)
@@ -92,6 +92,9 @@
return "%s LIMIT %i, -1" % (query, start)
return "%s LIMIT %i, %i" % (query, start, end-start)
+ def createReferenceConstraint(self, soClass, col):
+ return col.mysqlCreateReferenceConstraint()
+
def createColumn(self, soClass, col):
return col.mysqlCreateSQL()
|