Есть ли удобный способ включить mysqldump в мои коммиты git? - PullRequest
4 голосов
/ 23 июля 2010

Особенно, если я использую GitHub?Если нет, должен ли я (или, возможно, кто-то еще) работать над таким инструментом?

Ответы [ 3 ]

2 голосов
/ 23 июля 2010

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

Если вы хотите просто распространить текущую схему базы данных: фреймворки, такие как RoR, имеют миграции для того, которые обновляют схему базы данных постепенно.

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

1 голос
/ 23 июля 2010

добавьте скрипт, который создает дамп файла sql в определенном месте для вашего проекта (но внутри каталога проекта).

mysqldump -uroot -p my_db > my_project/my_db.sql

это просто текст, поэтому git подберет этот файл как измененный, как и любой другой. так что тогда просто

git add my_db.sql
git commit -m "the schema changed"
git push my_project github master

Вы можете рассмотреть следующее:

  • Помещение вашего файла дампа на github или добавление его в репозиторий означает, что любые данные, доступные для просмотра, такие как пароли и имена пользователей, очевидно, используют поддельные данные.
  • вы можете посмотреть опции mysqldump, чтобы вывести только схему, а не данные http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
0 голосов
/ 23 июля 2010

Вывод mysqldump представляет собой простой текстовый файл.

Каждый раз, когда вы меняете базу данных, вызывайте mysqldump для одного и того же файла.Затем зафиксируйте его в своем хранилище, когда вы фиксируете свой код.

...