从文档:
为了使差异功能起作用,每次迁移、回滚或烘焙快照时都会生成一个 .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]
有没有办法在可写的 tmp 目录中生成 *.lock 文件?