diff --git a/composer.json b/composer.json index f43d3b8..f935eb4 100644 --- a/composer.json +++ b/composer.json @@ -58,10 +58,7 @@ "prefix": "core-", "languages_cto": "module/languages", "languages_tx": ".tx" - }, - "runonce": [ - "runonce/migrate.php" - ] + } } } } diff --git a/runonce/migrate.php b/runonce/migrate.php deleted file mode 100644 index 0e61b66..0000000 --- a/runonce/migrate.php +++ /dev/null @@ -1,93 +0,0 @@ - - * @copyright 2014 netzmacht creative David Molineus - * @license LGPL 3.0 - * @filesource - * - */ - -namespace Netzmacht\Contao\Leaflet\runonce; - -/** - * Migrate controller. - * - * @package Netzmacht\Contao\Leaflet\runonce - */ -class migrate -{ - /** - * Execute the migration. - * - * @return void - */ - public function execute() - { - $database = \Database::getInstance(); - - if ($database->fieldExists('coordinates', 'tl_leaflet_marker')) { - $this->createFields($database); - $this->convertCoordinates($database); - } - } - - /** - * @param $database - * - * @param \Database $database The database connection. - * - * @return array - */ - protected function createFields(\Database $database) - { - if (!$database->fieldExists('latitude', 'tl_leaflet_marker')) { - $database->execute('ALTER TABLE tl_leaflet_marker ADD latitude DECIMAL (10, 8) NULL;'); - } - - if (!$database->fieldExists('longitude', 'tl_leaflet_marker')) { - $database->execute('ALTER TABLE tl_leaflet_marker ADD longitude DECIMAL (11, 8) NULL;'); - } - - if (!$database->fieldExists('altitude', 'tl_leaflet_marker')) { - $database->execute('ALTER TABLE tl_leaflet_marker ADD altitude float NULL;'); - } - } - - /** - * Convert coordinates to new splitted fields. - * - * @param \Database $database The database connection. - * - * @return void - */ - private function convertCoordinates(\Database $database) - { - $query = << '' AND latitude IS NULL aND longitude IS NULL AND altitude IS NULL -SQL; - - $result = $database->query($query); - - while ($result->next()) { - list($latitude, $longitude, $altitude) = trimsplit(',', $result->coordinates); - - $database - ->prepare('UPDATE tl_leaflet_marker %s WHERE id=?') - ->set( - array( - 'latitude' => $latitude, - 'longitude' => $longitude, - 'altitude' => $altitude - ) - ) - ->execute($result->id); - } - } -} - -$controller = new migrate(); -$controller->execute();