экспорт и импорт данных из одной пользовательской установки в другую - PullRequest
3 голосов
/ 26 августа 2011

Я хочу предоставить пользователям функциональность экспорта данных из одной установки плагина WordPress с одного сайта на другой. «Плагин WordPress» не имеет значения, меня интересует рекомендуемый подход к экспорту / импорту данных в приложении PHP, в котором данные хранятся в базе данных MySql. Данные связаны друг с другом в базе данных.

Я интересуюсь:

  • Какой формат рекомендуется для хранения данных в экспортированном файле (JSON, Xml, сериализованный)? Принимая во внимание, что данные связаны друг с другом полями в каждой таблице MySql, и это может быть очень большим.

Пример:

Стол ученика имеет: ID, Имя и Class_ID ...

Таблица классов имеет: ID, описание ...

  • Какие рекомендации позволяют избежать определенных проблем пользователей с конфигурациями хостинга , которые могут повлиять на экспорт или импорт большого объема данных?

Пример: время выполнения, максимальный размер файлов, максимально допустимые запросы к базе данных


Важно позаботиться о том, чтобы в целевой системе уже были данные с такими же значениями в полях, объявленных как ключи, например:

Я экспортирую Класс с

ID = 5 и Description = "Это классный класс"

и в базе данных назначения уже может быть класс с:

ID = 5 и Description = "Это другой старый класс"

Где ID - это первичный ключ в таблице «Класс».


Любая идея об этом будет оценена. Если потребуется какая-то другая информация, дайте мне знать.

Спасибо заранее.

1 Ответ

1 голос
/ 26 августа 2011

Я бы предложил вам записать ваши данные в XML. Это означает, что вы должны создать XML при экспорте, а затем вы должны прочитать XML-файл при вводе. Таким образом, вы контролируете формат и можете изменить способ обработки импорта между версиями вашего плагина.

Я могу добавить немного больше информации о том, как это сделать, если вам нужно, но, похоже, вы просто искали информацию об общих подходах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...