Для начала я думаю, что наиболее важным моментом является то, что вы должны любой ценой избегать написания любых сценариев, которые будут передавать ваши данные с рабочего сервера на другой. Потенциальная опасность работы с вашими живыми данными для одной миграции должна быть достаточной причиной.
Тем не менее, я могу посоветовать несколько практик, которые, я думаю, могут быть полезны для такой задачи.
- Возьмите все данные с вашего производственного сервера и поместите их в devbox, который полностью и полностью разделен. Отмените риск для ваших исходных данных, а также влияние на производительность сервера.
- Оказавшись на строго разработанной платформе, я бы порекомендовал, если это вообще возможно, сохранить все ваши данные в движении от SQL к SQL, а не писать сценарии на каком-то промежуточном языке. Конечно, ваша новая структура может полностью запрещать подобный подход, но в целом приходится беспокоиться о переносе данных со строгого, надежного типа данных на другой язык (например, PHP без типа или со строгим типом .net) обратно на база данных добавляет ряд шагов, которые усложняют вашу задачу, добавляют вычислительные часы и потенциально необузданные потери.
- Потратьте столько времени на проверку интеллекта новой схемы проектирования, сколько у вас есть время и силы для этого. Если ваши руки не связаны, попробуйте визуализировать, действительно ли изменения - это улучшения - и что неизбежные переписывания запросов повышают эффективность и удобочитаемость.
Я уверен, что есть ряд других вещей, на которые стоит обратить внимание, но я надеюсь, что они достаточно полезны, чтобы помочь вам перейти от одной схемы к другой. Не увлекайтесь удаленными серверами, если вероятен локальный, а затем импортируйте. Сохраняйте это простым!