Changeset 223
- Timestamp:
- 08/24/07 01:55:50 (1 year ago)
- Files:
-
- trunk/classes/phing/tasks/ext/dbdeploy/DbDeployTask.php (modified) (6 diffs)
- trunk/classes/phing/tasks/ext/dbdeploy/DbmsSyntax.php (added)
- trunk/classes/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php (added)
- trunk/classes/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php (added)
- trunk/classes/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/classes/phing/tasks/ext/dbdeploy/DbDeployTask.php
r222 r223 21 21 22 22 require_once 'phing/Task.php'; 23 include_once 'phing/types/FileSet.php';23 require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php'; 24 24 25 25 … … 38 38 public static $TABLE_NAME = 'changelog'; 39 39 40 protected $dbms;41 40 protected $url; 42 41 protected $userid; … … 47 46 protected $deltaSet = 'Main'; 48 47 protected $lastChangeToApply = 999; 48 protected $dbmsSyntax = null; 49 49 50 50 function main() { 51 51 try{ 52 // get correct DbmsSyntax object 53 $dbms = substr($this->url, 0, strpos($this->url, ':')); 54 $dbmsSyntaxFactory = new DbmsSyntaxFactory($dbms); 55 $this->dbmsSyntax = $dbmsSyntaxFactory->getDbmsSyntax(); 56 52 57 // open file handles for output 53 58 $outputFileHandle = fopen($this->outputFile, "w+"); … … 99 104 $sqlToPerformDeploy .= '--------------- Fragment begins: ' . $fileChangeNumber . ' ---------------' . "\n"; 100 105 $sqlToPerformDeploy .= 'INSERT INTO ' . DbDeployTask::$TABLE_NAME . ' (change_number, delta_set, start_dt, applied_by, description)'. 101 ' VALUES ('. $fileChangeNumber .', \''. $this->deltaSet .'\', '. mktime() .', \'dbdeploy\', \''. $fileName .'\');' . "\n";106 ' VALUES ('. $fileChangeNumber .', \''. $this->deltaSet .'\', '. $this->dbmsSyntax->generateTimestamp() .', \'dbdeploy\', \''. $fileName .'\');' . "\n"; 102 107 $fullFileName = $this->dir . '/' . $fileName; 103 108 $fh = fopen($fullFileName, 'r'); … … 105 110 $deploySQLFromFile = substr($contents,0,strpos($contents, '--//@UNDO')); 106 111 $sqlToPerformDeploy .= $deploySQLFromFile; 107 $sqlToPerformDeploy .= 'UPDATE ' . DbDeployTask::$TABLE_NAME . ' SET complete_dt = ' . mktime() . ' WHERE change_number = ' . $fileChangeNumber . ' AND delta_set = \'' . $this->deltaSet . '\';' . "\n";112 $sqlToPerformDeploy .= 'UPDATE ' . DbDeployTask::$TABLE_NAME . ' SET complete_dt = ' . $this->dbmsSyntax->generateTimestamp() . ' WHERE change_number = ' . $fileChangeNumber . ' AND delta_set = \'' . $this->deltaSet . '\';' . "\n"; 108 113 $sqlToPerformDeploy .= '--------------- Fragment ends: ' . $fileChangeNumber . ' ---------------' . "\n"; 109 114 } … … 143 148 } 144 149 145 function setDbms($dbms){146 $this->dbms = $dbms;147 }148 149 150 function setUrl($url){ 150 151 $this->url = $url;
