Скрипт с docker -композиционными командами. Строка не выполнена - PullRequest
0 голосов
/ 16 апреля 2020

Мой скрипт выглядит так:

#!/usr/bin/env bash

db_name="dh$1";
db_user="dh$1";
db_backup="dh$1-$2.sql";

docker stop $(docker ps -aq) \
    && docker start platform_db_$1_1 \
    && docker start platform_$1_1 \
    && docker cp $db_backup platform_db_$1_1:/$db_backup \
    && cd ../platform \
    && docker-compose exec db_$1 bash -c "dropdb -U $db_user $db_name && createdb -U $db_user $db_name && psql -U $db_user -d $db_name -f $db_backup" \
    && docker-compose exec $1 php artisan d:d:u \
    && docker-compose exec $1 php artisan settings:sync \
    && docker-compose up -d

Все отлично работает, но последняя строка docker-compose up -d и, вероятно, та, что перед docker-compose exec $1 php artisan settings:sync, не выполняется, и я понятия не имею, почему с тех пор нет сообщений об ошибках. Есть мысли?

Мне кажется, вопрос в том, что может остановить скрипт без сообщений об ошибках.

1 Ответ

0 голосов
/ 16 апреля 2020

@ Quasimodo по какой-то причине команда d:d:u останавливает сценарий (после успешного выполнения). Это метод дескриптора.

В любом случае, я установил эту команду в конце, так как она мне не нужна, и все решено. Тем не менее я не знаю, почему это произошло.

public function handle()
    {
        $this->checkEnvironment();
        $this->info('Pre-migrations');
        Artisan::call('migrate', [
            '--force' => true,
            '--path' => 'database/pre-migrations',
        ]);
        $this->info('Doctrine schema update');
        Artisan::call('doctrine:schema:update');
        $this->info('Migrations');
        Artisan::call('migrate');
        $this->info('Done');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...