Изменение данных в рамках обновления перегонного куба

Я хотел бы изменить некоторые данные базы данных в рамках обновления перегонного куба.

Я думал, что могу просто добавить любой код в обновление моей миграции, но следующее не работает:

def upgrade():
    ### commands auto generated by Alembic - please adjust! ###
    op.add_column('smsdelivery', sa.Column('sms_message_part_id', sa.Integer(), sa.ForeignKey('smsmessagepart.id'), nullable=True))
    ### end Alembic commands ###

    from volunteer.models import DBSession, SmsDelivery, SmsMessagePart

    for sms_delivery in DBSession.query(SmsDelivery).all():
        message_part = DBSession.query(SmsMessagePart).filter(SmsMessagePart.message_id == sms_delivery.message_id).first()
        if message_part is not None:
            sms_delivery.sms_message_part = message_part

со следующей ошибкой:

sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on mapper Mapper|SmsDelivery|smsdelivery, SQL expression or this Session

Я не очень понимаю эту ошибку. Как я могу это исправить или такие операции невозможны?

22
задан Peter Smit 15 August 2012 в 13:53
поделиться