were tables raw quick one not multiple how guide found for create python sqlalchemy database-migration flask-sqlalchemy alembic

python - tables - sqlalchemy models



sqlalchemy: ejecutando sql sin procesar con enlaces de parĂ¡metros (1)

Debe obtener el objeto de connection , llamar a execute() y pasar los parámetros de consulta como argumentos de palabras clave:

from alembic import op from sqlalchemy.sql import text conn = op.get_bind() conn.execute( text( """ insert into field_tags (id, field_id, code, description) values (1, ''zasz'', :code , :description) """ ), **t )

Consulte también: Cómo ejecutar SQL sin formato en la aplicación SQLAlchemy-flask .

Estoy tratando de ejecutar esta simple declaración de sql sin formato con parámetros con SQLALchemy (dentro de un script de alambique):

from alembic import op t = {"code": "123", "description": "one two three"} op.execute("insert into field_tags (id, field_id, code, description) "+ "values (1,''zasz'', :code ,:description'')", t)

Y me sale el siguiente error:

sqlalchemy.exc.StatementError: A value is required for bind parameter ''description'' (original cause: InvalidRequestError: A value is required for bind parameter ''description'') "insert into field_tags (id, field_id, code, description) values (1, ''math'', %(code)s ,%(description)s)" []

La solución:

t = {"code": "123", "description": "one two three"} from sqlalchemy.sql import text op.get_bind().execute(text("insert into field_tags (id, field_id, code, description) "+ "values (1,''zasz'', :code ,:description'')"), **t)