У меня есть сайт Django, помещенный в папку site/
. Это под контролем версий. Я использую Юг для миграции схем и данных для своих приложений. Специфичные для сайта приложения находятся в папке site/
, поэтому все они контролируются версиями вместе со своими миграциями.
Я управляю virtualenv, чтобы компоненты сторонних производителей были сухими и безопасными. Я устанавливаю пакеты через PyPI. Список установленных пакетов заморожен в файле require.txt, поэтому их можно легко установить в другой среде. Virtualenv не под VCS. Я думаю, что это хороший способ, если virtualenv можно легко удалить и восстановить в любое время. Если мне нужно протестировать мой сайт, например, с использованием другой версии интерпретатора Python, просто активируйте другую virtulalenv.
Я бы хотел использовать Юг для сторонних пакетов. Здесь возникает проблема. Скрипты миграции хранятся в папке приложения, поэтому они находятся вне репозитория моего сайта. Но я хочу, чтобы скрипты миграции находились под контролем версий, чтобы я мог запускать их и на разных этапах.
Я не хочу управлять версиями всего virtualenv, кроме сценариев миграции для сторонних приложений. Как я могу решить этот конфликт? Есть ли какое-то неправильное представление в моем сценарии?