diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-28 15:24:07 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2012-01-28 15:24:07 -0500 |
commit | 5fb53734c27f19b1d5d794ae5a2b428097845b33 (patch) | |
tree | c32ed29c2744ec0ef31a08230ba544ec88123430 /lib/sqlalchemy/sql/compiler.py | |
parent | feadcfe82304d0950d92ec8150e99e9781ed6349 (diff) | |
parent | 09553dc90f4a95b314994b48068b046de1413104 (diff) | |
download | sqlalchemy-5fb53734c27f19b1d5d794ae5a2b428097845b33.tar.gz |
then merge this
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 93e2473d9..2690dd896 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -23,6 +23,7 @@ To generate user-defined SQL strings, see """ import re +import sys from sqlalchemy import schema, engine, util, exc from sqlalchemy.sql import operators, functions, util as sql_util, \ visitors @@ -1379,19 +1380,35 @@ class DDLCompiler(engine.Compiled): # if only one primary key, specify it along with the column first_pk = False for column in table.columns: - text += separator - separator = ", \n" - text += "\t" + self.get_column_specification( - column, - first_pk=column.primary_key and \ - not first_pk - ) - if column.primary_key: - first_pk = True - const = " ".join(self.process(constraint) \ - for constraint in column.constraints) - if const: - text += " " + const + try: + text += separator + separator = ", \n" + text += "\t" + self.get_column_specification( + column, + first_pk=column.primary_key and \ + not first_pk + ) + if column.primary_key: + first_pk = True + const = " ".join(self.process(constraint) \ + for constraint in column.constraints) + if const: + text += " " + const + except exc.CompileError, ce: + # Py3K + #raise exc.CompileError("(in table '%s', column '%s'): %s" + # % ( + # table.description, + # column.name, + # ce.args[0] + # )) from ce + # Py2K + raise exc.CompileError("(in table '%s', column '%s'): %s" + % ( + table.description, + column.name, + ce.args[0] + )), None, sys.exc_info()[2] const = self.create_table_constraints(table) if const: |