Управление начальными данными с помощью SqlAlchemy и SqlAlchemy-migrate - PullRequest
2 голосов
/ 28 ноября 2010

Я использую SqlAlchemy в своем приложении Pylons для доступа к данным и SqlAlchemy-migrate для поддержки схемы базы данных.

Он отлично работает для управления самой схемой.Тем не менее, я также хочу управлять начальными данными как миграция.Например, когда создается таблица ProductCategory, имеет смысл заполнить ее данными категорий.

Похоже, что SqlAlchemy-migrate не поддерживает это напрямую.Что было бы хорошим подходом для этого с помощью Pylons + SqlAlchemy + SqlAlchemy-migrate?

1 Ответ

2 голосов
/ 29 ноября 2010

Хорошо, в каком формате начинаются ваши начальные данные?Вызовы migrate - это просто методы python, поэтому вы можете свободно открывать некоторые csv, создавать экземпляры объектов SA, цикл и т. Д. У меня обычно есть исходные данные в виде серии операторов вставки sql, и я просто зацикливаю их, выполняя migate.executeзапрос) для каждого.

Итак, я сначала создам таблицу, зациклю и запуском начальных данных, а затем опустошу / отброшу таблицу по методу downgrade.

...