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

alex-143390

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

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

SeBun

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

alex-143390

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

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

SeBun

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

alex-143390

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


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

SeBun

  • BanMaster
  • 4018
  • 259 / 5
  • @SeBun48

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


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

natalileto

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


 
*

sivers

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

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

natalileto

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

sivers

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

Шаблон для данной страницы недоступен. сообщите об этом Администратору сайта

Автор 62411

Ответов: 2
Просмотров: 192
Последний ответ 30.03.2024, 13:15:16
от web1
Убрать блок в мобильной версии сайта

Автор Grigorii

Ответов: 10
Просмотров: 682
Последний ответ 10.02.2024, 19:38:34
от darkghost
[Решено] Перестали работать переходы по меню сайта

Автор AlexP750

Ответов: 12
Просмотров: 539
Последний ответ 06.02.2024, 12:42:26
от AlexP750
Замена данных сайта на данные поддомена

Автор rezchik

Ответов: 5
Просмотров: 393
Последний ответ 05.02.2024, 11:45:36
от web1
Joomla 3.10.12 и MySQL 8

Автор designer71

Ответов: 0
Просмотров: 399
Последний ответ 19.10.2023, 11:25:18
от designer71