How to set env with laravel artisan to have two different database connections (local/remote)?

Lucas Serafim picture Lucas Serafim · Jan 15, 2013 · Viewed 20.1k times · Source

I looking for setup a multi-environment project using Laravel3 but I dont understand the command to set the environment.

I see here: http://laravel.com/docs/artisan/commands The command is:

php artisan foo --env=local

I already used artisan and bob with success, what I can't undertand the foo, I try to change to my project name but always the same output: "Sorry, I can't find that task."

If I try: php artisan --env=local

That will return: "You forgot to provide the task name."

Anybody can help? Thanks for your time.

[edit] With the answers now I can understand better and improve my question:

I have a project with those folders created: http://d.pr/i/5nZS With that in mind, I need to set my local env as development and production as production. So, I can do that with any variation of the command "php artisan --env=local" or I need to add on my public/.htaccess "SetEnv LARAVEL_ENV development"?

Thanks again.

Answer

William Cahill-Manley picture William Cahill-Manley · Jan 15, 2013

"Foo" is whatever command you want to run. E.g. for migrations:

php artisan migrate --env=local

Another thing you can do is add your computers hostname to this array

For example, if my local computer name is 'Effinity.local' I could do

$environments = array(
    'local' => array('http://localhost*', 'Effinity.local'),
);

Then you do not need to specify the environment, just:

php artisan migrate

Hope that helps.