2017-02-16 5 views
0

Мне нужно добавить переменное окружение к php artisan migrate командам Laravel для использования с грузчиком, как:перед именем с переменным окр - в том числе к югу от команды

env DB_HOST=127.0.0.1 php artisan migrate 

Я создал функцию в моем .zshrc файле, как это:

function migrate() { 
    (env DB_HOST=127.0.0.1 php artisan migrate $*) 
} 

однако путь структура команды Laravel работает как это:

migrate 
    migrate:install  Create the migration repository 
    migrate:refresh  Reset and re-run all migrations 
    migrate:reset  Rollback all database migrations 
    migrate:rollback  Rollback the last database migration 
    migrate:status  Show the status of each migration 

так это не работает для команды, как это:

migrate:refresh --seed 

есть способ, которым я могу написать функцию также добавить переменную для всех этих «ребенок» команды тоже?

+0

У вас нет нескольких переменных env? это может быть проще. – user2915097

+0

Если я правильно понимаю, мой .env-файл должен иметь 'DB_HOST = mysql', но в CLI (который находится за пределами контейнера докера) требуется' DB_HOST = 127.0.0.1', поэтому я изучаю это решение – daviestar

ответ

1

Я предполагаю, что вы хотите быть в состоянии сделать это: migrate refresh --seed, то

migrate() { 
    local subcommand=$1 
    shift 
    env DB_HOST=127.0.0.1 php artisan migrate:"$subcommand" "${@}") 
} 

Хммм, возможно,

artisan() { 
    env DB_HOST=127.0.0.1 php artisan "${@}") 
} 
for subcommand in \ 
    migrate   \ 
    migrate:install \ 
    migrate:refresh \ 
    migrate:reset \ 
    migrate:rollback \ 
    migrate:status 
do 
    alias $subcommand="artisan $subcommand" 
done 

Что бы получить вам некоторые автодополнению бесплатно, а также.

+0

@daviestar , Я голосовал, чтобы отклонить ваше редактирование. Не стесняйтесь добавлять свой собственный ответ и принимать его, если вам подходит только часть моего ответа. –

0
artisan() { 
    env DB_HOST=127.0.0.1 \ 

    php artisan "${@}" 
} 

Родовая функция для пользователей Laravel + Docker иметь гибкость, чтобы обновить переменные среды для использования с artisan вне докеров контейнеров.

Спасибо @ glenn-jackman за то, что указали мне в правильном направлении!