2014-09-08 3 views
0

Мне нужно перенести данные из старого приложения в новую. Проблема в том, что моя новая версия имеет более сложную структуру БД, и я точно не знаю, что является лучшим способом перемещения данных в новую БД.Перемещение данных в новый MySQL

Например:

OLD ТАБЛИЦА ПОЛЬЗОВАТЕЛЕЙ

id username namensurname email password active(ENUM('active', 'blocked')... 

мне нужно двигаться, что в новой БД, но новый DB расщепляется в таблице USER и User_Profile таблицы

USER table 

id username name surname email password active(BOOL(0,1)) 

USER_PROFILE table 

id user_id phone status... 

Моя проблема что мне нужно экспортировать все старые данные, но перед импортом в новую БД мне нужно реорганизовать эти данные.

Для каждого пользователя, мне нужно создать данные в User_Profile таблице

также нужно изменить роль от enum к BOOL так, где есть «активный» в старой БД в новом должен быть 1, для «заблокировано» там должно быть 0.

Я знаю, что в новой БД я мог бы использовать для статуса то же самое ENUM данных, но дело не в этом, база данных сложнее, это всего лишь несколько вещей, которые я думаю, если я узнаю, как сделайте это, я мог бы делать все, что мне нужно, с остальной частью БД.

SO! Вопрос:

Is it possible, and if it is what is the best way to transfer data. 

Оба приложения разработаны с использованием Laravel 4

+1

Возможно ли написать скрипт, который отображает данные из одной структуры БД в другую? Да. Может ли СО написать это для вас? Нет. Скоро будет закрыт этот вопрос? Скорее всего. – lafor

+0

эй, используйте MySQL Workbench для управления старой БД напрямую с помощью запросов – jondinham

ответ

0

Вы можете перенести данные на новый сервер с одним из этих подходов:

  • Создать seed class, который разбирает старые данные и вставки это в новой схеме базы данных. Вы можете работать с экземплярами новых моделей.
  • Создайте сценарий, который выполняет миграцию, не используя Laravel вообще, и обрабатывайте данные непосредственно в базе данных.
0

Посмотрите на этот package, который экспортирует вашу базу данных в качестве миграции Laravel и всех данных в качестве класса Seeder.

Смежные вопросы