Alexander Lamb | 2 Jul 17:38

Environment variables in applications

Hello,

I am writing an OTP application which will create a Mnesia database if  
needed (will check upon init if schema exists on that node).

Since I can't give a path in the mnesia:create_schema(node())  
function, from the documentation I read that it takes the environment  
variable "dir" so I hoped I could pass it in my application file such  
as this:

{application,cs_foundations,
	[
		{description, "Foundations for handling roles and studies"},
		{vsn,"1.0.0"},
		{modules, [sasl,cs_guuid,cs_mnesia]},
		{registered, [cs_guuid,cs_mnesia,cs_foundations_sup]},
		{applications, [kernel,stdlib,sasl]},
		{env,[]},
		{mod, {cs_foundations_app,[]}},
		{start_phases, []},
		{env, [{core_dir, "/Users/alamb/Data/Mnesia"},{dir, "/Users/alamb/ 
Data/Mnesia"}]}
	]
}.

Unfortunately, it doesn't seem to work. Any workaround?

Thanks,

Alex
(Continue reading)

Alexander Lamb | 2 Jul 18:08

Re: Environment variables in applications

Ok, I have the env entry twice, but even removing the empty one, I now  
get the environment variables "dir" and "core_dir" in my program, but  
mnesia does not seem to take them into account.

Alex

Le 2 juil. 08 à 17:41, Alexander Lamb a écrit :

> Hello,
>
> I am writing an OTP application which will create a Mnesia database if
> needed (will check upon init if schema exists on that node).
>
> Since I can't give a path in the mnesia:create_schema(node())
> function, from the documentation I read that it takes the environment
> variable "dir" so I hoped I could pass it in my application file such
> as this:
>
> {application,cs_foundations,
> 	[
> 		{description, "Foundations for handling roles and studies"},
> 		{vsn,"1.0.0"},
> 		{modules, [sasl,cs_guuid,cs_mnesia]},
> 		{registered, [cs_guuid,cs_mnesia,cs_foundations_sup]},
> 		{applications, [kernel,stdlib,sasl]},
> 		{env,[]},
> 		{mod, {cs_foundations_app,[]}},
> 		{start_phases, []},
> 		{env, [{core_dir, "/Users/alamb/Data/Mnesia"},{dir, "/Users/alamb/
> Data/Mnesia"}]}
(Continue reading)

Paul Fisher | 2 Jul 18:37

Re: Environment variables in applications

On Wed, 2008-07-02 at 17:41 +0200, Alexander Lamb wrote:
> Hello,
> 
> I am writing an OTP application which will create a Mnesia database if  
> needed (will check upon init if schema exists on that node).
> 
> Since I can't give a path in the mnesia:create_schema(node())  
> function, from the documentation I read that it takes the environment  
> variable "dir" so I hoped I could pass it in my application file such  
> as this:

It needs to be set as an attribute of the mnesia application and not
your application which uses mnesia:

$ erl -mnesia dir \"/Users/alamb/Data/Mnesia\"

--

-- 
paul


Gmane