neighborhoods/kojo-phinx-templates

Kōjō 的 Phinx 模板。

2.0.0 2021-03-19 08:31 UTC

This package is auto-updated.

Last update: 2024-08-25 23:39:51 UTC


README

一个用于生成 Kōjō 相关的 Phinx 迁移和种子的开发者工具。

安装

通过 Composer 作为开发依赖项

$ composer require --dev neighborhoods/kojo-phinx-templates

您还应将 PhinxKōjō 作为直接依赖项。不要依赖此包自动引入它们,尤其是当这是一个开发依赖项时。

此包需要 Phinx 0.12.5 或更高版本。如果您在运行上述命令时遇到问题,请将 composer.json 文件发送给代码所有者。

用例

以下描述了可能的用例。

Kōjō 设置

为 Kōjō 设置创建迁移。每个使用 Kōjō 的项目都应该有它。

vendor/bin/phinx create InstallKojo --template=vendor/neighborhoods/kojo-phinx-templates/src/Migration/InstallKojoMigration.template.php.dist

如果您打开该文件,您会看到模板假定 Kōjō 参数位于当前工作目录中的 kojo-environment 文件夹内。
这是因为 kojo-environment 文件夹通常位于应用程序根目录中,迁移通常使用 vendor/bin/phinx migrate 命令在此处运行。
您可能需要更新 Kōjō 参数的路径。如果是这样,请考虑在迁移文件中使用相对路径定义它,使用 __DIR__ 常量。

工作类型创建

为每个新工作生成一个定义工作类型的迁移。在这些示例中,工作名称为 Observer。使用更具描述性的名称,如组件名称。

vendor/bin/phinx create CreateObserverJobType --template=vendor/neighborhoods/kojo-phinx-templates/src/Migration/CreateJobTypeMigration.template.php.dist

打开生成的迁移,更新工作类型属性。迁移中的值不应依赖于其他类。复制常量值,而不是引用它们。

感谢 @jpmarcotte 对此问题的见解。

工作调度

如果合适,创建一个调度工作的种子。这对于重新安排自己的工作非常有用,提供了一种启动初始工作的方式。

vendor/bin/phinx seed:create ObserverJobSeeder --template=vendor/neighborhoods/kojo-phinx-templates/src/Seed/JobSeeder.template.php.dist

打开生成的种子并更新 JOB_TYPE_CODE 常量。

在需要启动工作的时候运行生成的种子。

vendor/bin/phinx seed:run -s ObserverJobSeeder

自动重新安排的工作应该在创建工作类型后进行种子。将种子集成到迁移中简化了部署过程,并确保工作只进行一次种子。
通过运行以下命令生成种子迁移。

vendor/bin/phinx create SeedObserverJob --template=vendor/neighborhoods/kojo-phinx-templates/src/Migration/SeedJobMigration.template.php.dist

打开生成的迁移并在所需的种子文件路径中更新 Seed 类名,up()down() 方法。