Как импортировать дамп mysql, переименовывая некоторые таблицы / столбцы и вообще не импортируя другие? - PullRequest
3 голосов
/ 24 июля 2010

Я импортирую устаревшую базу данных в новую версию нашей программы, и мне интересно, есть ли способ не импортировать некоторые столбцы / таблицы из дампа и переименовывать другие таблицы / столбцы по мере их импорта?Я знаю, что я могу отредактировать файл дампа в теории, но это похоже на хак, и до сих пор ни один из моих редакторов не справился с открытием файла 1,3 ГБ (Да, я читал вопрос об этом здесь. Нетпока что ни один из ответов не сработал для меня.).

Предложения?

Ответы [ 2 ]

3 голосов
/ 24 июля 2010

Можно не импортировать некоторые таблицы, запретив для этого разрешения и используя --force в качестве параметра командной строки.

Невозможно импортировать некоторые столбцы или переименовать их невозможно (по крайней мере, без редактированияфайл дампа или внесение изменений после импорта).

Моя рекомендация:

  • Импортировать таблицы в другую базу данных (1.3G все еще должен быть очень быстрым).
  • Выполните удаление / переименование.
  • Экспорт данных для создания нового файла дампа.

Если вы беспокоитесь, что дамп содержит несколько баз данных, командная строка mysqlУ инструмента есть флаг -o для импорта только одного.

3 голосов
/ 24 июля 2010

Я бы сказал, импортируйте его во временную базу данных и внесите изменения в оперативный режим - возможно, применив предварительно созданный скрипт, который выполняет необходимые операции:

DROP TABLE ....
DROP TABLE ....
DROP TABLE ....
ALTER TABLE ..... DROP column ....

Затем скопируйте готовый результат в рабочую базу данных..

Это также может быть очень хорошо автоматизировано.

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

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