<div dir="ltr">The priv directory was never intended for dynamic data, only for static files that are shipped with the release. Although some people put dynamic data under priv (and I've done it myself back before I knew the proper ways of OTP), it's a mistake that tends to come back and bite you one way or another, screwing up release handling, making backups more complicated, etc.<br><br>Preferably, you should be able to wipe out the entire directory where all your apps are installed, reinstall the code, and restart the system, without losing any live data or configuration files.<br></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><br>        /Richard</div></div>
<br><div class="gmail_quote">2016-01-13 20:38 GMT+01:00 Jesper Louis Andersen <span dir="ltr"><<a href="mailto:jesper.louis.andersen@gmail.com" target="_blank">jesper.louis.andersen@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class=""><br><div class="gmail_quote">On Wed, Jan 13, 2016 at 8:16 PM, Lyn Headley <span dir="ltr"><<a href="mailto:lheadley@kcptech.com" target="_blank">lheadley@kcptech.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="overflow:hidden">I am building an app which will need to store some data in files. I am<br>
wondering if others use the priv directory for this, or whether they<br>
use another place, perhaps somewhere outside of the application tree<br>
entirely.</div></blockquote></div><br></span>From experience: keep the static artifact away from the dynamic data whenever you can. It makes software upgrades much simpler since you can install another artifact next to the one you already have, move a symbolic link, and run it against the data, kept separate. It simplifies partitioning, it simplifies backup, and you can lock down writing to the tree for the user running your release.</div><div class="gmail_extra"><br></div><div class="gmail_extra">So my usual solution is: use priv for read-only data the given application is using, and use the application configuration environment to pick up the storage area for dynamic data.<span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div>J.</div>
</font></span></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>