tasks/ext/dbdeploy/DbDeployTask.php

Show: inherited
Table of Contents

\DbDeployTask

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

Propertypublicstring  $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
Propertyprotectedarray  $appliedChangeNumbers= 'array()'

Array with all change numbers that are applied already

Default valuearray()Details
Type
array
Propertyprotectedint  $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 valuefalseDetails
Type
int
Propertyprotectedobject  $dbmsSyntax= 'null'

Contains the object for the DBMS that is used

Default valuenullDetails
Type
object
Propertyprotectedstring  $deltaSet= ''Main''

The deltaset that's being used

Default value'Main'Details
Type
string
Propertyprotectedstring  $dir= ''

Path to the directory that holds the database patch files

Details
Type
string
Propertyprotectedint  $lastChangeToApply= '999'

The number of the last change to apply

Default value999Details
Type
int
Propertyprotectedstring  $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
Propertyprotectedstring  $password= ''

The password of the database user

Details
Type
string
Propertyprotectedstring  $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
Propertyprotectedstring  $url= ''

Connection string for the database connection

Details
Type
string
Propertyprotectedstring  $userid= ''

The userid for the database connection

Details
Type
string

Methods

methodpubliccreateFileSet( ) : \FileSet

Add a new fileset.

Returns
Type Description
\FileSet
methodprotectedcreateOutputFile( 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
methodprotecteddeploy( ) : void

Create the deploy and undo deploy outputfiles

methodprotectedfileNeedsToBeRead( 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
methodprotectedgenerateSql( bool $undo = false ) : string

Generate the sql for doing/undoing this deployment

Parameters
Name Type Description
$undo bool
Returns
Type Description
string The sql
methodprotectedgetAppliedChangeNumbers( ) : array

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

Returns
Type Description
array
methodprotectedgetDeltasFilesArray( ) : array

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

Returns
Type Description
array
methodpublicgetDescription( ) : void

methodprotectedgetLastChangeAppliedInDb( ) : 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
methodpublicgetLocation( ) : void

methodpublicgetOwningTarget( ) : void

methodpublicgetProject( ) : void

methodprotectedgetRegisterSlot( ) : void

methodpublicgetRuntimeConfigurableWrapper( ) : void

methodpublicgetTaskName( ) : void

methodpublicgetTaskType( ) : void

methodpublicinit( ) : void

methodpubliclog( ) : void

methodpublicmain( ) : void

The main function for the task

Throws
Exception Description
\BuildException
methodpublicmaybeConfigure( ) : void

methodpublicperform( ) : void

methodpublicsetCheckAll( bool $checkall ) : void

Set the checkall property

Parameters
Name Type Description
$checkall bool
methodpublicsetDeltaSet( string $deltaSet ) : void

Set the deltaset property

Parameters
Name Type Description
$deltaSet string
methodpublicsetDescription( ) : void

methodpublicsetDir( string $dir ) : void

Set the directory where to find the patchfiles

Parameters
Name Type Description
$dir string
methodpublicsetLastChangeToApply( int $lastChangeToApply ) : void

Set the lastchangetoapply property

Parameters
Name Type Description
$lastChangeToApply int
methodpublicsetLocation( ) : void

methodpublicsetOutputFile( string $outputFile ) : void

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

Parameters
Name Type Description
$outputFile string
methodpublicsetOwningTarget( ) : void

methodpublicsetPassword( string $password ) : void

Set the password for the database connection

Parameters
Name Type Description
$password string
methodpublicsetProject( ) : void

methodpublicsetRuntimeConfigurableWrapper( ) : void

methodpublicsetTaskName( ) : void

methodpublicsetTaskType( ) : void

methodpublicsetUndoOutputFile( string $undoOutputFile ) : void

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

Parameters
Name Type Description
$undoOutputFile string
methodpublicsetUrl( string $url ) : void

Set the url for the database connection

Parameters
Name Type Description
$url string
methodpublicsetUserId( string $userid ) : void

Set the userid for the database connection

Parameters
Name Type Description
$userid string
methodprotectedsortFiles( 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.