2013-09-11 3 views
3

Здравствуйте,Обновление nopcommerce 2,8 до 3,10

Я новичок в NopCommerce. У меня есть изменения в Nop.Core, Nop.Data и Nop.Services. У меня есть изменения и в некоторых контроллерах, Model и представлении Nop.web.

Если я хочу обновить версию nopcommerce с 2,8 до 3.10, то каким способом легко и удобно.

1) Я создаю резервную копию своего файла и получаю обновление. Как только обновление будет завершено, я могу заменить только те части, которые я обновил и отличаюсь от исходного кода? Могу ли я добавить новый метод, который находится в моем резервном файле, но не в исходном коде?

2) Или Могу ли я создать новый плагин или другим способом.

[Например: у меня есть изменение в таблице продуктов и добавлять новые поля, как размер, возраст, цвет.]

Пожалуйста, дайте мне знать ваши ценные замечания.

Thanks

ответ

5

Нет прямого правильного или неправильного ответа. Я предлагаю подход, который я принял. Предполагая, что у вас есть изменения в коде и изменения базы данных поверх базы nop 2.80.

Земляные работы

Запишите список подробных изменений. (Дополнительные функции, которые вы добавили поверх 2.80.)

Проверьте с помощью 3.10, если какая-либо из ваших модификаций поддерживается из коробки.

Модифицированный счет был 250 (очень подробный до оценки).

подход

  1. Upgrade 2,80 дБ до 3,10 дБ.
  2. Изменить код 3.10 для поддержки новых функций 2.80.

DB Обновление

  1. Найти хороший инструмент сравнения базы данных. ex: SQL Compare.
  2. Восстановите свою производственную (2.80) БД на ваш компьютер и установите npt 3.10 db на свой компьютер.
  3. Сравните таблицу DB по таблице. В принципе, вы собираетесь обновить 2,80 дБ до 3,10 дБ, сравнив схему 3.10.
  4. Alter/Delete/Добавить новые столбцы в 2.80, сравнив 3.10.
  5. Создать информацию о магазине (таблица магазинов). Это новая функция в 3.10, а StoreID - для большинства других таблиц.
  6. Обновить данные о клиентах в соответствии с схемой 3.10.
  7. Информация о продукте. Таблица ProductVariant теперь объединена с таблицей Product. Поэтому необходимо обновить таблицу продуктов.
  8. Обновить данные для заказа. OrderVariant теперь OrderItem. Поэтому переместите данные.
  9. Перемещение других таблиц.

я использовал для создания единого сценария SQL, который

  1. Восстанавливает Производство БД из файла резервной копии.
  2. Блок сценариев для каждой таблицы, который обновляет каждую таблицу и заполняет данные.

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

В дополнение к этому, если вы объединяете 2 или больше магазинов в к одному,

  1. Добавить всю информацию магазин в шаге 5.
  2. Теперь создайте отдельный сценарий для каждого магазина с этой точки.
  3. Вам необходимо найти другой порядковый номер для OrderId & Идентификатор клиента. Не может быть одинаковым.
  4. Когда вы добавляете 2-й или более магазин, проверьте наличие существующего клиента перед добавлением.

Проверить 01

Теперь возьмите свежую 3,10 базу коды и запустить против перенесенного дб. Все должно работать хорошо, если вы правильно выполнили миграцию.

код Обновление

Там есть существенные изменения, которые будут сделаны по коду простого, потому что есть noProductVariant стола. Поэтому вся пользовательская логика должна быть переписана.

Основная проблема - выставление счетов. Если у вас более одного магазина, для каждого хранилища нет настроек электронной почты. Так что придется настраивать тоже.

Хороший подход был бы,

  1. ли все клиент сторона электронной коммерции кулак.
  2. Затем выполните административную сторону.
  3. Если клиент и администратор в той же функциональности, сделайте вместе. например, пользовательская модификация при размещении заказа на поставку.
  4. Не будет большой модификации, необходимой для плагинов.

Проверка 02

Запуск перенесенной DB с обновленными 3,10 кода. Все должно работать.

На Большой день

  1. резервного копирования Производство DB и производство базового кода.
  2. Запустите сценарии обновления и замените новую базу кода.
  3. Нет 3-го шага, так как вы сделали всю тяжелую работу до этого.
  4. Хорошо, если вы завинчиваете, то откатываете назад.

Чем Примечание

Я узнал их тестированием. Слава богу, я нашел их до фактической миграции.

В то время, когда мы проводили миграцию на то, как настроить полное решение для нескольких магазинов на стороне коммерции, подробных инструкций нет. Существует инструкция here о том, как настроить nop-коммерцию на рабочем сервере. но я не охватываю все аспекты.

Мы использовали сервер VPS для размещения нашей платформы. Если вы используете VPS, будьте осторожны: SNI необходимо использовать, если вы правильно настроили мультисервер. Только IIS 8 и выше поддерживает SNI. Это означает, что вам нужен Windows 2012 Server. См. here и here для получения дополнительной информации о SNI

Мы использовали Pleask для управления сервером. Поэтому настройте основной домен как основной и все остальные магазины как псевдоним. В стороне IIS RDP в VPS и настройка SSL для каждого домена с использованием функции SNI для IIS8

Внизу стороны SNI не поддерживаются всеми старыми браузерами. См. here.

Ограничения

Если вы используете Pleask, то электронная почта не будет работать очень хорошо. Поскольку почтовый ящик будет создан только для основных доменов, а все остальные псевдонимы будут использовать одни и те же учетные записи электронной почты. Таким образом, вы можете отправить ответ с псевдонимом электронной почты. к сожалению, из-за его нераспространения.

Я не нашел решение для этого. работая над этим.

0

Я бы рекомендовал делать базу данных постепенно. Согласно upgrade guide, вы должны применять скрипты обновления по одному, просто прочитайте руководство и получите его.

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