Как решить проблему потери загруженных файлов после нового развертывания приложения DOKKU

Это потому, что во втором случае сравниваются фактические объекты даты, а два объекта никогда не равны друг другу. Поверните их в число:

 alert( +startDate2 == +startDate3 ); // true

Если вы хотите более простое преобразование в число, используйте либо:

 alert( startDate2.getTime() == startDate3.getTime() ); // true

, либо

 alert( Number(startDate2) == Number(startDate3) ); // true

Oh , ссылка на спецификацию: §11.9.3 Алгоритм сравнения абстрактного равенства , который в основном говорит при сравнении объектов, obj1 == obj2 является истинным, только если они относятся к одному и тому же объекту, иначе результат будет ложным.

0
задан Djarallah Brahim 16 January 2019 в 14:24
поделиться

1 ответ

Dokku имеет то же основание, что и heroku.

Файловая система Heroku эфемерна, поэтому любые изменения в файловой системе будут жить только в последнем активном контейнере dokku, в котором запущено ваше приложение. Поэтому, когда вы нажимаете свой код, в основном, dokku создает новый контейнер с файлами вашего приложения, а затем заменяет его старым. То же самое происходит, когда вы закрываете или перезапускаете приложение.

Используя хранилище dokku, его можно заставить его работать, просто следуйте инструкциям этого руководства http://dokku.viewdocs.io/dokku~v0.7.2/advanced-usage/persistent-storage/ , но обратите внимание что вам придется использовать относительный путь ex. '/ app / storage' в вашем приложении, поэтому хранилище работает. Но по нашему опыту, после 1 года работы с приложениями dokku на prod, вы можете легко испортить файлы по таинственной причине того, как работает dokku.

Если вам действительно нужно хранить данные, я рекомендую использовать специальную службу хранения файлов, такую ​​как AWS S3, это очень дешево. Есть несколько драгоценных камней, которые вы можете использовать для хранения, которые могут легко помочь вам обрабатывать ваши файлы в S3, такие как papeclip, dragonfly, activestorage (если вы используете rails 5.2).

0
ответ дан Jorge Najera T 16 January 2019 в 14:24
поделиться
Другие вопросы по тегам:

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