Это можно сделать с помощью нескольких инструментов:
- Считайте переменные среды из файла и установите их перед запуском скрипта. Чтобы проверить, просто установить переменную среды перед запуском команды:
PORT=3000 node index.js
Но мы хотим прочитать переменные из файла. Это можно сделать с помощью export
и xargs
:
export $(cat app.env | xargs)
- Мы хотим запустить скрипт напрямую из
bin
в npm. Путь к папке bin
можно получить с помощью npm bin
. Поэтому нам просто нужно добавить это к пути перед запуском команды:
PATH=$(npm bin):$PATH
- Теперь соберите их вместе:
export $(cat app.env | xargs) && PATH=$(npm bin):$PATH db-migrate up
Это читает переменные окружения, устанавливает их, добавляет npm bin
к пути и затем запускает сценарий миграции.
Кстати, содержимое app.env
будет выглядеть примерно так:
PORT=3000
DB_NAME=dev
DB_USER=dev_user
DB_PASS=dev_pass