Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для копирования данных в другом формате / 6 сообщений из 6, страница 1 из 1
22.12.2013, 20:16:12
    #38509362
Andrew_Lvov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
Пытаюсь перенести данные из одной базы в другую. Между базами есть отличия, то есть это не миграция 1в1.
Например, в старой таблице есть таблицы users, names, surnames; в новой - просто users с соответствующими колонками.
Соответственно, некоторые данные нужно свести из нескольких таблиц, некоторые заполнить значением по-умолчанию.

С связи с этим, вопрос: есть ли готовые инструменты, которые облегчат перевод данных с изменениями под новую структуру?

И сразу второй:
Мне нужно запихнуть в поле auth_user.username значение вида 'username_{id}', где {id} - это id соответствующей записи. Как модифицировать этот запрос?
INSERT INTO new_database.auth_user (id) SELECT id FROM old_database.web_anketa WHERE id > 5;
...
Рейтинг: 0 / 0
22.12.2013, 20:54:07
    #38509387
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
Andrew_LvovПытаюсь перенести данные из одной базы в другую. Между базами есть отличия, то есть это не миграция 1в1.
Например, в старой таблице есть таблицы users, names, surnames; в новой - просто users с соответствующими колонками.
Соответственно, некоторые данные нужно свести из нескольких таблиц, некоторые заполнить значением по-умолчанию.

С связи с этим, вопрос: есть ли готовые инструменты, которые облегчат перевод данных с изменениями под новую структуру?

И сразу второй:
Мне нужно запихнуть в поле auth_user.username значение вида 'username_{id}', где {id} - это id соответствующей записи. Как модифицировать этот запрос?
INSERT INTO new_database.auth_user (id) SELECT id FROM old_database.web_anketa WHERE id > 5;

Никакая програма не придумает за вас логику миграции (если миграния не 1в1).
Значит надо будет писать логику на каком-нибудь языке.
Лучше писать на том языке который вы знаете,
например жава, перл, руби...
как вариант для логики средней сложности:
перенесите все 1в1 а потом создавайте новые таблицы из старых
средствами СКЛ.
В гугле есть какие-то ссылки по поиску "mysql etl" но насколько
они вам помогит судить не берусь.
...
Рейтинг: 0 / 0
22.12.2013, 21:23:06
    #38509397
Andrew_Lvov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
javajdbc,

А по второму вопросу можете подсказать?
...
Рейтинг: 0 / 0
22.12.2013, 21:38:00
    #38509404
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
Andrew_LvovМне нужно запихнуть в поле auth_user.username значение вида 'username_{id}', где {id} - это id соответствующей записиИмеется в виду ID записи из старой таблицы или из новой? Если из старой, то можно попробовать конкатенцию сделать прямо в селекте. Вроде такого
Код: sql
1.
... CONCAT(`old_database`.`web_anketa`.`username`, '_', `old_database`.`web_anketa`.`id`) AS `id` ....



PS: А нафига вообще нужно такое усложнение?
...
Рейтинг: 0 / 0
22.12.2013, 22:17:11
    #38509418
Andrew_Lvov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
vkle,

О, спасибо. Предположительно то, что нужно.

Задача следующая:
В конечной таблице кроме общих с исходной есть ещё поле username. Поле уникально, оставить пустым не могу. То есть, мне нужно при копировании данных сформировать значение для поля username при том, что бы оно было уникальным для каждой из тысяч записей.
...
Рейтинг: 0 / 0
23.12.2013, 08:05:41
    #38509546
shandai
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос для копирования данных в другом формате
Andrew_Lvovvkle,

О, спасибо. Предположительно то, что нужно.

Задача следующая:
В конечной таблице кроме общих с исходной есть ещё поле username. Поле уникально, оставить пустым не могу. То есть, мне нужно при копировании данных сформировать значение для поля username при том, что бы оно было уникальным для каждой из тысяч записей.

Это и есть Ваш второй вопрос, на который ответил vkle. Если вы берете записи из старой базы и id у Вас уникальные, то добавив к Username пользовательский ID т.е. «Username+ID» вы получите уникальный логин.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Запрос для копирования данных в другом формате / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]