Какие инструменты вы используете для отслеживания изменений в вашей базе данных MySQL?
В настоящее время я участвую в проекте, в котором мы используем простой текстовый файл (версия, управляемая через SVN), в который мы вручную добавляем операторы SQL при внесении изменений в базу данных.
Многие изменения волшебным образом исчезают каждый раз и тогда, и теперь мы ищем лучший способ изменить отслеживание нашей базы данных.
EDIT:
Я забыл упомянуть одну вещь: мы используем хранимые процедуры и функции, поэтому мы хотим отслеживать изменения в / version не только в структуре базы данных. контроль
Отслеживание изменений базы данных MySQL
comment
Я просто недавно задаю очень похожий вопрос: stackoverflow.com/questions/755704/
- person markus   schedule 18.04.2009
Ответы (4)
Есть простое решение:
- Вносите все изменения в схему базы данных и статические данные с помощью скриптов.
- Контроль версий скриптов
person
Community
schedule
18.04.2009
Привет! Спасибо за ответ, но я не понимаю, чем это отличается от того, что мы делаем сейчас? пожалуйста, объясните больше, возможно, я просто упускаю суть.
- person fredrik; 18.04.2009
Действительно ли простой текстовый файл работает с базой данных (.e. Используется как скрипт)? Судя по вашему вопросу, у меня сложилось впечатление, что это всего лишь запись изменений.
- person ; 18.04.2009
Когда я вношу изменения в БД, я добавляю оператор alter table sql (или create prcedure или что-то еще) в этот текстовый файл, а затем мои коллеги будут запускать эти операторы в своих локальных базах данных, но иногда это забывается ... а иногда его забывают добавить в файл с контролем версий. Но я начинаю понимать, что вы имеете в виду, я думаю, добавляя изменения в файл сценария и запускаю его в моей собственной локальной базе данных?
- person fredrik; 18.04.2009
Да, запустите фактический файл с базой данных - не пытайтесь скопировать и вставить содержимое в клиентское приложение mysql. Чтобы сделать это правильно, только один человек должен иметь право изменять схему производственной базы данных - это человек, которого вы затем обвиняете, когда что-то пойдет не так :-)
- person ; 18.04.2009
В конце концов, я нашел решение, основанное на вашей идее. Я создал структуру папок, представляющую базу данных, например Database / DatabaseName / ProcedureName.sql и Database / DatabaseName / Tables / TabelName.sql, затем я создал PHP-скрипт, который будет запускать все скрипты .sql в нужном месте в папке. база данных .. пока вроде будет работать :) Спасибо.
- person fredrik; 19.04.2009
У Toad for MySQL есть отличный инструмент для сравнения схем
http://www.quest.com/toad-for-mysql/
person
Petah
schedule
08.02.2011
Думаю, вам понадобится что-то вроде этого (я тестирую его для Firebird, и он очень хорошо работает): http://www.upscene.com/products.audit.index.php Я думал, что есть версия MySQL, но НЕТ :(
для MySQL я вижу только это: http://solutions.mysql.com/solutions/partner.php?partner=1532
Но если это просто для разработки, я думаю, что ответ, данный здесь, таков: хорошо
person
Hugues Van Landeghem
schedule
18.04.2009