# tasks/ext/dbdeploy/DbDeployTask.php

## \DbDeployTask
jump to top

Package: phing\tasks\ext\dbdeploy

Generate SQL script for db using dbdeploy schema version table and delta scripts

Parent(s)
  \Task < \ProjectComponent
Author
  Luke Crouch at SourceForge (http://sourceforge.net)
Version
  $Revision: 1395 $

### Properties

`string $TABLE_NAME= ''changelog''`
static

The tablename to use from the database for storing all changes This cannot be changed

Default value`'changelog'`Details

Type
  string

`array $appliedChangeNumbers= 'array()'`

Array with all change numbers that are applied already

Default value `array()`Details

Type
  array

`int $checkall= 'false'`

Checkall attribute False means dbdeploy will only apply patches that have a higher number than the last patchnumber that was applied True means dbdeploy will apply all changes that aren't applied already (in ascending order)

Default value `false` Details

Type
  int

`object $dbmsSyntax= 'null'`

Contains the object for the DBMS that is used

Default value `null` Details

Type
  object

`string $deltaSet= ''Main''`

The deltaset that's being used

Default value`'Main'`Details

Type
  string

`string $dir= ''`

Path to the directory that holds the database patch files

Details

Type
  string

`int $lastChangeToApply= '999'`

The number of the last change to apply

Default value `999` Details

Type
  int

`string $outputFile= ''dbdeploy_deploy.sql''`

Output file for performing all database patches of this deployment Contains all the SQL statements that need to be executed

Default value`'dbdeploy_deploy.sql'`Details

Type
  string

`string $password= ''`

The password of the database user

Details

Type
  string

`string $undoOutputFile= ''dbdeploy_undo.sql''`

Outputfile for undoing the database patches of this deployment Contains all the SQL statements that need to be executed

Default value`'dbdeploy_undo.sql'`Details

Type
  string

`string $url= ''`

Connection string for the database connection

Details

Type
  string

`string $userid= ''`

The userid for the database connection

Details

Type
  string

### Methods

`createFileSet( ) : \FileSet`

Add a new fileset.

Returns

Type | Description
--- | ---
\FileSet |

`createOutputFile( string $file, bool $undo = false ) : void`

Generate the sql for doing/undoing the deployment and write it to a file

Parameters

Name | Type | Description
--- | --- | ---
$file | string |
$undo | bool |

`deploy( ) : void`

Create the deploy and undo deploy outputfiles

`fileNeedsToBeRead( int $fileChangeNumber, string $lastChangeAppliedInDb ) : bool`

Determine if this patch file need to be deployed (using fileChangeNumber, lastChangeAppliedInDb and $this->checkall)

Parameters

Name | Type | Description
--- | --- | ---
$fileChangeNumber | int |
$lastChangeAppliedInDb | string |

Returns

Type | Description
--- | ---
bool | True or false if patch file needs to be deployed

`generateSql( bool $undo = false ) : string`

Generate the sql for doing/undoing this deployment

Parameters

Name | Type | Description
--- | --- | ---
$undo | bool |

Returns

Type | Description
--- | ---
string | The sql

`getAppliedChangeNumbers( ) : array`

Get the numbers of all the patches that are already applied according to the changelog table in the database

Returns

Type | Description
--- | ---
array |

`getDeltasFilesArray( ) : array`

Get a list of all the patch files in the patch file directory

Returns

Type | Description
--- | ---
array |

`getDescription( ) : void`

`getLastChangeAppliedInDb( ) : int | mixed`

Get the number of the last patch applied to the database

Returns

Type | Description
--- | ---
int | mixed | The highest patch number that is applied in the db

`getLocation( ) : void`

`getOwningTarget( ) : void`

`getProject( ) : void`

`getRegisterSlot( ) : void`

`getRuntimeConfigurableWrapper( ) : void`

`getTaskName( ) : void`

`getTaskType( ) : void`

`init( ) : void`

`log( ) : void`

`main( ) : void`

The main function for the task

Throws

Exception | Description
--- | ---
\BuildException |

`maybeConfigure( ) : void`

`perform( ) : void`

`setCheckAll( bool $checkall ) : void`

Set the checkall property

Parameters

Name | Type | Description
--- | --- | ---
$checkall | bool |

`setDeltaSet( string $deltaSet ) : void`

Set the deltaset property

Parameters

Name | Type | Description
--- | --- | ---
$deltaSet | string |

`setDescription( ) : void`

`setDir( string $dir ) : void`

Set the directory where to find the patchfiles

Parameters

Name | Type | Description
--- | --- | ---
$dir | string |

`setLastChangeToApply( int $lastChangeToApply ) : void`

Set the lastchangetoapply property

Parameters

Name | Type | Description
--- | --- | ---
$lastChangeToApply | int |

`setLocation( ) : void`

`setOutputFile( string $outputFile ) : void`

Set the outputfile which contains all patch sql statements for this deployment

Parameters

Name | Type | Description
--- | --- | ---
$outputFile | string |

`setOwningTarget( ) : void`

`setPassword( string $password ) : void`

Set the password for the database connection

Parameters

Name | Type | Description
--- | --- | ---
$password | string |

`setProject( ) : void`

`setRuntimeConfigurableWrapper( ) : void`

`setTaskName( ) : void`

`setTaskType( ) : void`

`setUndoOutputFile( string $undoOutputFile ) : void`

Set the undo outputfile which contains all undo statements for this deployment

Parameters

Name | Type | Description
--- | --- | ---
$undoOutputFile | string |

`setUrl( string $url ) : void`

Set the url for the database connection

Parameters

Name | Type | Description
--- | --- | ---
$url | string |

`setUserId( string $userid ) : void`

Set the userid for the database connection

Parameters

Name | Type | Description
--- | --- | ---
$userid | string |

`sortFiles( array $files, bool $undo ) : void`

Sort files in the patch files directory (ascending or descending depending on $undo boolean)

Parameters

Name | Type | Description
--- | --- | ---
$files | array |
$undo | bool |

Documentation was generated by DocBlox 0.17.1.