Как удалить значение по умолчанию в модели и добавить алембическую версию? - PullRequest
1 голос
/ 27 марта 2019

У меня есть приложение-пирамида, которое использует sqlalchemy и alembic для баз данных и миграций.Мне нужно удалить спецификатор по умолчанию из моего класса модели и добавить в него скрипт версии alembic.

Ранее это было так:

class TableOne(Base):
    __tablename__ = "table_one"
    id = Column(Integer, primary_key=True)
    field_one = Column(Boolean(name='field_one_bool'), default=False)

Я удалил «default = False» из переменной field_one и попытался запустить:

alembic revision --autogenerate -m "remove default value for field_one"

Сценарий версии alembicбыл сгенерирован, но все, что я получил в методах upgrade () и downgrade (), было:

def upgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    pass
    # ### end Alembic commands ###


def downgrade():
    # ### commands auto generated by Alembic - please adjust! ###
    pass
    # ### end Alembic commands ###

По сути, мне нужно знать, что мне делать в скрипте alembic, если я уронил «default = False» изМодельный класс.

1 Ответ

3 голосов
/ 27 марта 2019

default из Column полностью обрабатывается в Python, в отличие от server_default.Поскольку его удаление не влияет на базу данных, сгенерированный сценарий миграции пуст.Другими словами, в этом случае вам не нужна миграция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...