iwex
@iwex
PHP Dev

Как правильно хранить относительно статические данные?

Привет, интересует следующий вопрос: как правильней всего хранить относительно статические данные - в базе или в коде, или может совместить?

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

Потом усложним, у нас теперь есть инфа от гугловского геокодера, мы имеем place_id и крайние точки страны (bounds), это тоже как-бы неименяемые данные, но их уже похоже надо хранить в бд вместе со всем остальным что относится к странам.

Еще немного усложним, теперь нам надо развернуть приложение на другой машине, допустим список стран у нас есть, но инфы от гугла то нет, а делать 200+ запросов как некая часть миграции - тоже не вариант..

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

Хотелось бы услышать какие-то Ваши подходы, размышления, best practices. Спасибо!
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
продвинутый чайник
Статические данные или динамически изменяемые - это не важно. Данные практически всегда имеет смысл хранить отдельно от кода. В программе нужно реализовать логику обновления данных.
Еще немного усложним, теперь нам надо развернуть приложение на другой машине, допустим список стран у нас есть, но инфы от гугла то нет, а делать 200+ запросов как некая часть миграции - тоже не вариант..

Можно продумать механизм обновления БД через интернет с некоторого сервера обновлений, поддерживающим несколько версий. На нём можно хранить версии БД с включающими необходимые данные.
Другой вариант, более сложный: клиент подключается к серверу обновлений, скачивая дельту и накатывая её на локальную БД.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы