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 ) |
|
|
|
|
71
|
|
|
&& $this->schema->columnExists( $table, $column ) === true |
|
|
|
|
72
|
|
|
) { |
73
|
|
|
$this->executeList( $stmts ); |
74
|
|
|
$this->status( 'done' ); |
75
|
|
|
} else { |
76
|
|
|
$this->status( 'OK' ); |
77
|
|
|
} |
78
|
|
|
} |
79
|
|
|
} |
80
|
|
|
} |
81
|
|
|
|
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.