2

我一直在为这个错误挠头一段时间,我似乎无法弄清楚出了什么问题。也许你能帮忙?

使用Flask-Migrate我修改了我的模型并尝试相应地迁移数据库。

我遇到的错误似乎在两个特定模型UserTransaction.

运行后

$ python run.py db init
$ python run.py db migrate
$ python run.py db upgrade

我收到此错误:

sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (1825, "Failed to add the foreign key constraint on table 'transaction_table'. Incorrect options in FOREIGN KEY constraint 'my_database/transaction_table_ibfk_1'") [SQL: 'ALTER TABLE transaction_table ADD FOREIGN KEY(user_id) REFERENCES users (id)']

这是我设置模型的方法,请注意表名覆盖

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column('id', db.Integer, primary_key=True)
    email = db.Column(db.String(120), unique=True, index=True)
    password = db.Column('password', db.String(10))
    role = db.Column('role', db.String(3))
    registered_on = db.Column('registered_on', db.DateTime)
    transactions = db.relationship('transaction_table', backref=db.backref('user', lazy='joined'), lazy='dynamic')

class Transaction(db.Model):
    __tablename__ = 'transaction_table'
    id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.id'))
    transaction_date = db.Column('transaction_date', db.DateTime)
    requested_donor_id = db.Column(db.Integer, db.ForeignKey('donor_db.id'))

我已使用本指南设置具有外键和关系的模型。

我已使用此博客文章来帮助诊断我的问题,但无济于事。你可能知道我错过了什么吗?

提前致谢。

4

0 回答 0