Изменение типа столбца для первичного ключа в моделях SQLalchemy с использованием ALEMBI C приводит к ошибке NULL - PullRequest
0 голосов
/ 26 марта 2020

сильный текст Мои предыдущие модели:

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

Мои последние модели:

class sample(Base):
    __tablename__ = "sample"

    id = Column(String(length=1000), primary_key=True,index=True)
    name = Column(String(30), unique=True)

Данные о миграции для идентификатора поле:

op.alter_column('sample', 'id',
               existing_type=mysql.BIGINT(display_width=20),
               type_=sa.String(length=1000))

При обновлении головки я получаю следующую ошибку:

sqlalchemy.exc.DataError: (MySQLdb._exceptions.DataError) (1171, 'All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead')
[SQL: ALTER TABLE sample MODIFY id VARCHAR(1000) NULL]

Даже если я укажу nullable = False для поля id, я все еще получаю только вышеуказанную ошибку. Что нужно сделать, чтобы решить эту ошибку?

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