Резервное копирование базы данных в SVN - PullRequest
1 голос
/ 11 ноября 2010

Я хочу начать разбираться со всей этой проблемой SVN ... У меня есть Mac-сервер, который поставляется с SVN, хотя у меня есть один вопрос.

Если я добавляю сайты, которые я разрабатываю, я понимаю, что файлы должны быть добавлены, но как вы будете выполнять резервное копирование базы данных, связанной с сайтом?

Если бы кто-нибудь мог дать мне знать, как они поступили, это было бы здорово.

Приветствия

Ответы [ 3 ]

1 голос
/ 11 ноября 2010

Дело в том, что вы не просто хотите создавать резервные копии своей схемы БД и статических данных, вы хотите иметь возможность воспроизводить определенное состояние схемы в данной ревизии.

ВотРешения, которые я использую, не самые лучшие, потому что требуют вашего усердия, но это простое и хорошо работающее решение.

В подпапке с именем "db" у меня есть три файла, которые имеют версии SVN:
- schema.sql
- start-data.sql
- increments.sql

Когда происходят большие изменения или разветвляются «теги», я беру новый экспорт схемы и запускаю-data и очистить инкременты.sql.

Когда в схеме есть небольшие изменения, я добавляю соответствующие запросы в инкременты.

Таким образом, я всегда могу воспроизвести заданное состояние БД длякаждая ревизияЕсли я не забуду изменить приращения, то есть.

1 голос
/ 11 ноября 2010

Я не "резервирую" базы данных в системе контроля версий.Я использую любую «лучшую практику» для резервного копирования базы данных (и она отличается для разных баз данных).Иногда это простой дамп на кроне.В других случаях я просто использую инструмент, который управляет им для меня.

Я делаю регистрацию и управляю своими ddl SQL (схема) и dml SQL для инвариантных данных (статические данные) в виде плоских файлов sql в vcs.Обычно я делаю это в том же VCS, что и исходный код, чтобы они могли быть совместными версиями, и я всегда могу знать, как выглядела схема для конкретной ревизии.

0 голосов
/ 11 ноября 2010

Способ создания резервной копии зависит от того, какую базу данных вы используете.Для mysql вы можете вывести всю вашу схему и данные в один файл с помощью команды mysqldump .Затем поместите этот файл под контроль версий и регулярно обновляйте его.

Я не знаю размер вашей базы данных, но для типичного сайта WordPress / Joomla / Drupal размер базы данных обычно не достаточно велик, поэтому я бы позаботился о добавочном резервном копировании, просто сделайте полноедамп каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...