相关疑难解决方法(0)

修改数据作为alembic升级的一部分

我想修改一些数据库数据作为alembic升级的一部分.

我以为我可以在迁移升级中添加任何代码,但以下操作失败:

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
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

sqlalchemy.exc.UnboundExecutionError: Could not locate a bind configured on mapper Mapper|SmsDelivery|smsdelivery, SQL expression or this Session
Run Code Online (Sandbox Code Playgroud)

我真的不明白这个错误.我该如何解决这个问题,或者这样的操作不可能?

python sqlalchemy alembic

22
推荐指数
2
解决办法
1万
查看次数

使用alembic获取表值并更新到另一个表.

我有oauth secretoauth keyclient表中.现在我将它们移动到oauth credentials将在迁移期间创建的表.Alembic生成以下架构进行升级.

from myapp.models import Client, ClientCredential
from alembic import op
import sqlalchemy as sa


def upgrade():
### commands auto generated by Alembic - please adjust! ###
    op.create_table('client_credential',
    sa.Column('id', sa.Integer(), nullable=False),
    sa.Column('created_at', sa.DateTime(), nullable=False),
    sa.Column('updated_at', sa.DateTime(), nullable=False),
    sa.Column('client_id', sa.Integer(), nullable=False),
    sa.Column('key', sa.String(length=22), nullable=False),
    sa.Column('secret', sa.String(length=44), nullable=False),
    sa.Column('is_active', sa.Boolean(), nullable=False),
    sa.ForeignKeyConstraint(['client_id'], ['client.id'], ),
    sa.PrimaryKeyConstraint('id'),
    sa.UniqueConstraint('key')
   )
   # Here I need to copy data from table A to newly created Table.
   # …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy alembic

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

alembic ×2

python ×2

sqlalchemy ×2