Как выгрузить данные из 6 таблиц в одну при этом не потеряв ссылки?
Переделывая старый сайт заметил, что все тексты разбиты в базе данных на 6 таблиц с одинаковой структурой. Будут ли у Вас предложения как их соединить в одну? Так как на новом сайте я уже организовал одну таблицу :)
На новом сайте все ссылки идентичны ссылкам на старом, разница только в идентификаторе, поэтому встает сложность в настройке редиректа.
Тогда можно сделать дополнительную таблицу в которой будет новый id, номер cтарой таблицы и id в старой таблице. Ну и плюс сопутствующий всему этому геморрой.
Описываю, как сделал:
1. добавил в новую таблицу поле oldUrl в котором хранится ссылка со старого сайта "/novosti?i=1054582"
2. установил автоикремент у таблицы на последний id из всех таблиц + 1
3. в контроллере добавил условие: Если запрашиваемый id <= последний id из всех таблиц,
тогда выполняю поиск в базе данных по полю oldUrl и делаю редирект на соответсвующую статью.
Игорь:
на старом определялось по юрлу из какой таблицы брать статьи:
/novosti
/press-relizy
и т.д.
на новом ссылки остались прежними, но все статьи в одной таблице.
Иван Антонов: тогда:
сделайте разбиение по диапазону. сохраните и старые ссылки и новая структура с новыми ссылками будет работать. то есть к каждому индексу в старых таблицах добавьте префикс. при обработке старых ссылок добавляете префикс к запрашиваемому индексу и получаете нужную статью.