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

0

Во время разработки моего php-приложения я сохранил все данные, которые приложение создает в папке приложения, и, следовательно, данные являются частью моего git-repo. Корень репо также является webroot. Это хорошо сработало для меня в начале разработки, и в то время это имело смысл для фиксации приложения вместе с данными.

Но я чувствую, что это нужно переделать сейчас по нескольким причинам. Одно из того, что размер данных становится слишком большим для меня, чтобы удобно хранить его в git-repo. Другим является то, что мне просто не нужно иметь моментальный снимок данных для данного коммита. Основная причина, я думаю, в том, что я развернул свое приложение для своего NAS (синологии) для реального использования, и я нажимаю на него с помощью webdav. И, насколько мне известно, git, невозможно или, по крайней мере, не практично делать толкает, оставляя некоторые данные в удаленном репо нетронутым.

Кроме того, было бы неплохо, хотя это не было необходимо, если бы оба приложения на nas и приложение на моем компьютере, а тестирование имеет доступ к одному и тому же каталогу данных. Это заставило меня задуматься о переносе данных из каталога приложений и получить доступ к нему через ftp. Но я не уверен, что это была бы хорошая идея, тем более, что весь "реальный" доступ к файлам был бы с того же устройства, nas.

Для чего это хорошая структура и методы доступа к файлам?

  • 0
    Теперь, когда я думаю об этом, я предполагаю, что ftp-часть действительно не имеет смысла. Я бы лучше определил, откуда приложение запускалось, и соответственно установил путь к каталогу данных, и с моего компьютера он мог бы без проблем получать доступ к папке через nfs или тому подобное, без каких-либо дополнительных изменений в приложении.
Теги:

1 ответ

1
Лучший ответ

Я всегда сохраняю свои данные в отдельном каталоге, который я беру из git с файлом.gitignore. Это означает, что когда я нажимаю изменения, я не переписываю текущие данные.

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

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

  • 0
    Ах, звучит хорошо и просто. Одна маленькая жалоба: я поместил .gitkeep-файлы в подкаталоги папки с данными, чтобы, если бы мне пришлось клонировать репозиторий и начать все заново без каких-либо данных, папка данных все равно была бы правильно структурирована. Есть ли способ сделать это легко, игнорируя при этом папку?
  • 0
    Вы можете найти то, что вы хотите в этом ответе. Этот ответ выглядит так, как будто он может соответствовать вашим потребностям; If you want an empty dir and make sure it stays 'clean' for git, create a .gitignore containing the following lines within: # .gitignore sample #ignore all files in this dir... * #... except for this one. !.gitignore Извините, это выглядит ужасно, я новичок в мини-Markdown
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню