2
나는 데이터베이스 이전을 관리하기 위해 alembic을 사용하고 있습니다. 현재 마이 그 레이션에서는 SELECT 문 (기본적으로 다른 테이블의 열을 복사)을 기반으로 열을 채울 필요가 있습니다. 내가 일반 SQL로alembic : 마이 그 레이션에서 업데이트 문에 하위 쿼리 사용
을 수행 할 수 있습니다
UPDATE foo_table
SET bar_id=
(SELECT bar_table.id FROM bar_table
WHERE bar_table.foo_id = foo_table.id);
그러나 수행하는 방법을 알아낼 수 증류기와 :
난 '에 대한 일반 SQLAlchemy의 표현식을 사용하려고execute(
foo_table.update().\
values({
u'bar_id': ???
})
)
? ? ':
select([bar_table.columns['id']],
bar_table.columns[u'foo_id'] == foo_table.columns[u'id'])
실행 중에 잘못된 SQL 및 ProgrammingError 만 생성됩니다.
'UPDATE foo_table SET ' {}