Size: a a a

2020 December 19

ДЩ

Дмитрий Щербаков... in phpGeeks
таким образом мы можем внезапно поменять в конфиге путь до каталога и базу трогать не нужно будет
источник

AS

Alexey Shatunov in phpGeeks
Павел Г.
В БД я вижу плюсы, что без дополнительных таблиц и данных я могу получить путь. В конфиге - не храним в каждой строке одинаковые folderPath и можем менять папки
проблема в консистентности.. проще говоря и путь без перекладывания файла не изменится никогда, то есть одной БД все равно недостаточно
источник

AS

Alexey Shatunov in phpGeeks
поэтому абсолютные пути тоже вполне норм - чтобы при показе файла в конфиг не смотреть
источник

ПГ

Павел Г. in phpGeeks
Дмитрий Щербаков
нее погоди, в конфиге мы храним путь до корневого каталога хранилища, а в бд мы храним путь до файла

в нашем случае это допустим /var/upload/
а в бд ab/cd/abcdegfghi.pdf
Можно в конфиге хранить:
```
'uploadPath' =  /var/upload/
'UserImagesPath' ='Users'

```
В бд:
abcdegfghi.pdf
А полный путь из uploadPath + UserPath + UserIdFromDb + ImageFromDb
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
в моем случае я вижу профит когда сегодня у нас /var/upload/ а завтра хуяк и S3 )) и базу трогать не нужно будет
источник

AS

Alexey Shatunov in phpGeeks
Дмитрий Щербаков
в моем случае я вижу профит когда сегодня у нас /var/upload/ а завтра хуяк и S3 )) и базу трогать не нужно будет
ну проблем не в трогании базы а на деле всегда именно в перекладывании файлов) если уж ее решить то и пути в БД поменять вообще изи
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
Alexey Shatunov
поэтому абсолютные пути тоже вполне норм - чтобы при показе файла в конфиг не смотреть
зато захочешь поменять хранилище на S3 вместо локального и привет
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
Alexey Shatunov
ну проблем не в трогании базы а на деле всегда именно в перекладывании файлов) если уж ее решить то и пути в БД поменять вообще изи
ну просто лишнее телодвижение делать
источник

ПГ

Павел Г. in phpGeeks
Дмитрий Щербаков
в моем случае я вижу профит когда сегодня у нас /var/upload/ а завтра хуяк и S3 )) и базу трогать не нужно будет
Мммм вот уже интересный кейс, только тут дело наверное не В в БД а в коде.
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
файлы переложить более изи. через какой-нибудь sync
источник

ПГ

Павел Г. in phpGeeks
Хотя S3 и обычные если одновременно - ...
источник

AS

Alexey Shatunov in phpGeeks
ну по мне изи это написать UPDATE с substr или типа того, в общем-то префикс поменять.. это не сложно
источник

AS

Alexey Shatunov in phpGeeks
хоть S3 хоть файлы
источник

ВС

Владислав Субботин... in phpGeeks
А я вижу один, но существенный недостаток такого подхода. Вы для всех файлов устанавливаете корневую директорию и это нельзя поменять. Разве что, у вас есть поле, "тип файла", например, в зависимости от которого в приложении есть логика, использовать относительный или абсолютный путь.
источник

ПГ

Павел Г. in phpGeeks
Ладно, прям вот вопрос в тупую: есть заказ c id =3 и имейдж abcdegfghi.pdf .

Что вы храните в бд в техническом имени/пути файла? /orders/3/images/abcdegfghi.pdf  ?
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
вот тебе еще кей, выбирать сервер S3 в зависимости от географии юзера, тут тоже профит не хранить полный путь
источник

AS

Alexey Shatunov in phpGeeks
ну да, если говорить про S3 то достаточно хранить uuid файла и id заказа - это 2 поля, опционально имя бакета если их много нужно разных (хотя можно вычислять по uuid файла его)
источник

ВС

Владислав Субботин... in phpGeeks
Дмитрий Щербаков
вот тебе еще кей, выбирать сервер S3 в зависимости от географии юзера, тут тоже профит не хранить полный путь
Сложный кейс. Это разве не решает CDN?
источник

ДЩ

Дмитрий Щербаков... in phpGeeks
Павел Г.
Ладно, прям вот вопрос в тупую: есть заказ c id =3 и имейдж abcdegfghi.pdf .

Что вы храните в бд в техническом имени/пути файла? /orders/3/images/abcdegfghi.pdf  ?
у нас фаловое хранилище само по себе, ты грузишь файл в него, а дальше id файла в таблице файлов привязывается внутри заказа
источник

ВС

Владислав Субботин... in phpGeeks
Или речь про разные изображения?
источник