Skip to content

Сохранение метаданных и кастомные CreateTableOp/DropTableOp #18

@justanothercatgirl

Description

@justanothercatgirl

В алембике 1.17.2 добавилась возможность перезаписать дефолтные операции алембика (дока). Мы можем это использовать для:

  1. Сохранение sqlalchemy'ского словаря info и прочей метаинфы (о шифровании например) в базе данных
  2. Отменять удаление таблицы исходя из каких-то соображений (например, её нет в модели, но она нужна как "теневая" таблица)

Это нужно для шифрования.

Плюс, нам нужно сделать мета-табличку в самой бд (по типу public.alembic_version), в которой эту метаинфу и будем хранить. Проверку на её существование надо сделать в компараторе схем, и если её нет - выдать нужный CreateTableOp. При этом её никогда не дропать (условие в кастомной имплементации DropTableOp). это может быть простая штука по типу string key- string value, для простоты запросов из питона.

После этого можно будет дописать шифрование (#3), доку (#16) и тесты (#6, #15)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions