Добавить ноовый столбец в существующую таблицу peewee
Есть таблица с данными, нужно добавить новый столбец, но если это сделать в коде то получаю ошибку peewee.OperationalError: no such column: x.xx, как это сделать в БД sqlite3?
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Если просто, то через sqlite добавьть вручную таблице столбец, чтобы имя столбца и тип совпадал с полем модели в коде:
ALTER TABLE x ADD xx INTEGER;
Если сложнее (и правильнее), то сделайте скрипт миграции.
Например, сделайте папку migrations, в ней создайте файл, пусть будет 001.py:
from playhouse.migrate import *
DB_NAME = 'db.sqlite'
my_db = SqliteDatabase(DB_NAME)
migrator = SqliteMigrator(my_db)
with my_db.atomic():
migrate(
migrator.add_column('x', 'xx', IntegerField(null=True)),
)
Выполните файл и тогда база будет актуализирована с кодом.