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

\DbDeployTask

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

Propertypublicstring  $TABLE_NAME= 'changelog'
static

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

Default valuechangelogDetails
Type
string
Propertyprotectedarray  $appliedChangeNumbers= 'array'

Array with all change numbers that are applied already

Default valuearrayDetails
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 valueMainDetails
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 valuedbdeploy_deploy.sqlDetails
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 valuedbdeploy_undo.sqlDetails
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

methodpublic  createFileSet( ) : \FileSet
Add a new fileset.
Returns
Type Description
\FileSet
methodprotected  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
methodprotected  deploy( ) : void
Create the deploy and undo deploy outputfiles
methodprotected  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
methodprotected  generateSql( bool $undo = false ) : string
Generate the sql for doing/undoing this deployment
Parameters
Name Type Description
$undo bool
Returns
Type Description
string
methodprotected  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
methodprotected  getDeltasFilesArray( ) : array
Get a list of all the patch files in the patch file directory
Returns
Type Description
array
methodprotected  getLastChangeAppliedInDb( ) : int|mixed
Get the number of the last patch applied to the database
Returns
Type Description
intmixed
methodpublic  main( ) : void
The main function for the task
Details
throws
methodpublic  setCheckAll( bool $checkall ) : void
Set the checkall property
Parameters
Name Type Description
$checkall bool
methodpublic  setDeltaSet( string $deltaSet ) : void
Set the deltaset property
Parameters
Name Type Description
$deltaSet string
methodpublic  setDir( string $dir ) : void
Set the directory where to find the patchfiles
Parameters
Name Type Description
$dir string
methodpublic  setLastChangeToApply( int $lastChangeToApply ) : void
Set the lastchangetoapply property
Parameters
Name Type Description
$lastChangeToApply int
methodpublic  setOutputFile( string $outputFile ) : void
Set the outputfile which contains all patch sql statements for this deployment
Parameters
Name Type Description
$outputFile string
methodpublic  setPassword( string $password ) : void
Set the password for the database connection
Parameters
Name Type Description
$password string
methodpublic  setUndoOutputFile( string $undoOutputFile ) : void
Set the undo outputfile which contains all undo statements for this deployment
Parameters
Name Type Description
$undoOutputFile string
methodpublic  setUrl( string $url ) : void
Set the url for the database connection
Parameters
Name Type Description
$url string
methodpublic  setUserId( string $userid ) : void
Set the userid for the database connection
Parameters
Name Type Description
$userid string
methodprotected  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.