0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 523 Просмотров
*

alex-143390

  • Захожу иногда
  • 92
  • 0 / 0
Привет, друзья.
У меня сайт был на одном хостинге, сейчас перенес его на другой и установил всё заново. Но некоторые таблицы из старой базы MySQL я хотел бы перенести на новый сайт, например инфу из одного компонента.

Но как это сделать? Делаю экспорт- импорт и у меня ошибка.
Во первых разлицаются суффиксы
На первом сайте diis_
А на втором jgfsd_
*

SeBun

  • Живу я здесь
  • 3694
  • 234 / 4
  • @SeBun48
По суффиксам - делаете экспорт только нужных таблиц в файл, затем открываете этот файл например в Notepad++, делаете поиск и замену суффикса (кнопочка "Заменить все"), и импортируете в вашу базу. Касательно нестыковки по полям - можете несовместимые таблицы экспортировать отдельно, именно нужные поля выбираете и экспортируете, правите префикс и импортируете в новую БД.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

alex-143390

  • Захожу иногда
  • 92
  • 0 / 0
По суффиксам - делаете экспорт только нужных таблиц в файл, затем открываете этот файл например в Notepad++, делаете поиск и замену суффикса (кнопочка "Заменить все"), и импортируете в вашу базу. Касательно нестыковки по полям - можете несовместимые таблицы экспортировать отдельно, именно нужные поля выбираете и экспортируете, правите префикс и импортируете в новую БД.

Спасибо, сейчас попробую и отпишусь.
В принципе я так и думал, что ручками править суффикс таблиц. Думал может есть какой-то еще способ.
*

SeBun

  • Живу я здесь
  • 3694
  • 234 / 4
  • @SeBun48
Спасибо, сейчас попробую и отпишусь.
В принципе я так и думал, что ручками править суффикс таблиц. Думал может есть какой-то еще способ.
А какой вам еще способ? Там дело минутное. Откроете файл в Notepad++, далее Поиск-Замена. Пишите myoldprefix_ заменить на mynewprefix_, и все.
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

alex-143390

  • Захожу иногда
  • 92
  • 0 / 0
А какой вам еще способ? Там дело минутное. Откроете файл в Notepad++, далее Поиск-Замена. Пишите myoldprefix_ заменить на mynewprefix_, и все.


Сделал - не помогло . Вот текст ошибки
#1062 - Duplicate entry '1' for key 'PRIMARY'
*

SeBun

  • Живу я здесь
  • 3694
  • 234 / 4
  • @SeBun48

Сделал - не помогло . Вот текст ошибки
#1062 - Duplicate entry '1' for key 'PRIMARY'


Ну так все верно, вы вставляете в базу запись с ключом, совпадающим с уже имеющимся. У вас вопрос был не синхронизировать базу, а перенести. Следовательно, содержимое таблиц нужно чистить от данных перед импортом. Так, сделайте вот что. Я не знаю, с какими настройками вы экспорт делали, поэтому делаем экспорт заново, при этом в настройках указываем вставлять в файл конструкции CREATE TABLE на случай, если нет таблиц какого то компонента, а так же ставим галочку "Очистить перед добавлением", которая добавит перед каждым импортом команду TRUNCATE TABLE, которая очистит всю таблицу от данных перед вставкой. Вот, собственно, и все. Меняем префикс и делаем импорт.
« Последнее редактирование: 29.09.2016, 22:40:20 от SeBun »
Оказываю услуги по Joomla | Миграция на Joomla 3.x | Сопровождение | IT-аутсорсинг
*

natalileto

  • Новичок
  • 18
  • 0 / 0
Помогите пожалуйста советом.
Нужно импортировать  несколько таблиц (контент, меню, модули, линки) БД старого сайта, который был на Joomla 1.5, на новый сайт на Joomla 3.
Суффиксы одинаковые. При импорте пишет  - 1054 - Unknown column 'name' in 'field list' 
Я понимаю, что структура таблиц у версий Joomla разная....но что ж тогда делать? Есть какой-то способ, друзья? *ОХ-Х-Х*


 
*

