CakePHP 3.7。*迁移:跳过或更改schema.lock文件生成路径

问题描述 投票:0回答:1

来自文档:

为了使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进行应用程序部署。

@ platform config文件我们有这样的行:

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]

有没有办法在可写的tmp目录中生成* .lock文件?

cakephp cakephp-3.7
1个回答
1
投票

它不是试图创建.lock文件,因为你告诉它在你的命令中跳过那部分。

相反,它正在尝试创建seeds directory,因为它无法找到它。如果文档是正确的,添加config/Seeds目录应该允许它继续经过该步骤并成功或阐明另一个问题。

© www.soinside.com 2019 - 2024. All rights reserved.