Is there ways to specify path to schema in cowboy app? Maybe it's possible to set in my_app.app.src or any config file?
How to specify directory for mnesia in cowboy application?
1.7k Views Asked by Don Lino At
2
There are 2 best solutions below
Related Questions in ERLANG
- erlang os:cmd() command with UTF8 binary
- Erlang syntax error unclear
- How to index a field with mongodb-erlang
- Erlang Dialyzer: only accept certain integers?
- Erlang spawning large amounts of C processes
- erlang processes and message passing architecture
- Mnesia pagination with fragmented table
- Does Erlang Have Map?
- First word of binary string erlang
- Elixir exrm release crashes on eredis start_link
- Erlang: Returning a function from a function
- How to index existing not-indexed data in riak search?
- Why do I receive a FunctionClauseError ("no function clause matching") in this Elixir program, translated from Erlang?
- How to list all the bucket types in riak?
- oauth2 authentication support in ejabberd
Related Questions in MNESIA
- Mnesia pagination with fragmented table
- Mnesia - Replicate ram_copy table to disc_only_copy table from another node
- Mnesia - aborted with bad_type when specifying storage strategy
- Running ejabberd inside docker container is causing PREVIOUS.LOG enoent crash
- Is it guaranteed that mnesia event listeners will get each state of a record, if it changes fast?
- Erlang: optimizing mnesia tables for read/write concurrency
- Proper way to implement (Mnesia-style / wildcard / don't care) tuple matching (Erlang)
- Does MNesia support synchronization after disconnected operation?
- Improving the message throughput of ejabberd-2.1.10
- Number of seconds since January 1, 1970 00:00:00 GMT Erlang
- How are 'conventional wisdom' concepts implemented in Mnesia? Referential integrity, replication, high capacity
- ejabberd clustering running db []
- running mnesia node with its business logic as an OS deamon
- RabbitMQ inconsistent cluster
- Mnesia exception exit: {aborted,{bad_type, Record}}
Related Questions in COWBOY
- In a Phoenix application, what is the difference between the :port key of the :http and :url configurations?
- Why is my cowboy server not running?
- Include Jiffy in my Cowboy server
- I have jiffy in my src directory but it my Cowboy server crashes when I run
- [Cowboy-Erlang]: Error when pin-pointing to localhost:8080 using provided cowboy example web_server
- Best way to log access to web pages
- Error Returning boss_db data via websocket in chicago boss
- Command 'generate' not found, compiling with rebar
- Cowboy HTTP POST handlers
- Cowboy crashes when calling handling callback in REST flow
- Erlang Cowboy - Dependency crypto is specified as a dependency but is not reachable by the system
- Serving static files in Cowboy (Erlang)
- Installing gmake on Ubuntu; Cowboy server not starting
- Cowboy web server application very slow
- In the `cowboy_req` module, how does one set the 'length' and 'period' values in app config?
Related Questions in RELX
- Cannot expand $ERTS_LIB_DIR in bootfile
- OTP - Adding Couchbeam as a dependency - ** exception error: undefined function jsx:decode/1
- Permission denied when using relx for building Cowboy Quick start project
- Erlang "Kernel pid terminated" error
- Why is relx not generating a release?
- Erlang relx: add appmon but told application already started
- Startup error running erlang release built with relx
- How to use sync properly with application built using relx release assembler?
- Package management on Erlang and Elixir
- erlang dbg module not work when use relx
- How to specify directory for mnesia in cowboy application?
- Error when start erlang application (relx) release
- Erlang release, set node name for ./bin/XXXXX start -name nonode@nohost
- Starting Erlang service at boot time (using Relx for creating release)
- Setting node name dynamically at boot time
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
The path to the mnesia directory has to be provided to erlang VM before mnesia application is started through application configuration parameters. In Mnesia tutorial, this is done with the
-Application par valVM arguments syntax.What you call a cowboy application is probably an Erlang OTP release (built by relx as per cowboy tutorial). The solutions, quickly described in Cowboy issue #595, are as follows.
The choice between solutions really depends on style as well as some constraints. Any sufficiently complex release would use a configuration file, so it would be a good choice.
vm.argsseems easier to deal with. Eventually, you might need to alter the start script (for example to run several nodes from a single deployment), and include some logic to define the mnesia directory.Provide relx with a configuration file (sys_config option)
To do so, add the following term to
relx.configas documented.sys.configactually is a standard Erlang configuration file, also documented. Specifying mnesia dir is done by adding a section for mnesia application. If no other configuration is required, the file would be:Get relx to pass arguments to the vm (vm_args option)
The
vm.argsfile is actually passed to the VM through-args_fileoption. This is a simple text file with arguments.You would add the following term to
relx.configas documented.And put the following content in the
vm.argsfile:Write your own start script
relxactually creates a start script, which passes-config sys.configandargs_file vm.argsto the VM as required. You could modify this script or roll your own to actually pass the-mnesia dirargument to the VM.