Какие процессы вы выполняете при совместной работе в небольшой команде на сайтах с базами данных?
У нас нет проблем с работой над файлами сайта, так как они находятся под контролем версий, поэтому любое число наших разработчиков может работать из любого места в этом аспекте веб-сайта.
Но, когда изменения базы данных должны быть сделаны (либо непосредственно как часть разработки, либо неявно, путем внесения изменений контента в CMS), очевидно, что различным разработчикам сложно слить эти изменения в базе данных.
Наши подходы до сих пор были ограничены следующим:
- Помещение замораживания содержимого на веб-сайте производства и создание всех разработчиков в той же копии производственной базы данных
- Делегирование задач, которые будут связаны с изменениями базы данных с одним разработчиком, а затем попросить других разработчиков импортировать копию этой базы данных после внесения изменений; в то время как другие разработчики работают только на файлах сайта под контролем версий
- Предоставление разработчикам изменений в собственной копии базы данных ради собственной разработки, но затем вручную внесение этих изменений во все другие копии базы данных (например, предоставление другим разработчикам импорта SQL script, относящегося к изменения в базе данных, которые они сделали)
Мне было бы интересно узнать, есть ли у вас лучшие предложения.
Мы работаем в основном с базами данных MySQL и в настоящее время не отслеживаем изменения этих баз данных. Проблемы, описанные выше, относятся главным образом к сайтам Drupal и Wordpress, где значительная часть "разработки" выполняется в сочетании с изменениями, внесенными в базу данных в CMS.