Sqlalchemy & Pylons: добавление новых таблиц в ранее определенную базу данных? - PullRequest
0 голосов
/ 07 июля 2011

Скажем, я создаю таблицы в Pylons, запустив

paster setup-app development.ini

Будет создан файл базы данных (т.е. mydatabase.db). Теперь, скажем позже, я изменил свою модель, чтобы иметь больше таблиц и / или столбцов, как бы я обеспечил сохранение и доступность старых данных? Нужно ли перенести мою старую базу данных? Как это все работает?

1 Ответ

1 голос
/ 07 июля 2011

Пока вы добавляете новые таблицы, он должен работать без сбоев, т. Е. Он просто создает новые таблицы, не затрагивая существующие. Однако, если вы измените существующую схему таблицы (например, добавите новый столбец), вам потребуется обновить схему БД вручную или удалить / переименовать эту таблицу и запустить paster setup-app development.ini, чтобы воссоздать ее.

Обычно я переименовываю измененную таблицу, запускаю setup-app для создания новой чистой таблицы и копирую данные примерно так:

INSERT INTO some_table (col1, col2, col3) SELECT (col1, col2, col3) FROM some_table_old

...