Изменение имени поля в моделях SQLalchemy с использованием ALEMBI C выдает «Ошибка повторяющегося имени столбца» - PullRequest
1 голос
/ 26 марта 2020

Моя предыдущая модель:

class sample(Base):
    __tablename__ = "sample"
    id = Column(BigInteger, primary_key=True,index=True)
    Name = Column(String(30),index=True)

Моя последняя модель:

class sample(Base):
    __tablename__ = "sample"
    id = Column(BigInteger, primary_key=True,index=True)
    name = Column(String(30),index=True)

Я выполнил команду alembic revision --autogenerate -m "changed Name field to name"

Сгенерированы мои сведения о миграции:

def upgrade():

op.add_column('sample', sa.Column('name', sa.String(length=1000), nullable=False))
op.drop_column('sample', 'Name')

При обновлении головки (alembi c головка обновления) появляется следующая ошибка:

    sqlalchemy.exc.OperationalError: (MySQLdb._exceptions.OperationalError) (1060, "Duplicate column name 'name'")
[SQL: ALTER TABLE sampleADD COLUMN `name` VARCHAR(1000) NOT NULL]
(Background on this error at: http://sqlalche.me/e/e3q8)

Alembi c пытается удалить существующий столбец и пытается создать новый столбец, но я хочу обновить конкретный столбец. Как мне этого добиться ??

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