0

Я довольно новыми для мерзавец, и я начал использовать несколько ветвей для построения различных функций одновременно, используя команды как 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. Знаете ли вы, что я могу сделать, чтобы сохранить эти миграции отдельно, чтобы каждая функция могла иметь свою собственную схему или есть другой способ обработки разветвленных миграций?

ответ

0

думаю о вашем рабочем процессе. В ветке feature1 есть schema.rb из feature1, но если вы использовали sqlite, ваша база данных обновилась в ветке feature2. Если вы внесли изменения в функцию2, которая разбивает ваше приложение в функции1, вам нужно перестроить свою базу данных для функции1.

Если вы не хотите перестраивать свою базу данных, вам нужно настроить приложение-рельсы, чтобы использовать другую базу данных, прежде чем запускать миграцию в ветке feature2.

Редактировать: Еще одна возможность - добавить вашу базу данных в git (путем изменения файла .gitignore и добавления его в репо). Затем вы можете вернуть свою базу данных с помощью git.

+0

Это не «нарушение моего приложения» - после запуска «rake db: migrate» во время работы функции2 выполняется всего одна миграция, но схема обновляется, чтобы показать все четыре миграции. Я предполагаю, что происходит, так как моя база данных не меняется на другой статус миграции каждый раз, когда вы просматриваете новую ветку. – sscirrus

+0

После запуска 'rake db: migrate' в feature2 ваша база данных находится в версии миграции feature2, даже если вы проверите эту функцию. – Thomas

+0

прав ... так что мой вопрос - как справиться с этой проблемой наиболее эффективно. Реконфигурация/перестройка новой базы данных для каждой функции в разработке кажется крайне обременительной. – sscirrus

 Смежные вопросы

  • Нет связанных вопросов^_^