sivers

  • Давно я тут
  • 844
  • 97 / 0
Либо в файле (выгрузка старой таблицы) заменить поле name на другое, которое есть в новой таблице (вероятнее всего это title), либо создать такое поле (name) в новой таблице, импортнуть, а потом уже запросом скопировать значение в другое поле.

Но это все сгодится только если у вас новая таблица пустая (что вряд ли). Иначе получите описанную выше ошибку #1062 - Duplicate entry '1' for key 'PRIMARY' - это когда ИДы совпадают в новой и старой. Как по мне, лучший выход - это импортнуть таблицу с другим именем (или другим префиксом, а потом, когда обе таблицы в одной базе, аккуратно скопировать данные из одной в другую скл-запросом.

Еще вариант - посмотреть какие ИД в новой таблице присутствуют в таблице старого сайта и поменять их (поменять в новой таблице). Потом импортить.
На связи в телеге @sivers
*

natalileto

  • Новичок
  • 18
  • 0 / 0
Либо в файле (выгрузка старой таблицы) заменить поле name на другое, которое есть в новой таблице (вероятнее всего это title), либо создать такое поле (name) в новой таблице, импортнуть, а потом уже запросом скопировать значение в другое поле.

Но это все сгодится только если у вас новая таблица пустая (что вряд ли). Иначе получите описанную выше ошибку #1062 - Duplicate entry '1' for key 'PRIMARY' - это когда ИДы совпадают в новой и старой. Как по мне, лучший выход - это импортнуть таблицу с другим именем (или другим префиксом, а потом, когда обе таблицы в одной базе, аккуратно скопировать данные из одной в другую скл-запросом.

Еще вариант - посмотреть какие ИД в новой таблице присутствуют в таблице старого сайта и поменять их (поменять в новой таблице). Потом импортить.

Спасибо за совет, sivers! ^-^ Буду пробовать. Знаний маловато, не знаю пока, как делать скл-запрос, но я погуглю)
*

sivers

  • Давно я тут
  • 844
  • 97 / 0
но я погуглю)
это правильно. а так то можно еще и спросить здесь )
На связи в телеге @sivers
*

natalileto

  • Новичок
  • 18
  • 0 / 0
 Импортнула таблицу с другим именем. Теперь обе таблицы в одной базе. Как скопировать данные из одной в другую скл-запросом?... как сложно то)
*

sivers

  • Давно я тут
  • 844
  • 97 / 0
Код
INSERT INTO `имя_принимающей_таблицы` (`поле1`, `поле2`, `поле3`)
SELECT `соотв.поле1`, `соотв.поле2`, `соотв.поле3 FROM `имя_таблицы_источника`
При этом количество полей в скобках (первая строка) и в селекте (вторая) обязательно должно совпадать по количеству и по типам (ну и по смыслу тоже), при этом сами имена полей могут не совпадать. Проанализируйте состав полей новой и старой таблиц и пропишите в правильном порядке соответствующие друг другу.
На связи в телеге @sivers
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Как в БД массово перенести материалы в другую категорию?

Автор dron

Ответов: 7
Просмотров: 144
Последний ответ 12.11.2019, 19:21:55
от dron
Добавить тему из другого сайта

Автор jeshblesh

Ответов: 2
Просмотров: 111
Последний ответ 12.11.2019, 09:29:43
от wishlight
Вопрос про кэширование сайта

Автор Dragunskich

Ответов: 2
Просмотров: 131
Последний ответ 12.11.2019, 08:32:48
от xpank
Компоненты, модули для спортивного сайта

Автор vladimir86

Ответов: 7
Просмотров: 153
Последний ответ 11.11.2019, 22:10:50
от Kostelano
Задать alt изображениям сайта

Автор simatic007

Ответов: 2
Просмотров: 137
Последний ответ 30.10.2019, 19:49:21
от rsn