wilr / silverstripe-tasker
1.1.0
2021-05-27 23:25 UTC
Requires
- masterminds/html5: ^2.3
- silverstripe/framework: ^4
Requires (Dev)
- phpunit/phpunit: ^5.7
- squizlabs/php_codesniffer: ^3
This package is auto-updated.
Last update: 2024-09-23 06:03:40 UTC
README
一个包含 Silverstripe BuildTask
类和标准辅助程序的集合,用于管理迁移工作流程(例如从版本 3 升级到 4)。
安装
composer require wilr/silverstripe-tasker
用法
<?php use Wilr\SilverStripe\Tasker\Traits\TaskHelpers; use Wilr\SilverStripe\Tasker\Traits\TaskerFormatter; use SilverStripe\Dev\BuildTask; class MyAppUpgradeTask extends BuildTask { use TaskerFormatter; use TaskHelpers; public function run() { $this->echoHeading('My Heading'); $this->archivePage(10); // any other tasks as below. if ($wrong) { $this->echoWarning('Shows a warning message'); } else { $this->echoSuccess('Outputs a tick'); } while (true) { // displays progress dots $this->echoProgress(); } } }
API 文档
任务
migrateTableToExistingTable ($tableName, $newClass, $mapping = [], $callback = null, $insert = true)
archivePage($pageID)
runInsertOrUpdate($table, $id, $fields)
migrateDataColumnTo($columnFrom, $tableFrom, $columnTo, $tableTo)
setInvalidEnumValuesTo ($table, $column, $defaultValue)
correctPageClass ($id, $newClassName)
renameColumn ($table, $oldColumn, $newColumn, $force = false)
removePagesOnLiveNotOnDraft()
辅助程序
hasTable ($tableName)
query ($query)
tableHasCol ($table, $col)
echoWarning ($message)
echoSuccess ($message)
echoMessage ($message)
echoLine ()
echoProgress ()
SilverStripe 平台 / CWP 部署任务
tasker
可用于在运行 dev/build
时 'hook' 更新和其他类。为此,在您的项目中创建一个 migration.yml
文件并包含以下内容
SilverStripe\CMS\Model\SiteTree:
migration_on_build: true
latest_schema_version: 2
migration_class: 'MyAppUpgradeTask'
架构版本存储在 SiteConfig 上,如果一个项目的架构版本小于此处提供的值,则 tasker
将运行提供的 migration_class
。
如果您有一系列需要执行的 BuildTask 任务(如 Solr_Reindex
),则在 tasker_jobs
键下提供类名。
SilverStripe\CMS\Model\SiteTree:
tasker_jobs:
- 'SilverStripe\FullTextSearch\Solr\Tasks\Solr_Configure'
- 'SilverStripe\FullTextSearch\Solr\Tasks\Solr_Reindex'