Migration_Driver_Mysql_Versions::clear()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 5
ccs 2
cts 2
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 1
crap 1
1
<?php defined('SYSPATH') OR die('No direct script access.');
2
3
class Migration_Driver_Mysql_Versions extends Migration_Driver_Versions
4
{
5
	public $pdo;
6
	const SCHEMA_TABLE = 'schema_version';
7
8
	public function __construct($pdo)
9
	{
10
		$this->pdo = $pdo;
11
	}
12
13
	public function init()
14
	{
15
		$this->pdo->exec('CREATE TABLE IF NOT EXISTS `'.self::SCHEMA_TABLE.'` (version INT)');
16
17 54
		return $this;
18
	}
19 54
20 54
	public function get()
21
	{
22 1
		$migrations = array();
23
		foreach($this->pdo->query('SELECT version FROM `'.self::SCHEMA_TABLE.'` ORDER BY version ASC') as $result)
24 1
		{
25
			$migrations[] = intval($result['version']);
26 1
		}
27
28
		return $migrations;
29 1
	}
30
31 1
	public function set($version)
32 1
	{
33
		$this->pdo->prepare('INSERT INTO `'.self::SCHEMA_TABLE.'` SET version = ?')->execute(array($version));
34 1
		return $this;
35 1
	}
36
37 1
	public function clear($version)
38
	{
39
		$this->pdo->prepare('DELETE FROM `'.self::SCHEMA_TABLE.'` WHERE version = ?')->execute(array($version));
40 1
		return $this;
41
	}
42 1
43 1
	public function clear_all()
44
	{
45
		$this->pdo->exec('DELETE FROM `'.self::SCHEMA_TABLE.'`');
46 1
		return $this;
47
	}
48
}
49