Câu trả lời dễ nhất là đừng cố gắng làm điều này. Thay vào đó, hãy làm cho việc di chuyển Alembic của bạn đại diện cho bố cục đầy đủ của cơ sở dữ liệu. Sau đó, mọi di chuyển bạn thực hiện sẽ dựa trên những thay đổi đối với cơ sở dữ liệu hiện có.
Để bắt đầu di chuyển nếu bạn đã có cơ sở dữ liệu, hãy tạm thời trỏ vào cơ sở dữ liệu trống và chạy alembic revision --autogenerate -m "base"
. Sau đó, trỏ lại cơ sở dữ liệu thực và chạy alembic stamp head
để nói rằng trạng thái hiện tại của cơ sở dữ liệu được thể hiện bằng lần di chuyển mới nhất mà không thực sự chạy nó.
Nếu bạn không muốn làm điều đó vì lý do nào đó, bạn có thể chọn không sử dụng --autogenerate
và thay vào đó tạo các bản sửa đổi trống mà bạn điền vào bằng các thao tác bạn muốn. Alembic sẽ không ngăn bạn làm điều này, nó chỉ kém tiện lợi hơn nhiều.