0

我有下表:

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 等级
-- ---------- ----
1 1 1
2 1 2
5 1 3
3 2 1
4 3 1
6 3 2

问题与类似。

唯一的区别是我需要它在 mysql 和 oracle 之上为 sqlalchemy 工作(需要更通用的解决方案)。

如何使用 engine.update 填充排名列?

编辑 1:这个问题不是关于如何通过 alembic 插入或更新记录。这是关于查找将执行特定操作的查询并使用 engine.update 运行此查询

4

0 回答 0