Мерзавец: как заставить удаленный каталог обновить при продвижении?

Смысл наличия реляционного DB бережно хранит Ваши данные и последовательный. Момент Вы позволяете пользователям изменять схему, там идет Ваша целостность данных...

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

, Так как это - 2016, забудьте XML! Используйте JSON для хранения нереляционного мешка данных с соответственно введенным столбцом как бэкенд. Вы не должны обычно должны быть запрашивать значением внутренняя часть сумка , который будет медленным даже при том, что много современных баз данных SQL понимают JSON исходно.

7
задан Schwern 26 October 2015 в 20:34
поделиться

2 ответа

Вы не должны этого делать. Рекомендуется иметь голые репозитории. Другими словами, файлы не извлечены, только сам каталог .git. Затем вы можете проверить репозиторий в другом месте на вашем сервере, например, в корневом веб-каталоге. Таким образом, вы получите:

  • git best practice. Согласно документации Git, вы можете получить «неожиданные результаты», если не будете следовать ей. Любой, кто хорошо разбирался в программировании, знает, что «неожиданные результаты» - это код для выражения «вероятно, съест ваших детей, и их следует избегать любой ценой».

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

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

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

Я бы рекомендовал следующие шаги:

  • Следуйте документации git по настройке чистого репозитория
  • Извлеките код из вашего репо в целевой каталог живого сервиса
  • . Настройте ловушку git (после фиксации должен быть правильный IIRC), чтобы обновить вашу живую службу при обновлении репозитория. Вероятно, следует записать cd в каталог live-сервисов и выполнить команду git pull --rebase и, возможно, установить некоторые права доступа к файлам.
  • С этого момента просто вставьте свой код в репозиторий из своего окна разработчика.
8
ответ дан 6 December 2019 в 10:01
поделиться

Используйте пост- хук обновления:

4
ответ дан 6 December 2019 в 10:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: