neighborhoods / kojo-phinx-templates
Kōjō 的 Phinx 模板。
Requires
- php: >=7.2
- neighborhoods/kojo: ^5
- robmorgan/phinx: ^0.12.5
README
一个用于生成 Kōjō 相关的 Phinx 迁移和种子的开发者工具。
安装
通过 Composer 作为开发依赖项
$ composer require --dev neighborhoods/kojo-phinx-templates
您还应将 Phinx 和 Kō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()
方法。