Как правильно стереть базу данных и повторно импортировать? - PullRequest
0 голосов
/ 21 января 2020

Я не уверен, как лучше это сделать. Поскольку я готовлюсь к запуску новой базы данных в производство, мне нужно импортировать данные из старой базы данных, которая была сформирована за время моей работы над ней. Новая база данных теперь также содержит много поддельных данных, которые использовались для тестирования, от которых я должен избавиться, поэтому полный повторный импорт sh кажется разумным.

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

Так что мой вопрос сейчас в том, сколько проблемы могли бы эти «остатки» данных представлять производительность, если бы я был go с простым DELETE решением?

А также; есть ли способ, который был бы более тщательным при его очистке, а также позволил бы мне, конечно, сохранить определенные ограничения?

1 Ответ

0 голосов
/ 21 января 2020

Сначала я бы использовал какой-нибудь инструмент gui для создания дампа для старой БД (например, mySql верстак или что-то еще, что вы предпочитаете). Проверьте параметры «Экспорт в автономный файл» и «Дамп хранимых процедур и функций», «Дамп событий» и «Дамп триггеров».

Затем получите сценарии создания для всех таблиц, не включенных в старую БД. , Вы можете сделать это с помощью опции «инженер-реверс». Если у вас возникли проблемы с этой частью, этот пост поможет. Как получить сценарий создания таблицы в MySQL Workbench?

Если у вас есть старый дамп БД и вы создаете сценарии для новых таблиц sql, объедините их в один файл sql .

В первой строке добавить:

SET FOREIGN_KEY_CHECKS = 0;

В последней строке добавить:

SET FOREIGN_KEY_CHECKS = 1;

Запустить скрипт. В результате у вас должны быть все таблицы (новые без данных и старые с данными), все отношения должны быть установлены правильно. Надеюсь, это сработает для вас.

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