2009-04-24 3 views
0

У меня есть завершенное веб-приложение в PHP 5 + MySQL. Я еще не начал его преобразование, но он будет мигрировать в ASP.NET MVC + MS SQL 2008. Я не знаю, как прогресс для простого перехода:Миграция технологий: PHP + MySQL -> ASP.NET MVC + MS SQL 2008

  1. Редактирование PHP DAL для SQL Server. Немедленно перейти на новый db
  2. Оставьте код в реальном времени. Создайте ASP.NET MVC с MySQL DAL для использования на данный момент. Миграция в новую db позже
  3. Оставьте код в реальном времени. Напишите новую версию целиком. Переход DB и код в то же время

Есть ли какая-то общая мудрость, для которой путь лучше всего взять?


Edit: решении вопроса Дэйва:

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

Ни один из материалов ASP.NET MVC не был написан вообще. Должны быть некоторые изменения, чтобы текущий слой данных PHP работал с MS SQL. В настоящее время я использую некоторые вещи PHP + MySQL, которые не существуют с PHP + MSSQL. Ничего серьезного, но потребуется некоторое количество переоборудования. Мой уровень данных достаточно раздельный, и я надеюсь, что он не будет слишком инвазивным.

И что вы планируете выпустить? Будете ли вы вынуждены постепенно выпускать или планируете ли вы просто «щелкнуть переключателем» в один прекрасный день?

Перевернутый переключатель - это просто сайт для моей семьи. Но я не против выходить 1 дБ, и оба набора кода живут какое-то время, пока я не уверен, что новый будет в порядке.


Edit 2:

Похоже, мои возможности ограничены больше, чем я думал. Вы можете использовать только собственные функции MSSQL PHP для SQL 2000 и ранее. Для 2005+ вам нужно установить MS-драйверы. Я нахожусь на обычном хостинге, поэтому я не могу попросить их установить драйверы для меня. Похоже, у меня, к сожалению, у меня есть ответ :(

+0

Как вы работаете в базе данных? Если у вас действительно хорошее разделение между вашим кодом и базой данных и использование хранимых процедур, это, вероятно, повлияет на ответы. И каков ваш план выпуска? Будете ли вы вынуждены выпускать постепенно или вы планируете просто «перевернуть переключатель» в один прекрасный день? –

+0

Я бы сохранил базу данных mysql и перенесил ее на сервер sql, когда приложение mvc закончено. Это может сэкономить вам некоторое время, чтобы делать один за другим, а не делать одновременно оба. Когда ваши запросы не используют специфические запросы sql-dialect mysql, ваши запросы будут переноситься на sql-сервер. Это также может сэкономить вам много времени, когда вы пытаетесь использовать orm с asp.net mvc – Paco

ответ

1

Пуристы предположит, начиная с TDD, так что вы можете иметь датчик, когда миграция является достаточно полным, имея все модульные тесты проходят.

Однако, я бы предположил, что вы начинаете с приложения с нуля в ASP.NET MVC, так как оно сильно отличается от приложения, отличного от MVC PHP. Я сначала сопоставлял слой данных и строил некоторые модели, а затем работал над контроллерами и представлением. Модели данных должны довольно легко мигрировать, если вы используете визуального дизайнера поверхности студии.

0

Простым способом было бы использовать генератор приложений.

Есть много доступных, как:
- Iron Speed ​​Designer (поддерживает только ASP.NET)
- Код Charge Студия (поддерживает множество различных языков веб-сценариев, таких как PHP, ASP, ASP.NET, Pearl, и т.д.)

Я пробовал оба. Но они не были удовлетворены, поскольку они не документировали часть MVC/MVP, чтобы разработчики могли легко модифицировать сгенерированный код.

Дизайнер Iron Speeds MVC лучше по сравнению с CCS, но ISD окажется дорогостоящим, поскольку он поддерживает только один набор технологий, в то время как CCS поддерживает многие, и один может добавить поддержку нового языка с небольшой поддержкой от его разработчиков.

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