@@ 5-54 (lines=50) @@ | ||
2 | ||
3 | use Phinx\Migration\AbstractMigration; |
|
4 | ||
5 | class DropGroupsEntityTable extends AbstractMigration |
|
6 | { |
|
7 | /** |
|
8 | * Move groups_entity attributes to metadata |
|
9 | */ |
|
10 | public function up() { |
|
11 | ||
12 | if (!$this->hasTable('groups_entity') || !$this->hasTable('metadata')) { |
|
13 | return; |
|
14 | } |
|
15 | ||
16 | $prefix = $this->getAdapter()->getOption('table_prefix'); |
|
17 | $cols = ['name', 'description']; |
|
18 | ||
19 | $groups_query = "SELECT * FROM {$prefix}groups_entity LIMIT 25"; |
|
20 | while ($rows = $this->fetchAll($groups_query)) { |
|
21 | foreach ($rows as $row) { |
|
22 | foreach ($cols as $col) { |
|
23 | ||
24 | // remove existing metadata... attributes are more important |
|
25 | $this->execute(" |
|
26 | DELETE FROM {$prefix}metadata |
|
27 | WHERE entity_guid = {$row['guid']} AND |
|
28 | name = '{$col}' |
|
29 | "); |
|
30 | ||
31 | $this->insert('metadata', [ |
|
32 | 'entity_guid' => $row['guid'], |
|
33 | 'name' => $col, |
|
34 | 'value' => $row[$col], |
|
35 | 'value_type' => 'text', |
|
36 | 'owner_guid' => 0, |
|
37 | 'access_id' => 2, |
|
38 | 'time_created' => time(), |
|
39 | 'enabled' => 'yes', |
|
40 | ]); |
|
41 | } |
|
42 | ||
43 | // remove from groups so it does not get processed again in the next while loop |
|
44 | $this->execute(" |
|
45 | DELETE FROM {$prefix}groups_entity |
|
46 | WHERE guid = {$row['guid']} |
|
47 | "); |
|
48 | } |
|
49 | } |
|
50 | ||
51 | // all data migrated, so drop the table |
|
52 | $this->dropTable('groups_entity'); |
|
53 | } |
|
54 | } |
|
55 |
@@ 5-53 (lines=49) @@ | ||
2 | ||
3 | use Phinx\Migration\AbstractMigration; |
|
4 | ||
5 | class DropObjectsEntityTable extends AbstractMigration { |
|
6 | /** |
|
7 | * Move objects_entity attributes to metadata |
|
8 | */ |
|
9 | public function up() { |
|
10 | ||
11 | if (!$this->hasTable('objects_entity') || !$this->hasTable('metadata')) { |
|
12 | return; |
|
13 | } |
|
14 | ||
15 | $prefix = $this->getAdapter()->getOption('table_prefix'); |
|
16 | $cols = ['title', 'description']; |
|
17 | ||
18 | $objects_query = "SELECT * FROM {$prefix}objects_entity LIMIT 25"; |
|
19 | while ($rows = $this->fetchAll($objects_query)) { |
|
20 | foreach ($rows as $row) { |
|
21 | foreach ($cols as $col) { |
|
22 | ||
23 | // remove existing metadata... attributes are more important |
|
24 | $this->execute(" |
|
25 | DELETE FROM {$prefix}metadata |
|
26 | WHERE entity_guid = {$row['guid']} AND |
|
27 | name = '{$col}' |
|
28 | "); |
|
29 | ||
30 | $this->insert('metadata', [ |
|
31 | 'entity_guid' => $row['guid'], |
|
32 | 'name' => $col, |
|
33 | 'value' => $row[$col], |
|
34 | 'value_type' => 'text', |
|
35 | 'owner_guid' => 0, |
|
36 | 'access_id' => 2, |
|
37 | 'time_created' => time(), |
|
38 | 'enabled' => 'yes', |
|
39 | ]); |
|
40 | } |
|
41 | ||
42 | // remove from objects so it does not get processed again in the next while loop |
|
43 | $this->execute(" |
|
44 | DELETE FROM {$prefix}objects_entity |
|
45 | WHERE guid = {$row['guid']} |
|
46 | "); |
|
47 | } |
|
48 | } |
|
49 | ||
50 | // all data migrated, so drop the table |
|
51 | $this->dropTable('objects_entity'); |
|
52 | } |
|
53 | } |
|
54 |