【问题标题】:CakePHP 3.7.* migrations: skip or change schema.lock file generation pathCakePHP 3.7.* 迁移:跳过或更改 schema.lock 文件生成路径
【发布时间】:2019-02-17 07:48:22
【问题描述】:

来自文档:

为了使 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]

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

【问题讨论】:

    标签: cakephp cakephp-3.7


    【解决方案1】:

    它不会尝试创建 .lock 文件,因为您已告诉它跳过命令中的那部分。

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

    【讨论】:

    • 感谢正确的方向,我们添加了platform.yaml '/config/Seeds': 'shared:files/config/Seeds'现在迁移迁移运行没有警告
    猜你喜欢
    • 2014-07-03
    • 2017-12-18
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 2015-09-28
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多