# classes/phing/tasks/ext/dbdeploy/DbDeployTask.php

## \DbDeployTask
jump to top

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

Extends from
  \Task
author
  Luke Crouch at SourceForge (http://sourceforge.net)
copyright
  2001,2002 THYRELL. All rights reserved
package
  phing.tasks.ext.dbdeploy
version
  $Revision: 1215 $

### 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 |

`generateSql( bool $undo = false ) : string`
Generate the sql for doing/undoing this deployment
Parameters

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

Returns

Type | Description
--- | ---
string |

`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 |

`getLastChangeAppliedInDb( ) : int|mixed`
Get the number of the last patch applied to the database
Returns

Type | Description
--- | ---
intmixed |

`main( ) : void`
The main function for the task
Details

throws

`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 |

`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 |

`setOutputFile( string $outputFile ) : void`
Set the outputfile which contains all patch sql statements for this deployment
Parameters

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

`setPassword( string $password ) : void`
Set the password for the database connection
Parameters

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

`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.13.1.