我有下表:
my_table = sa.sql.table('my_table',
sa.Column('id', sa.BigInteger),
sa.Column('employee_id', sa.BigInteger)
)
我希望添加一个排名'使用alembic的列。
使用add_column
添加本身非常简单,但我还需要根据现有信息使用sqlalchemy填充该列(每个employee_id都有自己按照id排序的排名)。
例如,下表:
id employee_id rank -- ----------- ---- 1 1 1 2 1 2 5 1 3 3 2 1 4 3 1 6 3 2
问题类似于this one。
唯一的区别是我需要在mysql和oracle之上为sqlalchemy工作(需要更通用的解决方案)。
如何使用engine.update填充排名列?
编辑1 : 这个问题不是关于如何通过alembic插入或更新记录。它是关于查找将执行特定事务并使用engine.update运行此查询的查询