Миграции CakePHP 3.7.*: Пропустите или измените путь создания файла schema.lock

Из документации:

Чтобы функция diff работала, каждый раз при переносе, откатывании или запечатывании моментального снимка создается файл.lock для отслеживания состояния схемы базы данных в любой момент времени. Вы можете пропустить это создание файла, например, при развертывании в производственной среде, используя параметр --no-lock для вышеупомянутой команды:

$ bin/cake migrations migrate --no-lock

$ bin/cake migrations rollback --no-lock

$ bin/cake bake migration_snapshot MyMigration --no-lock

Мы используем последние CakePHP 3.7.* И platform.sh для развертывания нашего приложения.

@ Конфигурационный файл платформы у нас есть такие строки:

deploy: |
    set -e
    bin/cake migrations migrate --no-lock
...

и журнал ошибок:

PHP Warning:  fwrite(): supplied resource is not a valid stream resource in /app/vendor/cakephp/cakephp/src/Console/ConsoleOutput.php on line 253

[2019-02-12 06:21:49.622155] Launching command 'set -e
bin/cake migrations migrate --no-lock
...
Warning Error: mkdir(): Read-only file system in [/app/vendor/cakephp/migrations/src/ConfigurationTrait.php, line 74]

Есть ли способ создать файлы *.lock в доступном для записи каталоге tmp?

1 ответ

Это не пытается создать .lock файлы, потому что вы сказали, чтобы пропустить эту часть в вашей команде.

Вместо этого он пытается создать каталог seed, потому что не смог его найти. Если документы верны, добавьте config/Seeds каталог должен позволить ему продолжить этот шаг и либо преуспеть, либо осветить другую проблему.

Другие вопросы по тегам