1. Ошибка повторяющегося имени столбца
Я пытаюсь добавить новый столбец в существующую таблицу с помощью миграции, но столкнулся со следующей ошибкой:
Код: Выделить всё
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (1060, "Duplicate column name 'code'")
[SQL: ALTER TABLE student_class_code ADD COLUMN code VARCHAR(50) NOT NULL]
Как мне изменить сценарий миграции, чтобы Эта ошибка? < /li>
Должен ли я вручную изменить таблицу перед запуском миграции, или есть способ проверить SQLalchemy для существования столбца? < /li>
< /ul>
2.
Код: Выделить всё
NoneTypeПомимо вышесказанного, я также вижу эту ошибку во время миграции:
Код: Выделить всё
TypeError: object of type 'NoneType' has no len()
Как я могу отлаживать и Определите источник этой ошибки Nonetype ? > < /ul>
Дополнительный контекст: < /h3>
Я использую flask- SQLalchemy и mysql в качестве базы данных. Br /> Вопрос возникает при запуске Flask DB Upgrade < /code> после внесения изменений в схему базы данных. < /li>
< /ul>
Соответствующие модели: < /h3>
class User(UserMixin, db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
password = db.Column(db.String(128), nullable=False)
created_by_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True)
class AssignmentReminder(db.Model):
__tablename__ = 'assignment_reminders'
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(100), nullable=False)
due_date = db.Column(db.DateTime, nullable=False)
recipient_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=True)
class ClassCode(db.Model):
__tablename__ = 'class_code'
id = db.Column(db.Integer, primary_key=True)
code = db.Column(db.String(255), nullable=False)
created_at = db.Column(db.DateTime, default=datetime.utcnow, nullable=False)
class StudentClassCode(db.Model):
__tablename__ = 'student_class_code'
id = db.Column(db.Integer, primary_key=True)
student_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False)
class_code_id = db.Column(db.Integer, db.ForeignKey('class_code.id'), nullable=False)
code = db.Column(db.String(255), nullable=False)
< /code>
Любая помощь будет высоко оценена! Заранее спасибо за ваше время.
Подробнее здесь: https://stackoverflow.com/questions/793 ... -flask-app
Мобильная версия