0
我试图使用peewee的迁移模块将我的page
表中的列从name
重命名为title
。不过我跑这个令人困惑的错误:peewee迁移“没有列名FOREIGN”
peewee.OperationalError: table page__tmp__ has no column named FOREIGN
我的猜测是,它是与需要使用SQLite时创建的中介表。
当前型号:
完整的源在这里https://github.com/csytan/textmug/blob/master/db.py
class User(BaseModel):
id = peewee.CharField(primary_key=True, max_length=20)
class Page(BaseModel):
id = peewee.PrimaryKeyField()
name = peewee.TextField(unique=True, null=True)
user = peewee.ForeignKeyField(User, null=True, related_name='pages')
迁移脚本:
from playhouse import migrate
my_db = migrate.SqliteDatabase('database')
migrator = migrate.SqliteMigrator(my_db)
with my_db.transaction():
migrate.migrate(
migrator.rename_column('page', 'name', 'title')
)
看起来像在迁移代码中的错误...我会看看,谢谢! https://github.com/coleifer/peewee/issues/380 – coleifer
这个错误已被修复,以防有人在这个问题上漫游。 – coleifer