Class lispa\amos\core\migration\AmosMigrationWorkflow
Inheritance | lispa\amos\core\migration\AmosMigrationWorkflow » yii\db\Migration » yii\base\Component » yii\base\Object |
---|---|
Implements | yii\base\Configurable, yii\db\MigrationInterface |
Uses Traits | yii\db\SchemaBuilderTrait |
Class AmosMigrationWorkflow
This class is useful to add all the configurations for a new workflow. The only method to override is "setWorkflow". This method return an array of configurations array. In this array you can specify all workflow configuration. There are three type of workflow configuration defined in class constants: self::TYPE_WORKFLOW, self::TYPE_WORKFLOW_STATUS, self::TYPE_WORKFLOW_TRANSITION, self::TYPE_WORKFLOW_METADATA.
A single workflow configuration is also an array like this: [
'type' => "CONFIGURATION_TYPE",
"OTHER_FIELDS"
]
A workflow configuration is like this: [
'type' => AmosMigrationWorkflow::TYPE_WORKFLOW,
'id' => 'WORKFLOW_ID',
'initial_status_id' => 'STATUS_ID'
]
A workflow status configuration is like this: [
'type' => AmosMigrationWorkflow::TYPE_WORKFLOW_STATUS,
'id' => 'STATUS_ID',
'workflow_id' => 'WORKFLOW_ID',
'label' => 'Workflow status description',
'sort_order' => 0 // An integer
]
A workflow status transition configuration is like this: [
'type' => AmosMigrationWorkflow::TYPE_WORKFLOW_TRANSITION,
'workflow_id' => 'WORKFLOW_ID',
'start_status_id' => 'START_STATUS_ID',
'end_status_id' => 'END_STATUS_ID'
]
A workflow metadata configuration is like this: [
'type' => AmosMigrationWorkflow::TYPE_WORKFLOW_METADATA,
'workflow_id' => 'WORKFLOW_ID',
'status_id' => 'STATUS_ID',
'key' => 'KEY_TO_ADD',
'value' => 'KEY_VALUE'
]
The preferred method to create a migration that create a workflow and override "setWorkflow" method is like this: protected function setWorkflow() {
return ArrayHelper::merge(
parent::setWorkflow(),
$this->workflowConf(),
$this->workflowStatusConf(),
$this->workflowTransitionsConf(),
$this->workflowMetadataConf()
);
} The methods are all private and are all to be created at own developer discretion, because all the configurations can stay in one array in setWorkflow() method.
Public Properties
Property | Type | Description | Defined By |
---|---|---|---|
$behaviors | yii\base\Behavior[] | List of behaviors attached to this component | yii\base\Component |
$db | yii\db\Connection|array|string | The DB connection object or the application component ID of the DB connection that this migration should work with. | yii\db\Migration |
$processInverted | boolean | lispa\amos\core\migration\AmosMigrationWorkflow |
Public Methods
Method | Description | Defined By |
---|---|---|
__call() | Calls the named method which is not a class method. | yii\base\Component |
__clone() | This method is called after the object is created by cloning an existing one. | yii\base\Component |
__construct() | Constructor. | yii\base\Object |
__get() | Returns the value of a component property. | yii\base\Component |
__isset() | Checks if a property is set, i.e. defined and not null. | yii\base\Component |
__set() | Sets the value of a component property. | yii\base\Component |
__unset() | Sets a component property to be null. | yii\base\Component |
addColumn() | Builds and executes a SQL statement for adding a new DB column. | yii\db\Migration |
addCommentOnColumn() | Builds and execute a SQL statement for adding comment to column | yii\db\Migration |
addCommentOnTable() | Builds a SQL statement for adding comment to table | yii\db\Migration |
addForeignKey() | Builds a SQL statement for adding a foreign key constraint to an existing table. | yii\db\Migration |
addPrimaryKey() | Builds and executes a SQL statement for creating a primary key. | yii\db\Migration |
alterColumn() | Builds and executes a SQL statement for changing the definition of a column. | yii\db\Migration |
attachBehavior() | Attaches a behavior to this component. | yii\base\Component |
attachBehaviors() | Attaches a list of behaviors to the component. | yii\base\Component |
batchInsert() | Creates and executes an batch INSERT SQL statement. | yii\db\Migration |
behaviors() | Returns a list of behaviors that this component should behave as. | yii\base\Component |
bigInteger() | Creates a bigint column. | yii\db\SchemaBuilderTrait |
bigPrimaryKey() | Creates a big primary key column. | yii\db\SchemaBuilderTrait |
binary() | Creates a binary column. | yii\db\SchemaBuilderTrait |
boolean() | Creates a boolean column. | yii\db\SchemaBuilderTrait |
canGetProperty() | Returns a value indicating whether a property can be read. | yii\base\Component |
canSetProperty() | Returns a value indicating whether a property can be set. | yii\base\Component |
char() | Creates a char column. | yii\db\SchemaBuilderTrait |
className() | Returns the fully qualified name of this class. | yii\base\Object |
createIndex() | Builds and executes a SQL statement for creating a new index. | yii\db\Migration |
createTable() | Builds and executes a SQL statement for creating a new DB table. | yii\db\Migration |
date() | Creates a date column. | yii\db\SchemaBuilderTrait |
dateTime() | Creates a datetime column. | yii\db\SchemaBuilderTrait |
decimal() | Creates a decimal column. | yii\db\SchemaBuilderTrait |
delete() | Creates and executes a DELETE SQL statement. | yii\db\Migration |
detachBehavior() | Detaches a behavior from the component. | yii\base\Component |
detachBehaviors() | Detaches all behaviors from the component. | yii\base\Component |
double() | Creates a double column. | yii\db\SchemaBuilderTrait |
down() | This method contains the logic to be executed when removing this migration. | yii\db\Migration |
dropColumn() | Builds and executes a SQL statement for dropping a DB column. | yii\db\Migration |
dropCommentFromColumn() | Builds and execute a SQL statement for dropping comment from column | yii\db\Migration |
dropCommentFromTable() | Builds a SQL statement for dropping comment from table | yii\db\Migration |
dropForeignKey() | Builds a SQL statement for dropping a foreign key constraint. | yii\db\Migration |
dropIndex() | Builds and executes a SQL statement for dropping an index. | yii\db\Migration |
dropPrimaryKey() | Builds and executes a SQL statement for dropping a primary key. | yii\db\Migration |
dropTable() | Builds and executes a SQL statement for dropping a DB table. | yii\db\Migration |
ensureBehaviors() | Makes sure that the behaviors declared in behaviors() are attached to this component. | yii\base\Component |
execute() | Executes a SQL statement. | yii\db\Migration |
float() | Creates a float column. | yii\db\SchemaBuilderTrait |
getBehavior() | Returns the named behavior object. | yii\base\Component |
getBehaviors() | Returns all behaviors attached to this component. | yii\base\Component |
hasEventHandlers() | Returns a value indicating whether there is any handler attached to the named event. | yii\base\Component |
hasMethod() | Returns a value indicating whether a method is defined. | yii\base\Component |
hasProperty() | Returns a value indicating whether a property is defined for this component. | yii\base\Component |
init() | lispa\amos\core\migration\AmosMigrationWorkflow | |
insert() | Creates and executes an INSERT SQL statement. | yii\db\Migration |
integer() | Creates an integer column. | yii\db\SchemaBuilderTrait |
isProcessInverted() | lispa\amos\core\migration\AmosMigrationWorkflow | |
manageRemoveConfs() | This method manages the remove of workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
money() | Creates a money column. | yii\db\SchemaBuilderTrait |
off() | Detaches an existing event handler from this component. | yii\base\Component |
on() | Attaches an event handler to an event. | yii\base\Component |
primaryKey() | Creates a primary key column. | yii\db\SchemaBuilderTrait |
renameColumn() | Builds and executes a SQL statement for renaming a column. | yii\db\Migration |
renameTable() | Builds and executes a SQL statement for renaming a DB table. | yii\db\Migration |
safeDown() | This method contains the logic to be executed when removing this migration. | lispa\amos\core\migration\AmosMigrationWorkflow |
safeUp() | This method contains the logic to be executed when applying this migration. | lispa\amos\core\migration\AmosMigrationWorkflow |
setProcessInverted() | lispa\amos\core\migration\AmosMigrationWorkflow | |
smallInteger() | Creates a smallint column. | yii\db\SchemaBuilderTrait |
string() | Creates a string column. | yii\db\SchemaBuilderTrait |
text() | Creates a text column. | yii\db\SchemaBuilderTrait |
time() | Creates a time column. | yii\db\SchemaBuilderTrait |
timestamp() | Creates a timestamp column. | yii\db\SchemaBuilderTrait |
trigger() | Triggers an event. | yii\base\Component |
truncateTable() | Builds and executes a SQL statement for truncating a DB table. | yii\db\Migration |
up() | This method contains the logic to be executed when applying this migration. | yii\db\Migration |
update() | Creates and executes an UPDATE SQL statement. | yii\db\Migration |
Protected Methods
Method | Description | Defined By |
---|---|---|
afterAddConfs() | Override this to make operations after adding the workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
afterRemoveConfs() | Override this to make operations after removing the workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
beforeAddConfs() | Override this to make operations before adding the workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
beforeRemoveConfs() | Override this to make operations before removing the workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
getDb() | yii\db\SchemaBuilderTrait | |
setWorkflow() | Override this method to set all the workflow configurations. | lispa\amos\core\migration\AmosMigrationWorkflow |
Constants
Constant | Value | Description | Defined By |
---|---|---|---|
TYPE_WORKFLOW | 'workflow' | lispa\amos\core\migration\AmosMigrationWorkflow | |
TYPE_WORKFLOW_METADATA | 'workflow_metadata' | lispa\amos\core\migration\AmosMigrationWorkflow | |
TYPE_WORKFLOW_STATUS | 'workflow_status' | lispa\amos\core\migration\AmosMigrationWorkflow | |
TYPE_WORKFLOW_TRANSITION | 'workflow_transition' | lispa\amos\core\migration\AmosMigrationWorkflow |
Property Details
Method Details
Override this to make operations after adding the workflow configurations.
protected boolean afterAddConfs ( ) |
Override this to make operations after removing the workflow configurations.
protected boolean afterRemoveConfs ( ) |
Override this to make operations before adding the workflow configurations.
protected boolean beforeAddConfs ( ) |
Override this to make operations before removing the workflow configurations.
protected boolean beforeRemoveConfs ( ) |
public void init ( ) | ||
throws | Exception |
---|
public boolean isProcessInverted ( ) |
This method manages the remove of workflow configurations.
public boolean manageRemoveConfs ( ) |
This method contains the logic to be executed when removing this migration.
This method differs from down() in that the DB logic implemented here will be enclosed within a DB transaction. Child classes may implement this method instead of down() if the DB logic needs to be within a transaction.
Note: Not all DBMS support transactions. And some DB queries cannot be put into a transaction. For some examples,
please refer to implicit commit. If this is the case,
you should still implement up()
and down()
, instead.
public boolean safeDown ( ) | ||
return | boolean | Return a false value to indicate the migration fails and should not proceed further. All other return values mean the migration succeeds. |
---|
This method contains the logic to be executed when applying this migration.
This method differs from up() in that the DB logic implemented here will be enclosed within a DB transaction. Child classes may implement this method instead of up() if the DB logic needs to be within a transaction.
Note: Not all DBMS support transactions. And some DB queries cannot be put into a transaction. For some examples,
please refer to implicit commit. If this is the case,
you should still implement up()
and down()
, instead.
public boolean safeUp ( ) | ||
return | boolean | Return a false value to indicate the migration fails and should not proceed further. All other return values mean the migration succeeds. |
---|
public void setProcessInverted ( $processInverted ) | ||
$processInverted | boolean |
Override this method to set all the workflow configurations.
protected array setWorkflow ( ) |