powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сравнить две БД
23 сообщений из 23, страница 1 из 1
Как сравнить две БД
    #39899504
Куск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим есть 2 базы
Одна рабочая. Вторая тестовая.
В тестовую внёс изменения и протестирован что все работает необходимо перенести структуру на рабочую базу.

Вопрос как получить sql файл разницы структуры баз и разницы данных.
Чтобы выполнив sql изменения произошли автоматически.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899509
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск,

В общем случае это невозможно.
Накатывайте на пром те же изменения, которые делались на тесте.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899523
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
В общем случае это невозможно
это элементарно
dbForge в помощь, есть два режима - сравнение структуры баз и сравнение данных
показывает всё и детально
позволяет перенести из оригинала в копию изменения
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899530
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
это элементарно
Попробуйте:
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE t (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`a` VARCHAR(6) NOT NULL,
`b` VARCHAR(6) NOT NULL
)

Код: sql
1.
2.
3.
4.
5.
CREATE TABLE t (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`c` INT NOT NULL,
`d` INT NOT NULL
)


И постарайтесь не испортить и не потерять данные.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899535
Куск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft
вадя
это элементарно
Попробуйте:
Код: sql
1.
2.
3.
4.
5.
CREATE TABLE t (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`a` VARCHAR(6) NOT NULL,
`b` VARCHAR(6) NOT NULL
)

Код: sql
1.
2.
3.
4.
5.
CREATE TABLE t (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`c` INT NOT NULL,
`d` INT NOT NULL
)


И постарайтесь не испортить и не потерять данные.


CREATE однозначно не подойдёт, задача же изменений таблицы и базы.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899538
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск
CREATE однозначно не подойдёт, задача же изменений таблицы и базы.
Во-первых, мой CREATE относился к процитированной фразе "это элементарно" как иллюстрация состояния таблиц в разные моменты времени или на разных стендах.
Во-вторых, и для изменений в базе может понадобиться CREATE, если новую таблицу создали.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899540
Куск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Да, но меня интересует как создать дифференциал sql
Как то ращрабы делают этот дифференциал когда вносят изменения в софт и базу
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899543
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск
Как то ращрабы делают этот дифференциал когда вносят изменения в софт и базу
Руками пишут.
А потом последовательно применяют к дев-стенду, тестовому стенду(-ам) и пром-стенду.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899545
Куск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А может лог сравнить?
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899547
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск
А может лог сравнить?
Если он вообще включен, то, наверное, извлечь из лога информацию о манипуляциях с БД можно.
Но трудоемкость этого несравнимо выше стандартного подхода - см. выше.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899676
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
И постарайтесь не испортить и не потерять данные.
ну тут сравнивать можно , но вот всё остальное...вызывает вопос
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899677
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
И постарайтесь не испортить и не потерять данные.
ну тут сравнивать можно , но вот всё остальное...вызывает вопрос
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899683
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
miksoft
И постарайтесь не испортить и не потерять данные.
ну тут сравнивать можно , но вот всё остальное...вызывает вопос
Сравнивать то можно, а толку с этого сравнения? Например, на основании этих данных об изменении структуры таблицы как Вы сможете узнать, какие изменения были сделаны:
- Поле `a` удалили, `b` переименовали в `c`, в конец добавили поле `d`
- Поле `a` переименовали в `c`, а поле `b` переименовали в `d`
?
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899690
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle
Сравнивать то можно, а толку с этого сравнения?
ну не совсем так пессимистично.
как минимум можно определиться с необходимыми действиями
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899759
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
vkle
Сравнивать то можно, а толку с этого сравнения?
ну не совсем так пессимистично.
как минимум можно определиться с необходимыми действиями
Я же привел пример выше. Определитесь, пожалуйста.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899766
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск
как создать дифференциал sql

Дифф создать элементарно. А вот создать по нему набор скриптов, приводящий одну структуру к другой - в общем случае никак. Например, по причине уже показанной неоднозначности. И порой даже анализ данных не поможет.

Вообще это косяк разработчика - внесение изменений в тест без оглядки на процесс их применения в боевую БД. Так что садись - и ручками, ручками... старая шутка о том, что "юзеры делятся на две группы - одни делают бэкапы, другие будут их делать" - она не только для бэкапов действительна.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899799
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
Я же привел пример выше. Определитесь, пожалуйста.
твой пример не подлежит автоматизации.
только ручная , пошаговая работа.
вот только с такими вариантами на практике мне не приходилось встречаться. как-то более простые варианты. везло мне.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899824
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
твой пример не подлежит автоматизации.
да любой пример не подлежит автоматизации.
Даже если таблицы абсолютно идентичны - все равно нельзя утверждать, что никаких изменений в структуре не было.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39899874
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft
да любой пример не подлежит автоматизации.
Даже если таблицы абсолютно идентичны - все равно нельзя утверждать, что никаких изменений в структуре не было.
это уж очень строгое мнение - тот же dbFoge позволяет многое. сравнить/перенести.
всё зависит от конкретной задачи/условий
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39900236
Куск
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Но можно bin log
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39900321
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск
miksoft,

Но можно bin log
не уверен, но даже если и можно, то все равно делать по-человечески несравнимо проще и надежнее.
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39900644
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куск,

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

удачи вам
(круглый)
...
Рейтинг: 0 / 0
Как сравнить две БД
    #39900879
Фотография barry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Database Comparer
https://clevercomponents.com/downloads/dbc/dbcdownload.asp

Сравнивает структуры двух баз данных, генерит UpdateSQL. Можно скрипты сравнивать, можно базы.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сравнить две БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]