Я довольно новыми для мерзавец, и я начал использовать несколько ветвей для построения различных функций одновременно, используя команды как git branch
, git checkout
и т.д.Ветвление мерзавца, бег миграции, и сохранение схемы функционального
Вот список шагов я взял:
git checkout feature1
make some changes that include migrations
rake db:migrate
rake db:commit to feature1 with schema.rb
git checkout feature2
# at this point my schema appears to revert to pre-feature1
make some changes that involve a new migration
rake db:migrate
# schema now shows changes from BOTH feature1 and feature2.
акт запуска rake db:migrate
в feature2 обновляет схему, которую я представляю, отражает мою локальную базу данных, которая лежит в основе как feature1 и feature2. Знаете ли вы, что я могу сделать, чтобы сохранить эти миграции отдельно, чтобы каждая функция могла иметь свою собственную схему или есть другой способ обработки разветвленных миграций?
Это не «нарушение моего приложения» - после запуска «rake db: migrate» во время работы функции2 выполняется всего одна миграция, но схема обновляется, чтобы показать все четыре миграции. Я предполагаю, что происходит, так как моя база данных не меняется на другой статус миграции каждый раз, когда вы просматриваете новую ветку. – sscirrus
После запуска 'rake db: migrate' в feature2 ваша база данных находится в версии миграции feature2, даже если вы проверите эту функцию. – Thomas
прав ... так что мой вопрос - как справиться с этой проблемой наиболее эффективно. Реконфигурация/перестройка новой базы данных для каждой функции в разработке кажется крайне обременительной. – sscirrus