Этот пост на самом деле просто совет. Используйте параметры приложения на веб-сайтах Windows Azure для хранения информации о подключении к базе данных. Вопрос о Stackoverflow на днях заставил меня осознать, что использование параметров приложений на веб-сайтах Windows Azure для хранения информации о подключении к базе данных является ключом к легкой миграции и / или обновлению баз данных. Чтобы проверить свою идею, я решил перенести локальный веб-сайт WordPress на веб-сайт Windows Azure, а затем обновить базу данных. Хотя я использую WordPress, идея может быть использована для любого приложения. (Я думал, что WordPress будет хорошим примером, поскольку, как и во многих PHP-приложениях, информация о базе данных хранится в файле конфигурации.) Я не буду вдаваться в подробности, а вместо этого сосредоточусь на том, как я использовал настройки приложения, чтобы сделать миграция и обновление легко.
Первым делом я создал веб-сайт Windows Azure с базой данных MySQL и включил публикацию Git. Затем на вкладке КОНФИГУРАЦИЯ для моего сайта в портале управления я просмотрел информацию о строке подключения к базе данных и вручную скопировал ее в четыре параметра приложения:
Примечание . Обязательно нажмите «Сохранить» внизу страницы после ввода настроек приложения.
Теперь, чтобы получить доступ к настройкам приложения, мне нужно было изменить файл wp-config.php в моем приложении. Вместо того, чтобы жестко кодировать информацию о строке подключения к базе данных, мне нужно было использовать функцию getenv, чтобы получить эту информацию из настроек приложения (которые доступны как переменные среды):
// ** MySQL settings - You can get this info from your web host ** // /** The name of the database for WordPress */ define('DB_NAME', getenv('DBNAME')); /** MySQL database username */ define('DB_USER', getenv('DBUSER')); /** MySQL database password */ define('DB_PASSWORD', getenv('DBPASSWORD')); /** MySQL hostname */ define('DB_HOST', getenv('DBHOST'));
Затем я использовал Git для отправки своего локального кода на мой удаленный сайт, и я использовал mysqldump для копирования своей локальной базы данных в мою удаленную базу данных. Когда я зашел на свой веб-сайт Windows Azure, Voila !, все работало отлично.
Реальная ценность хранения информации о подключении к моей базе данных в настройках приложения пришла, когда я захотел обновить базу данных. С веб- сайтами Windows Azure вы бесплатно получаете одну базу данных MySQL объемом 20 МБ, предоставляемую ClearDB . Тем не менее, ClearDB позволяет очень легко добавлять больше баз данных MySQL разных размеров (некоторые за отдельную плату, но не все) . Выбрав размер базы данных, который отвечал моим потребностям, я смог выбрать, где она будет развернута …
… и у меня была информация о соединении в считанные минуты:
Затем я снова использовал mysqldump, чтобы скопировать мою существующую базу данных в новую (большую) БД, и мне пришлось только обновить настройки моего приложения новой информацией о подключении, чтобы начать использовать ее.
Надеемся, что это даст вам некоторые идеи о том, как использовать параметры приложения, доступные на веб-сайтах Windows Azure. Если у вас есть комментарии к этому сообщению, или если у вас есть другие идеи о полезных способах использования настроек приложения, я хотел бы услышать их в комментариях ниже.