В своем приложении он поочередно создал три модели и связи между ними:
class Operation(db.Model):
__tablename__ = "operation"
id = db.Column(db.Integer, primary_key=True)
date_operation = db.Column(db.DateTime)
status_id = db.Column(db.Integer, db.ForeignKey('status.id'))
status = db.Column(db.String(60))
contragent_id = db.Column(db.Integer, db.ForeignKey('contragent.id'))
contragent = db.Column(db.String(240))
def __repr__(self):
return '<Operation {}>'.format(self.code)
class Contragent(db.Model):
__tablename__ = "contragent"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(360))
code = db.Column(db.Integer, index=True)
adress = db.Column(db.String(480))
inn = db.Column(db.Integer)
operations = db.relationship('Operation',uselist=False, backref='operat')
def __repr__(self):
return '<Contragent {}>'.format(self.name)
class Status(db.Model):
__tablename__ = "status"
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(360))
timestamp = db.Column(db.DateTime, default=datetime.datetime.utcnow)
operations = db.relationship('Operation', uselist=False, backref='operat')
def __repr__(self):
return '<Status {}>'.format(self.name)
После создания модели состояния с operations = db.relationship ('Operation', uselist = False, backref = 'operat')
база данных вышла из строя.При попытке удалить модель Status
перед закомментированием класса Status возникает ошибка:
(venv) C:\Users\User\testapp>flask db migrate -m "status table"
INFO [alembic.runtime.migration] Context impl SQLiteImpl.
INFO [alembic.runtime.migration] Will assume non-transactional DDL.
Traceback (most recent call last):
....
raise exc.NoSuchTableError(table.name)
sqlalchemy.exc.NoSuchTableError: status
Что вызывает ошибку и как я могу удалить таблицу Status, чтобы снова создать правильную ссылку?