Use ColumnElements instead of strings in migration

Using strings to reference columns in `select()` is no longer
supported, and real ColumnElement objects should be used instead.
Previously this was a warning, but now it is an error which breaks
our database migrations with latest SQLAlchemy.

This commit fixes the only place we do this in our code.

Change-Id: I3134089525f76330c455fff83ab0ec90e4e20f0d
This commit is contained in:
Adam Coldrick 2019-03-04 23:07:22 +00:00 committed by Jeremy Stanley
parent 2e47430d54
commit a2f0f207cd

View File

@ -28,6 +28,7 @@ down_revision = '050'
from alembic import op from alembic import op
import json import json
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy.sql import column
from sqlalchemy.sql.expression import table from sqlalchemy.sql.expression import table
@ -45,7 +46,7 @@ def upgrade(active_plugins=None, options=None):
stories_dict = {} stories_dict = {}
for story in bind.execute( for story in bind.execute(
sa.select(columns=['id', 'title'], sa.select(columns=[column('id'), column('title')],
from_obj=sa.Table('stories', from_obj=sa.Table('stories',
sa.MetaData()))): sa.MetaData()))):
stories_dict[story.id] = story.title stories_dict[story.id] = story.title