I am creating a python application. I am using sqlalchemy-migrate to track my database schema. I have a user_category table that has two columns: id and name. I am trying to create a user table with a foreign key in the user_category table. My script change to create a user table is as follows:
from sqlalchemy import *
from migrate import *
from migrate.changeset import *
meta = MetaData()
user_category = Table('user_category', meta)
user = Table('user', meta,
Column('id', Integer, primary_key=True),
Column('email', String(255)),
Column('first_name', String(40)),
Column('surname', String(40)),
Column('password', String(255)),
Column('user_category', Integer, ForeignKey("user_category.id")),
)
def upgrade(migrate_engine):
meta.bind = migrate_engine
user.create()
def downgrade(migrate_engine):
meta.bind = migrate_engine
user.drop()
When I run 'manage.py test', I get an error:
sqlalchemy.exc.NoReferencedColumnError: Could not create ForeignKey 'user_catego
ry.id' on table 'user': table 'user_category' has no column named 'id'
source
share