Completed
Push — master ( 87ef8b...b5419a )
by Aimeos
09:36
created

getPostDependencies()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
/**
4
 * @license LGPLv3, http://opensource.org/licenses/LGPL-3.0
5
 * @copyright Aimeos (aimeos.org), 2015-2017
6
 */
7
8
9
namespace Aimeos\MW\Setup\Task;
10
11
12
/**
13
 * Renames the "refid" column to "parentid"
14
 */
15
class CustomerChangeAddressRefidParentidLaravel extends \Aimeos\MW\Setup\Task\Base
16
{
17
	private $mysql = array(
18
		'refid' => array(
19
			'ALTER TABLE "users_address" CHANGE "refid" "parentid" INTEGER NOT NULL',
20
			'ALTER TABLE "users_address" DROP INDEX "idx_lvuad_refid", ADD INDEX "idx_lvuad_pid" ("parentid")',
21
		),
22
	);
23
24
25
	/**
26
	 * Returns the list of task names which this task depends on.
27
	 *
28
	 * @return array List of task names
29
	 */
30
	public function getPreDependencies()
31
	{
32
		return [];
33
	}
34
35
36
	/**
37
	 * Returns the list of task names which depends on this task.
38
	 *
39
	 * @return string[] List of task names
40
	 */
41
	public function getPostDependencies()
42
	{
43
		return array( 'TablesCreateLaravel' );
44
	}
45
46
47
	/**
48
	 * Migrate database schema
49
	 */
50
	public function migrate()
51
	{
52
		$this->process( $this->mysql );
53
	}
54
55
56
	/**
57
	 * Changes the column in table
58
	 *
59
	 * array string $stmts List of SQL statements for changing the columns
60
	 */
61
	protected function process( array $stmts )
62
	{
63
		$table = 'users_address';
64
		$this->msg( sprintf( 'Rename "refid" to "parentid" in table "%1$s"', $table ), 0 ); $this->status( '' );
65
66
		foreach( $stmts as $column => $stmts )
67
		{
68
			$this->msg( sprintf( 'Checking column "%1$s"', $column ), 1 );
69
70
			if( $this->schema->tableExists( $table )
0 ignored issues
show
Deprecated Code introduced by
The property Aimeos\MW\Setup\Task\Base::$schema has been deprecated with message: Use getSchema() instead

This property has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the property will be removed from the class and what other property to use instead.

Loading history...
71
				&& $this->schema->columnExists( $table, $column ) === true
0 ignored issues
show
Deprecated Code introduced by
The property Aimeos\MW\Setup\Task\Base::$schema has been deprecated with message: Use getSchema() instead

This property has been deprecated. The supplier of the class has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the property will be removed from the class and what other property to use instead.

Loading history...
72
			) {
73
				$this->executeList( $stmts );
74
				$this->status( 'done' );
75
			} else {
76
				$this->status( 'OK' );
77
			}
78
		}
79
	}
80
}
81