我一直在摸索这个错误的时间,我似乎无法弄清楚出了什么问题。也许你可以帮忙吗?
使用Flask-Migrate我修改了我的模型,并尝试相应地迁移数据库。
我遇到的错误似乎介于两个特定模型User
和Transaction
之间。
运行后
$ 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)']
以下是我如何设置模型注意 tablename 覆盖:
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'))
我使用this guide来设置具有外键和关系的模型。
我已使用此Blog Post来帮助诊断我的问题无济于事。你知道我错过了什么吗?
提前致谢。