On 8/29/15 7:13 AM, Martin Marrese wrote:

On Fri, Aug 28, 2015 at 8:16 PM, <ma...@tokbox.com <mailto:ma...@tokbox.com>> wrote:

    Hi,

    I am trying to generate sql scripts in offline mode. But when
    executing the delete in the following manner:

    op.execute(
            foo.delete().where(foo.c.key == 'bar')
    )


    generates sql as

    DELETE FROM foo WHERE foo.`key` = %s;



    How can i get the actual value 'bar' instead of %s? Is there a
    better way to do this ? If I use raw sql statements I can get
    around the problem although I am trying my best to not execute raw
    sql statements in there.

That is ok, %s is later replaced with 'bar'.

For instance, this is the log I get when querying a table named role filtering by id. The python code is :

role = session.query(model.Role).get(id_)

for --sql mode you can add the literal_binds flag to your environment which will attempt to render those inline:

http://alembic.readthedocs.org/en/latest/api/runtime.html?highlight=literal_binds#alembic.runtime.environment.EnvironmentContext.configure.params.literal_binds

otherwise you can specify literal values using the inline_literal() construct: http://alembic.readthedocs.org/en/latest/ops.html?highlight=inline_literal#alembic.operations.Operations.inline_literal



And the log entries are :

2015-08-29 08:01:53,461 INFO sqlalchemy.engine.base.Engine SELECT role.id <http://role.id> AS role_id, role.name <http://role.name> AS role_name, role.is_admin AS role_is_admin
FROM role
WHERE role.id <http://role.id> = %s
2015-08-29 08:01:53,462 INFO sqlalchemy.engine.base.Engine (2L,)

The first line shows the query to be executed with %s as place holder for the parameters. The second line shows the parameters that will replace each %s.

Martín

--

Martín
--
You received this message because you are subscribed to the Google Groups "sqlalchemy-alembic" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy-alembic+unsubscr...@googlegroups.com <mailto:sqlalchemy-alembic+unsubscr...@googlegroups.com>.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups 
"sqlalchemy-alembic" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sqlalchemy-alembic+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to