diff options
author | David Baumgold <david@davidbaumgold.com> | 2022-02-11 12:30:24 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-06-21 10:17:40 -0400 |
commit | 017fd9ae0645eaf2a0fbdd067d10c721505b018c (patch) | |
tree | 80adc525448f11b11bb34d0cf3b1a0e708725542 /lib/sqlalchemy/sql/compiler.py | |
parent | 4e2a89c41b0bb423891767d10bdc3cb1b75eaa5e (diff) | |
download | sqlalchemy-017fd9ae0645eaf2a0fbdd067d10c721505b018c.tar.gz |
Domain type
Added a new Postgresql :class:`_postgresql.DOMAIN` datatype, which follows
the same CREATE TYPE / DROP TYPE behaviors as that of PostgreSQL
:class:`_postgresql.ENUM`. Much thanks to David Baumgold for the efforts on
this.
Fixes: #7316
Closes: #7317
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/7317
Pull-request-sha: bc9a82f010e6ca2f70a6e8a7620b748e483c26c3
Change-Id: Id8d7e48843a896de17d20cc466b115b3cc065132
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 8ce0c65e4..1ad547b79 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -5251,17 +5251,18 @@ class DDLCompiler(Compiled): def get_column_default_string(self, column): if isinstance(column.server_default, schema.DefaultClause): - if isinstance(column.server_default.arg, str): - return self.sql_compiler.render_literal_value( - column.server_default.arg, sqltypes.STRINGTYPE - ) - else: - return self.sql_compiler.process( - column.server_default.arg, literal_binds=True - ) + return self.render_default_string(column.server_default.arg) else: return None + def render_default_string(self, default): + if isinstance(default, str): + return self.sql_compiler.render_literal_value( + default, sqltypes.STRINGTYPE + ) + else: + return self.sql_compiler.process(default, literal_binds=True) + def visit_table_or_column_check_constraint(self, constraint, **kw): if constraint.is_column_level: return self.visit_column_check_constraint(constraint) |