Code Duplication    Length = 49-50 lines in 2 locations

engine/schema/migrations/20171006131622_drop_groups_entity_table.php 1 location

@@ 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

engine/schema/migrations/20171009115032_drop_objects_entity_table.php 1 location

@@ 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