tasks/ext/dbdeploy/DbDeployTask.php

Show: inherited
Table of Contents

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

Author
Luke Crouch at SourceForge (http://sourceforge.net)  
Package
phing.tasks.ext.dbdeploy  
Version
$Id$  

\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)  
Copyright
2001,2002 THYRELL. All rights reserved  
Version
$Id$  

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  $description= ''
inherited

Description of the task

Inherited from: \Task::$$description
Details
Type
string
Inherited_from
\Task::$$description  
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
Propertyprotected\Location  $location= ''
inherited

Stored buildfile location

Inherited from: \Task::$$location
Details
Type
\Location
Inherited_from
\Task::$$location  
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
Propertyprotected\Project  $project= 'null'
inherited

Holds a reference to the project that a project component (a task, a target, etc.) belongs to

A reference to the current project instanceInherited from: \ProjectComponent::$$project\Task::$$project
Default valuenullDetails
Type
\Project
Inherited_from
\ProjectComponent::$$project  
Inherited_from
\Task::$$project  
Propertyprotected\Target  $target= ''
inherited

Owning Target object

Inherited from: \Task::$$target
Details
Type
\Target
Inherited_from
\Task::$$target  
Propertyprotectedstring  $taskName= ''
inherited

Taskname for logger

Inherited from: \Task::$$taskName
Details
Type
string
Inherited_from
\Task::$$taskName  
Propertyprotectedstring  $taskType= ''
inherited

Internal taskname (req)

Inherited from: \Task::$$taskType
Details
Type
string
Inherited_from
\Task::$$taskType  
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
Propertyprotected\RuntimeConfigurable  $wrapper= ''
inherited

Wrapper of the task

Inherited from: \Task::$$wrapper
Details
Type
\RuntimeConfigurable
Inherited_from
\Task::$$wrapper  

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( ) : string
inherited

Returns the textual description of the task

Inherited from: \Task::getDescription()
Returns
Type Description
string The text description of the task
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( ) : \Location
inherited

Returns the location within the buildfile this task occurs. Used by {@link BuildException} to give detailed error messages.

Inherited from: \Task::getLocation()
Returns
Type Description
\Location The location object describing the position of this task within the buildfile.
methodpublicgetOwningTarget( ) : \Target
inherited

Returns the owning target of this task.

Inherited from: \Task::getOwningTarget()
Returns
Type Description
\Target The target object that owns this task
methodpublicgetProject( ) : \Project
inherited

Returns a reference to current project

Inherited from: \ProjectComponent::getProject()\Task::getProject()
Returns
Type Description
\Project Reference to current porject object
methodprotectedgetRegisterSlot( string $slotName ) : void
inherited

Returns a name

Inherited from: \Task::getRegisterSlot()
Parameters
Name Type Description
$slotName string
methodpublicgetRuntimeConfigurableWrapper( ) : \RuntimeConfigurable
inherited

Returns the wrapper object for runtime configuration

Inherited from: \Task::getRuntimeConfigurableWrapper()
Returns
Type Description
\RuntimeConfigurable The wrapper object used by this task
methodpublicgetTaskName( ) : string
inherited

Returns the name of task, used only for log messages

Inherited from: \Task::getTaskName()
Returns
Type Description
string Name of this task
methodpublicgetTaskType( ) : string
inherited

Returns the name of the task under which it was invoked, usually the XML tagname

Inherited from: \Task::getTaskType()
Returns
Type Description
string The type of this task (XML Tag)
methodpublicinit( ) : void
inherited

Called by the parser to let the task initialize properly.

Inherited from: \Task::init()

Should throw a BuildException if something goes wrong with the build

This is abstract here, but may not be overloaded by subclasses.

Throws
Exception Description
\BuildException
methodpubliclog( string $msg, integer $level = Project::MSG_INFO ) : void
inherited

Provides a project level log event to the task.

Inherited from: \Task::log()
Parameters
Name Type Description
$msg string

The message to log

$level integer

The priority of the message

Details
See
\BuildEvent  
See
\BuildListener  
methodpublicmain( ) : void

The main function for the task

Should throw a BuildException if someting goes wrong with the build

This is abstract here. Must be overloaded by real tasks.

Throws
Exception Description
\BuildException
methodpublicmaybeConfigure( ) : void
inherited

Configure this task if it hasn't been done already.

Inherited from: \Task::maybeConfigure()
methodpublicperform( ) : void
inherited

Perfrom this task

Inherited from: \Task::perform()
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( string $desc ) : void
inherited

Sets a textual description of the task

Inherited from: \Task::setDescription()
Parameters
Name Type Description
$desc string

The text describing the task

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( \Location $location ) : void
inherited

Sets the location within the buildfile this task occurs. Called by the parser to set location information.

Inherited from: \Task::setLocation()
Parameters
Name Type Description
$location \Location

The location object describing the position of this task within the buildfile.

methodpublicsetOutputFile( string $outputFile ) : void

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

Parameters
Name Type Description
$outputFile string
methodpublicsetOwningTarget( \Target $target ) : void
inherited

Sets the owning target this task belongs to.

Inherited from: \Task::setOwningTarget()
Parameters
Name Type Description
$target \Target

Reference to owning target

methodpublicsetPassword( string $password ) : void

Set the password for the database connection

Parameters
Name Type Description
$password string
methodpublicsetProject( \Project $project ) : void
inherited

References the project to the current component.

Inherited from: \ProjectComponent::setProject()\Task::setProject()
Parameters
Name Type Description
$project \Project

The reference to the current project

methodpublicsetRuntimeConfigurableWrapper( \RuntimeConfigurable $wrapper ) : void
inherited

Sets the wrapper object this task should use for runtime configurable elements.

Inherited from: \Task::setRuntimeConfigurableWrapper()
Parameters
Name Type Description
$wrapper \RuntimeConfigurable

The wrapper object this task should use

methodpublicsetTaskName( string $name ) : string
inherited

Sets the name of this task for log messages

Inherited from: \Task::setTaskName()
Parameters
Name Type Description
$name string
Returns
Type Description
string A string representing the name of this task for log
methodpublicsetTaskType( string $name ) : void
inherited

Sets the type of the task. Usually this is the name of the XML tag

Inherited from: \Task::setTaskType()
Parameters
Name Type Description
$name string

The type of this task (XML Tag)

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.18.1.