как настроить ATk4 для двух сайтов в одну базу данных - PullRequest
0 голосов
/ 27 октября 2011

Для производственной среды я хочу иметь настройку, которая позволяет мне обновлять код веб-сайта, но только направить небольшое количество пользователей на страницы с новым кодом (например, я и тот, кто зарегистрировал ошибку / расширение), так что мой план состоит в том, чтобы иметь такую ​​настройку.

Имеют два набора всего кода в сети (альфа и бета), но только одну базу данных (я понимаю, что это означает, что мне придется тщательно управлять проблемами с базами данных и поддерживать обратную совместимость, но каждое изменение должно быть относительно небольшим и постепенным, так что думаю, что это нормально ).

В таблице пользователей есть столбец, в котором указано, идут ли они к альфа-бета-коду. Когда я закончу изменение кода и выполню модульное тестирование, код будет загружен на сайт бета-версии, и я протестирую его онлайн, поэтому только мой пользователь будет перенаправлен на бета-сайт.

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

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

Поскольку первый доступ к пользовательской информации находится в Frontend.php, каков наилучший способ сделать это - нужно ли мне иметь два API (Frontend.php) и, если да, как я могу решить, какой из них должен быть загружен на основании пользователя?

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

1 Ответ

1 голос
/ 27 октября 2011

Я бы создал 2 среды, бок о бок. API будут проверять предпочтения пользователя и перенаправлять пользователя между этими средами. Я, вероятно, не пошел бы так далеко, чтобы смешивать классы вместе или пытаться сохранить один и тот же URL для чистого контроля версий.

...