Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
/*
3
 *  $Id: DbDeployTask.php 59 2006-04-28 14:49:47Z lcrouch $
4
 *
5
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
6
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
7
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
8
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
9
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
10
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
11
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
12
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
13
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
14
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
15
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
16
 *
17
 * This software consists of voluntary contributions made by many individuals
18
 * and is licensed under the LGPL. For more information please see
19
 * <http://phing.info>.
20
 */
21
 
22
require_once 'phing/Task.php';
23
require_once 'phing/tasks/ext/dbdeploy/DbmsSyntax.php';
24
 
25
/**
26
 *  Factory for generating dbms-specific syntax-generating objects
27
 *
28
 *  @author   Luke Crouch at SourceForge (http://sourceforge.net)
29
 *  @version  $Revision: 1.1 $
30
 *  @package  phing.tasks.ext.dbdeploy
31
 */
32
 
33
class DbmsSyntaxFactory
34
{
35
	private $dbms;
36
 
37
	public function __construct($dbms)
38
	{
39
		$this->dbms = $dbms;
40
	}
41
 
42
	public function getDbmsSyntax()
43
	{
44
		switch ($this->dbms){
45
			case('sqlite') :
46
				require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php';
47
				return new DbmsSyntaxSQLite();
48
			case('mysql'):
49
				require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php';
50
				return new DbmsSyntaxMysql();
51
			case('mssql'):
52
				require_once 'phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php';
53
				return new DbmsSyntaxMsSql();
54
			default:
55
				throw new Exception($this->dbms . ' is not supported by dbdeploy task.');
56
		}
57
	}
58
}
59