# 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)
Copyright
  2001,2002 THYRELL. All rights reserved
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 $description= ''`
inherited

description of the taskInherited from: \Task::$description
Details

Type
  string
Inherited_from
  \Task::$description

`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

`\Location $location= ''`
inherited

stored buildfile locationInherited from: \Task::$location
Details

Type
  \Location
Inherited_from
  \Task::$location

`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

`\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
Default value `null` Details

Type
  \Project
Inherited_from
  \ProjectComponent::$project

`\Target $target= ''`
inherited

owning Target objectInherited from: \Task::$target
Details

Type
  \Target
Inherited_from
  \Task::$target

`string $taskName= ''`
inherited

Taskname for loggerInherited from: \Task::$taskName
Details

Type
  string
Inherited_from
  \Task::$taskName

`string $taskType= ''`
inherited

internal taskname (req)Inherited from: \Task::$taskType
Details

Type
  string
Inherited_from
  \Task::$taskType

`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

`\RuntimeConfigurable $wrapper= ''`
inherited

wrapper of the taskInherited from: \Task::$wrapper
Details

Type
  \RuntimeConfigurable
Inherited_from
  \Task::$wrapper

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

Returns the textual description of the task

Inherited from: \Task::getDescription()
Returns

Type | Description
--- | ---
string | The text description of the task

`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( ) : \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.

`getOwningTarget( ) : \Target`
inherited

Returns the owning target of this task.

Inherited from: \Task::getOwningTarget()
Returns

Type | Description
--- | ---
\Target | The target object that owns this task

`getProject( ) : \Project`
inherited

Returns a reference to current project

Inherited from: \ProjectComponent::getProject()
Returns

Type | Description
--- | ---
\Project | Reference to current porject object

`getRegisterSlot( $slotName ) : void`
inherited

Returns a name

Inherited from: \Task::getRegisterSlot()
Parameters

Name | Type | Description
--- | --- | ---
$slotName |  |

`getRuntimeConfigurableWrapper( ) : \RuntimeConfigurable`
inherited

Returns the wrapper object for runtime configuration

Inherited from: \Task::getRuntimeConfigurableWrapper()
Returns

Type | Description
--- | ---
\RuntimeConfigurable | The wrapper object used by this task

`getTaskName( ) : string`
inherited

Returns the name of task, used only for log messages

Inherited from: \Task::getTaskName()
Returns

Type | Description
--- | ---
string | Name of this task

`getTaskType( ) : 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)

`init( ) : 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 |

`log( string $msg, integer $level = Project::MSG_INFO ) : void`
inherited

Provides a project level log event to the task.

Inherited from: \Task::log()

@param string $msg The message to be logged.

Parameters

Name | Type | Description
--- | --- | ---
$msg | string | The message to log
$level | integer | The priority of the message

Details

See
  \BuildEvent
See
  \BuildListener

`main( ) : 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 |

`maybeConfigure( ) : void`
inherited

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

Inherited from: \Task::maybeConfigure()
`perform( ) : void`
inherited

Perfrom this task

Inherited from: \Task::perform()
`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( 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

`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( \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.

`setOutputFile( string $outputFile ) : void`

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

Parameters

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

`setOwningTarget( \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

`setPassword( string $password ) : void`

Set the password for the database connection

Parameters

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

`setProject( \Project $project ) : void`
inherited

References the project to the current component.

Inherited from: \ProjectComponent::setProject()
Parameters

Name | Type | Description
--- | --- | ---
$project | \Project | The reference to the current project

`setRuntimeConfigurableWrapper( \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

`setTaskName( $name ) : string`
inherited

Sets the name of this task for log messages

Inherited from: \Task::setTaskName()
Parameters

Name | Type | Description
--- | --- | ---
$name |  |

Returns

Type | Description
--- | ---
string | A string representing the name of this task for log

`setTaskType( 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)

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