için birincil anahtar sütunları bir araya getirilemedi Bir veritabanı şeması geçişi oluşturmaya çalıştığımda, garip bir hata alıyorum. Yanlış olanı bulmak için bana yardımcı olabilir misiniz? Teşekkürler!Eşlenen tablo
Bunu alıyorum:
$ python app.py db upgrade
[skipped]
sqlalchemy.exc.ArgumentError: Mapper Mapper|EssayStateAssociations|essay_associations could not assemble any primary key columns for mapped table 'essay_associations'
Benim modelim:
class EssayStateAssociations(db.Model):
__tablename__ = 'essay_associations'
ALLOWED_APP_ESSAY_STATES = ["selected", "not_selected", "pending"]
application_essay_id = db.Column(
db.Integer,
db.ForeignKey("application_essay.id"),
primary_key=True),
theme_essay_id = db.Column(
db.Integer,
db.ForeignKey("theme_essay.id"),
primary_key=True),
state = db.Column(db.String, default="pending")
@validates('state')
def validate_app_essay_states(self, key, state):
assert state in self.ALLOWED_APP_ESSAY_STATES
return state
sürümleri:
Flask==0.10.1
Flask-Migrate==1.2.0
Flask-SQLAlchemy==1.0
SQLAlchemy==0.9.4
doğru dürüst bir cevap vereceğiz ama şimdilik ben Ben sadece senin gerçek hatanın 'application_essay_id' tanımından sonra takip eden virgül olduğunu sanırdım.Maliyeti bir sütun yerine bir sütun içeren bir * tuple * yaptın.Ben sütun kopyalarken bu ortak bir hata olduğunu bekliyorum bir op.create_table (bir modele (örneğin el yordamıyla el yordamı oluşturma işleminden, bunları bir deklaratif tabana dönüştürecek şekilde) dönüştüren tanımlar - en azından, bu şekilde * ben * bunu aynı şekilde becerdim. –