From 425d0d891a01e785e1755c26c709f784112c3bb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 22:11:51 +0200 Subject: [PATCH 1/7] MAPG-101 add symfony/console --- composer.json | 3 +- composer.lock | 673 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 674 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 5b7d429..0b434e7 100644 --- a/composer.json +++ b/composer.json @@ -4,7 +4,8 @@ "description": "MapGuesser Application", "license": "GNU GPL 3.0", "require": { - "vlucas/phpdotenv": "^4.1" + "vlucas/phpdotenv": "^4.1", + "symfony/console": "^5.1" }, "require-dev": {}, "autoload": { diff --git a/composer.lock b/composer.lock index 4bbcd4f..ad2a23a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "29431cf83ee884f01ee954b1068c0ccc", + "content-hash": "13a0eaff2786786caff2be86ac704fc7", "packages": [ { "name": "phpoption/phpoption", @@ -61,6 +61,148 @@ ], "time": "2020-03-21T18:07:53+00:00" }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "symfony/console", + "version": "v5.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "00bed125812716d09b163f0727ef33bb49bf3448" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/00bed125812716d09b163f0727ef33bb49bf3448", + "reference": "00bed125812716d09b163f0727ef33bb49bf3448", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-30T20:35:19+00:00" + }, { "name": "symfony/polyfill-ctype", "version": "v1.17.0", @@ -133,6 +275,535 @@ ], "time": "2020-05-12T16:14:59+00:00" }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e094b0770f7833fdf257e6ba4775be4e258230b2", + "reference": "e094b0770f7833fdf257e6ba4775be4e258230b2", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/1357b1d168eb7f68ad6a134838e46b0b159444a9", + "reference": "1357b1d168eb7f68ad6a134838e46b0b159444a9", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:14:59+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fa79b11539418b02fc5e1897267673ba2c19419c", + "reference": "fa79b11539418b02fc5e1897267673ba2c19419c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a760d8964ff79ab9bf057613a5808284ec852ccc", + "reference": "a760d8964ff79ab9bf057613a5808284ec852ccc", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/5e30b2799bc1ad68f7feb62b60a73743589438dd", + "reference": "5e30b2799bc1ad68f7feb62b60a73743589438dd", + "shasum": "" + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/66a8f0957a3ca54e4f724e49028ab19d75a8918b", + "reference": "66a8f0957a3ca54e4f724e49028ab19d75a8918b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, + { + "name": "symfony/string", + "version": "v5.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "90c2a5103f07feb19069379f3abdcdbacc7753a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/90c2a5103f07feb19069379f3abdcdbacc7753a9", + "reference": "90c2a5103f07feb19069379f3abdcdbacc7753a9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, { "name": "vlucas/phpdotenv", "version": "v4.1.5", From b2c17496952ff6b73650827d29097d09efc4ec23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 22:13:19 +0200 Subject: [PATCH 2/7] MAPG-101 add console application 'mapg' and add command DatabaseMigration --- mapg | 10 +++ src/Cli/DatabaseMigration.php | 118 ++++++++++++++++++++++++++++++++++ 2 files changed, 128 insertions(+) create mode 100755 mapg create mode 100644 src/Cli/DatabaseMigration.php diff --git a/mapg b/mapg new file mode 100755 index 0000000..ab89fe9 --- /dev/null +++ b/mapg @@ -0,0 +1,10 @@ +#!/usr/bin/env php +add(new MapGuesser\Cli\DatabaseMigration()); + +$app->run(); diff --git a/src/Cli/DatabaseMigration.php b/src/Cli/DatabaseMigration.php new file mode 100644 index 0000000..f7f600b --- /dev/null +++ b/src/Cli/DatabaseMigration.php @@ -0,0 +1,118 @@ +setName('migrate') + ->setDescription('Migration of database changes.'); + } + + public function execute(InputInterface $input, OutputInterface $output): int + { + $db = \Container::$dbConnection; + + $db->startTransaction(); + + $success = []; + try { + foreach ($this->readDir('structure') as $file) { + $db->multiQuery(file_get_contents($file)); + + $success[] = $this->saveToDB($file, 'structure'); + } + + foreach ($this->readDir('data') as $file) { + require $file; + + $success[] = $this->saveToDB($file, 'data'); + } + } catch (\Exception $e) { + $db->rollback(); + + $output->writeln('Migration failed!'); + $output->writeln(''); + + $output->writeln((string) $e); + $output->writeln(''); + + return 1; + } + + $db->commit(); + + $output->writeln('Migration was successful!'); + $output->writeln(''); + + if (count($success) > 0) { + foreach ($success as $migration) { + $output->writeln($migration); + } + + $output->writeln(''); + } + + return 0; + } + + private function readDir(string $type): array + { + $done = []; + + $migrationTableExists = \Container::$dbConnection->query('SELECT count(*) + FROM information_schema.tables + WHERE table_schema = \'' . $_ENV['DB_NAME'] . '\' + AND table_name = \'migrations\';') + ->fetch(IResultSet::FETCH_NUM)[0]; + + if ($migrationTableExists != 0) { + $select = new Select(\Container::$dbConnection, 'migrations'); + $select->columns(['migration']); + $select->where('type', '=', $type); + $select->orderBy('migration'); + + $result = $select->execute(); + + while ($migration = $result->fetch(IResultSet::FETCH_ASSOC)) { + $done[] = $migration['migration']; + } + } + + $path = ROOT . '/database/migrations/' . $type; + $dir = opendir($path); + + $files = []; + while ($file = readdir($dir)) { + $filePath = $path . '/' . $file; + + if (!is_file($filePath) || in_array(pathinfo($file, PATHINFO_FILENAME), $done)) { + continue; + } + + $files[] = $filePath; + } + + natsort($files); + + return $files; + } + + private function saveToDB(string $file, string $type): string + { + $baseName = pathinfo($file, PATHINFO_FILENAME); + + $modify = new Modify(\Container::$dbConnection, 'migrations'); + $modify->set('migration', $baseName); + $modify->set('type', $type); + $modify->save(); + + return $baseName . ' (' . $type . ')'; + } +} From e0273a4c41a52187f6ce8e821c45ccee2f7fdc01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 22:13:49 +0200 Subject: [PATCH 3/7] MAPG-101 change Modify::$autoIncrement default value --- src/Database/Query/Modify.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Database/Query/Modify.php b/src/Database/Query/Modify.php index da74873..efa3a00 100755 --- a/src/Database/Query/Modify.php +++ b/src/Database/Query/Modify.php @@ -16,7 +16,7 @@ class Modify private array $original = []; - private bool $autoIncrement = false; + private bool $autoIncrement = true; public function __construct(IConnection $connection, string $table) { From c0c44bcbae6caa254425344a946d7c82f58186fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 23:28:09 +0200 Subject: [PATCH 4/7] MAPG-101 rename db to database --- {db => database}/mapguesser.sql | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {db => database}/mapguesser.sql (100%) diff --git a/db/mapguesser.sql b/database/mapguesser.sql similarity index 100% rename from db/mapguesser.sql rename to database/mapguesser.sql From 4b2fc23129f5ebf05b3e13187101d9fcb447735e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 23:28:35 +0200 Subject: [PATCH 5/7] MAPG-101 add migrations folder structure and create first migration --- database/migrations/data/20200602_2306_migrations.php | 1 + database/migrations/structure/20200602_2306_migrations.sql | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 database/migrations/data/20200602_2306_migrations.php create mode 100644 database/migrations/structure/20200602_2306_migrations.sql diff --git a/database/migrations/data/20200602_2306_migrations.php b/database/migrations/data/20200602_2306_migrations.php new file mode 100644 index 0000000..674f933 --- /dev/null +++ b/database/migrations/data/20200602_2306_migrations.php @@ -0,0 +1 @@ + Date: Tue, 2 Jun 2020 23:38:25 +0200 Subject: [PATCH 6/7] MAPG-101 increase geo digits to 7 --- .../structure/20200602_2331_geo_digits.sql | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 database/migrations/structure/20200602_2331_geo_digits.sql diff --git a/database/migrations/structure/20200602_2331_geo_digits.sql b/database/migrations/structure/20200602_2331_geo_digits.sql new file mode 100644 index 0000000..50fc270 --- /dev/null +++ b/database/migrations/structure/20200602_2331_geo_digits.sql @@ -0,0 +1,17 @@ +ALTER TABLE + `maps` +MODIFY + `bound_south_lat` decimal(9, 7) NOT NULL, +MODIFY + `bound_west_lng` decimal(10, 7) NOT NULL, +MODIFY + `bound_north_lat` decimal(9, 7) NOT NULL, +MODIFY + `bound_east_lng` decimal(10, 7) NOT NULL; + +ALTER TABLE + `places` +MODIFY + `lat` decimal(9, 7) NOT NULL, +MODIFY + `lng` decimal(10, 7) NOT NULL; From af2375133ae1fa0e5839f69df70ea95a71b59ebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Tue, 2 Jun 2020 23:42:18 +0200 Subject: [PATCH 7/7] MAPG-101 place `mapg migrate` to install and update scripts --- scripts/install.sh | 3 +++ scripts/update.sh | 3 +++ 2 files changed, 6 insertions(+) diff --git a/scripts/install.sh b/scripts/install.sh index 890a9f5..4d6044d 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -15,6 +15,9 @@ echo "Installing Yarn packages..." echo "Installing MapGuesser DB..." mysql --host=${DB_HOST} --user=${DB_USER} --password=${DB_PASSWORD} ${DB_NAME} < ${ROOT_DIR}/db/mapguesser.sql +echo "Migrating DB..." +(cd ${ROOT_DIR} && ./mapg migrate) + if [ -z "${DEV}" ] || [ "${DEV}" -eq "0" ]; then echo "Minifying JS, CSS and SVG files..." ${ROOT_DIR}/scripts/minify.sh diff --git a/scripts/update.sh b/scripts/update.sh index a61300a..a9ed2a2 100755 --- a/scripts/update.sh +++ b/scripts/update.sh @@ -10,6 +10,9 @@ echo "Installing Composer packages..." echo "Installing Yarn packages..." (cd ${ROOT_DIR}/public/static && yarn install) +echo "Migrating DB..." +(cd ${ROOT_DIR} && ./mapg migrate) + if [ -z "${DEV}" ] || [ "${DEV}" -eq "0" ]; then echo "Minifying JS, CSS and SVG files..." ${ROOT_DIR}/scripts/minify.sh