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

alex-143390

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

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

SeBun

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

alex-143390

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

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

SeBun

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

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

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


 
*

sivers

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

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

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

natalileto

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

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

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

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

sivers

  • Завсегдатай
  • 1968
  • 268 / 0
но я погуглю)
это правильно. а так то можно еще и спросить здесь )
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

natalileto

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

sivers

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

How To: Как перенести и объединить все материалы с одной Joomla на другую

Автор ever2013

Ответов: 1
Просмотров: 55
Последний ответ 30.06.2022, 15:15:37
от effrit
Перенести сайт расписание автобусов

Автор Kliker_msk

Ответов: 4
Просмотров: 168
Последний ответ 23.06.2022, 18:39:37
от Kliker_msk
Перестали работать ссылки внутри сайта

Автор Viktor_ist

Ответов: 1
Просмотров: 191
Последний ответ 07.05.2022, 09:42:02
от Viktor_ist
Название сайта в заголовке на 2х языках

Автор onniby

Ответов: 1
Просмотров: 144
Последний ответ 04.05.2022, 18:41:35
от beliyadm
Убрать префикс языка многоязычного сайта для компонента

Автор vigiv

Ответов: 0
Просмотров: 148
Последний ответ 25.04.2022, 18:11:47
от vigiv