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

alex-143390

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

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

SeBun

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

alex-143390

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

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

SeBun

  • Живу я здесь
  • 3984
  • 256 / 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

  • Живу я здесь
  • 3984
  • 256 / 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

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


 
*

sivers

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

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

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

natalileto

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

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

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

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

sivers

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

natalileto

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

sivers

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

Установка резервной копии сайта на локальный веб-сервер

Автор Nikias

Ответов: 1
Просмотров: 89
Последний ответ 07.05.2021, 12:00:14
от wishlight
Каталог сайта (Хлебные крошки)

Автор Filipov35

Ответов: 1
Просмотров: 94
Последний ответ 06.05.2021, 19:55:01
от gartes
Как передать данные при регистрации в базу?

Автор sesil

Ответов: 4
Просмотров: 148
Последний ответ 29.04.2021, 11:48:43
от sivers
Некорректно отображается меню мультиязычного сайта

Автор marat-209

Ответов: 2
Просмотров: 109
Последний ответ 31.03.2021, 12:33:25
от xpank
Вывод файлов и папок на странице сайта

Автор diman_bush

Ответов: 0
Просмотров: 98
Последний ответ 26.03.2021, 14:08:17
от diman_bush