| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Программное обеспечение > Как сделать загрузку дампа БД в SVN-репозиторий? |
| Автор: sidd 27.3.2011, 14:03 |
| Мы с ребятами решили вместе писать сайт один, который работает с MySQL. Создали проект на «СоурсФордже». Теперь каждый пишет у себя на компе в среде NetBeans и через SVN-плагин закачивает в репозиторий код. Но вот что делать с базой данных? Можно сделать, чтоб вместе с кодом на «СоурсФордж» закачивался дамп БД? А потом, чтоб при скачивании какой-нибудь ревизии этот дамп сразу заливался к тебе в БД? Не уверен, что правильно раздел выбрал. Вопрос вроде как по программному обеспечению, которое это сможет делать. Ну если что, извините. |
| Автор: skyboy 28.3.2011, 21:40 |
| посмотри http://habrahabr.ru/blogs/development_tools/114273/. я бы попробовал на precommit хук навесить создание дампа(возможно, только структуру или как-то ещё разделить то, что должно быть одинаковым от собственных тестовых данных). а на post-update - восстановление из дампа БД. конечно, если такой хук существует. я не нашел. на худой конец, можно по крону проверять дату модификации файла-дампа, и через некоторое время после обновления он будет восстановлен. |
| Автор: sidd 30.3.2011, 22:29 |
| skyboy, спасибо за совет А как вообще профессиональные разработчики в таких случаях поступают? У каждого своя локальная база или одна общая на каком-то сервере? Мне вообще не принципиально сделать эту штуку с автоматическим заливанием дампа. Просто я раньше командной разработкой не занимался, а хочется делать все правильно. |
| Автор: skyboy 30.3.2011, 22:46 |
| поступают так, как рациональнее. там, где я работаю, особо не заморачивались и "синхронизация БД" должна запускаться вручную. но это не показатель. очевидно, что из двух связанных сущностей: структура БД и данные в БД синхронизироваться безусловно должна только первая. А вот данные - частично могут быть критичны к актуализации(в голову ничего не приходит категоричного - все придуманное можно было бы и в файлы запулить;но, в принципе, такие данные вполне могут быть - просто пример не приведу), а частично - наоборот, быть локальными(к примеру, разработчик создает пользователя и описывает его права - очевидно, что не надо перезаписывать права или самих пользователей данными других разработчиков). потому простого решения быть не может(переносим структуру и часть данных - довольно размыто, но уже настораживает |
| Автор: sidd 1.4.2011, 19:40 |
| Ладно, спасибо |
| Автор: BuShaRt 14.5.2011, 14:24 |
| Для этого используются миграция БД. В вашем случае - это +1 файл к ветке тикета, который при выполнение выполняет определенные действия в базе данных. На пример создает новую таблицу или добавляет поля к старой, ну или что-нибудь посложнее. |