def _render_potential_expr(value, autogen_context):
if isinstance(value, sql.ClauseElement):
if compat.sqla_08:
- return str(
+ return "text(%r)" % str(
value.compile(dialect=autogen_context['dialect'],
compile_kwargs={'literal_binds': True}))
else:
return str(value.compile(dialect=autogen_context['dialect']))
else:
- return str(value)
+ return repr(value)
def _add_table(table, autogen_context):
text = "%(prefix)screate_table(%(tablename)r,\n%(args)s" % {
'unique': index.unique or False,
'schema': (", schema='%s'" % index.table.schema) if index.table.schema else '',
'kwargs': (', '+', '.join(
- ["%s=%r" % (key, _render_potential_expr(val, autogen_context))
+ ["%s=%s" % (key, _render_potential_expr(val, autogen_context))
for key, val in index.kwargs.items()]))\
if len(index.kwargs) else ''
}
eq_ignore_whitespace(
autogenerate.render._add_index(idx, autogen_context),
"""op.create_index('foo_idx', 't', ['x', 'y'], unique=False, """
- """postgresql_where="t.y = 'something'")"""
+ """postgresql_where=text("t.y = 'something'"))"""
)
else:
eq_ignore_whitespace(
autogenerate.render._add_index(idx, autogen_context),
"""op.create_index('foo_idx', 't', ['x', 'y'], unique=False, """
- """postgresql_where='t.y = %(y_1)s')"""
+ """postgresql_where=text("t.y = %(y_1)s"))"""
)
# def test_render_add_index_func(self):