我正在尝试将具有主键约束的表中的列重命名为另一个名称,并添加一个新类型的新列成为主键。
所以目前我有:
TABLE (
`id` VARCHAR(36) PRIMARY_KEY,
) table;
我想重命名id
并uuid
添加一个新的 id 作为一个整数,它将成为主键:
TABLE (
`id` integer PRIMARY_KEY, AUTO_INCRREMENT,
`uuid` VARCHAR(36)
) table;
尝试使用 sqlalchemy.migrate 做到这一点:
table = sqlalchemy.Table('table', meta, autoload=True)
event.c.id.alter(name='uuid')
id = sqlalchemy.Column('id', sqlalchemy.Integer(),
primary_key=True)
event_uuid.create(event)
由于未从旧的主键约束中删除,导致 postgres 出现此错误id
:
ERROR: Column.create() accepts index_name, primary_key_name and unique_name to generate constraints
如果有人知道如何做到这一点