diff --git a/README.md b/README.md index 57a0c7c2..db0aba50 100644 --- a/README.md +++ b/README.md @@ -28,8 +28,7 @@ Create Icinga Director database MySQL: mysql -e "CREATE DATABASE director; - GRANT SELECT, INSERT, UPDATE, DELETE ON director.* TO director@localhost - IDENTIFIED BY 'some-password';" + GRANT ALL ON director.* TO director@localhost IDENTIFIED BY 'some-password';" mysql director < schema/mysql.sql diff --git a/application/clicommands/MigrationCommand.php b/application/clicommands/MigrationCommand.php new file mode 100644 index 00000000..f78be6f9 --- /dev/null +++ b/application/clicommands/MigrationCommand.php @@ -0,0 +1,66 @@ + 'icingacli director migration run', + * onlyif => 'icingacli director migration pending', + * } + * + * Exit code 0 means that there are pending migrations, code 1 that there + * are no such. Use --verbose + */ + public function pendingAction() + { + if ($count = $this->migrations()->countPendingMigrations()) { + if ($this->isVerbose) { + if ($count === 1) { + echo "There is 1 pending migration\n"; + } else { + printf("There are %d pending migrations\n", $count); + } + } + + exit(0); + } else { + if ($this->isVerbose) { + echo "There are no pending migrations\n"; + } + + exit(1); + } + } + + /** + * Run any pending migrations + * + * All pending migrations will be silently applied + */ + public function runAction() + { + $this->migrations()->applyPendingMigrations(); + exit(0); + } + + protected function migrations() + { + return new Migrations($this->db()); + } +} diff --git a/library/Director/Db/Migration.php b/library/Director/Db/Migration.php new file mode 100644 index 00000000..5e67224f --- /dev/null +++ b/library/Director/Db/Migration.php @@ -0,0 +1,60 @@ +version = $version; + $this->sql = $sql; + } + + public function apply(Db $connection) + { + $db = $connection->getDbAdapter(); + $queries = preg_split('/[\n\s\t]*\;[\n\s\t]*/s', $this->sql, -1, PREG_SPLIT_NO_EMPTY); + + if (empty($queries)) { + throw new IcingaException( + 'Migration %d has no queries', + $this->version + ); + } + + try { + $db->beginTransaction(); + + foreach ($queries as $query) { + $db->exec($query); + } + + $db->commit(); + + } catch (Exception $e) { + + $db->rollback(); + throw new IcingaException( + 'Migration %d failed: %s', + $this->version, + $e->getMessage() + ); + } + + return $this; + } +} diff --git a/library/Director/Db/Migrations.php b/library/Director/Db/Migrations.php new file mode 100644 index 00000000..c48b7cd4 --- /dev/null +++ b/library/Director/Db/Migrations.php @@ -0,0 +1,136 @@ +connection = $connection; + $this->db = $connection->getDbAdapter(); + } + + public function getLastMigrationNumber() + { + try { + $query = $this->db->select()->from( + array('m' => 'director_schema_migration'), + array('schema_version' => 'MAX(schema_version)') + ); + + return (int) $this->db->fetchOne($query); + } catch (Exception $e) { + return 0; + } + } + + public function hasPendingMigrations() + { + return $this->countPendingMigrations() > 0; + } + + public function countPendingMigrations() + { + return count($this->listPendingMigrations()); + } + + public function getPendingMigrations() + { + $migrations = array(); + foreach ($this->listPendingMigrations() as $version) { + $migrations[] = new Migration( + $version, + $this->loadMigrationFile($version) + ); + } + + return $migrations; + } + + public function applyPendingMigrations() + { + foreach ($this->getPendingMigrations() as $migration) { + $migration->apply($this->connection); + } + + return $this; + } + + public function listPendingMigrations() + { + return $this->listMigrationsAfter($this->getLastMigrationNumber()); + } + + public function listAllMigrations() + { + $dir = $this->getMigrationsDir(); + if (! is_readable($dir)) { + return array(); + } + + $versions = array(); + + foreach (new DirectoryIterator($this->getMigrationsDir()) as $file) { + if($file->isDot()) continue; + $filename = $file->getFilename(); + if (preg_match('/^upgrade_(\d+)\.sql$/', $filename, $match)) { + $versions[] = $match[1]; + } + } + + sort($versions); + + return $versions; + } + + public function loadMigrationFile($version) + { + $filename = sprintf( + '%s/upgrade_%d.sql', + $this->getMigrationsDir(), + $version + ); + + return file_get_contents($filename); + } + + protected function listMigrationsAfter($version) + { + $filtered = array(); + foreach ($this->listAllMigrations() as $available) { + if ($available > $version) { + $filtered[] = $available; + } + } + + return $filtered; + } + + protected function getMigrationsDir() + { + if ($this->migrationsDir === null) { + $this->migrationsDir = dirname(dirname(dirname(__DIR__))) + . '/schema/' + . $this->connection->getDbType() + . '-migrations'; + } + + return $this->migrationsDir; + } +} diff --git a/schema/mysql-changes/upgrade_1.sql b/schema/mysql-legacy-changes/upgrade_1.sql similarity index 100% rename from schema/mysql-changes/upgrade_1.sql rename to schema/mysql-legacy-changes/upgrade_1.sql diff --git a/schema/mysql-changes/upgrade_10.sql b/schema/mysql-legacy-changes/upgrade_10.sql similarity index 100% rename from schema/mysql-changes/upgrade_10.sql rename to schema/mysql-legacy-changes/upgrade_10.sql diff --git a/schema/mysql-changes/upgrade_11.sql b/schema/mysql-legacy-changes/upgrade_11.sql similarity index 100% rename from schema/mysql-changes/upgrade_11.sql rename to schema/mysql-legacy-changes/upgrade_11.sql diff --git a/schema/mysql-changes/upgrade_12.sql b/schema/mysql-legacy-changes/upgrade_12.sql similarity index 100% rename from schema/mysql-changes/upgrade_12.sql rename to schema/mysql-legacy-changes/upgrade_12.sql diff --git a/schema/mysql-changes/upgrade_13.sql b/schema/mysql-legacy-changes/upgrade_13.sql similarity index 100% rename from schema/mysql-changes/upgrade_13.sql rename to schema/mysql-legacy-changes/upgrade_13.sql diff --git a/schema/mysql-changes/upgrade_14.sql b/schema/mysql-legacy-changes/upgrade_14.sql similarity index 100% rename from schema/mysql-changes/upgrade_14.sql rename to schema/mysql-legacy-changes/upgrade_14.sql diff --git a/schema/mysql-changes/upgrade_15.sql b/schema/mysql-legacy-changes/upgrade_15.sql similarity index 100% rename from schema/mysql-changes/upgrade_15.sql rename to schema/mysql-legacy-changes/upgrade_15.sql diff --git a/schema/mysql-changes/upgrade_16.sql b/schema/mysql-legacy-changes/upgrade_16.sql similarity index 100% rename from schema/mysql-changes/upgrade_16.sql rename to schema/mysql-legacy-changes/upgrade_16.sql diff --git a/schema/mysql-changes/upgrade_17.sql b/schema/mysql-legacy-changes/upgrade_17.sql similarity index 100% rename from schema/mysql-changes/upgrade_17.sql rename to schema/mysql-legacy-changes/upgrade_17.sql diff --git a/schema/mysql-changes/upgrade_18.sql b/schema/mysql-legacy-changes/upgrade_18.sql similarity index 100% rename from schema/mysql-changes/upgrade_18.sql rename to schema/mysql-legacy-changes/upgrade_18.sql diff --git a/schema/mysql-changes/upgrade_19.sql b/schema/mysql-legacy-changes/upgrade_19.sql similarity index 100% rename from schema/mysql-changes/upgrade_19.sql rename to schema/mysql-legacy-changes/upgrade_19.sql diff --git a/schema/mysql-changes/upgrade_2.sql b/schema/mysql-legacy-changes/upgrade_2.sql similarity index 100% rename from schema/mysql-changes/upgrade_2.sql rename to schema/mysql-legacy-changes/upgrade_2.sql diff --git a/schema/mysql-changes/upgrade_20.sql b/schema/mysql-legacy-changes/upgrade_20.sql similarity index 100% rename from schema/mysql-changes/upgrade_20.sql rename to schema/mysql-legacy-changes/upgrade_20.sql diff --git a/schema/mysql-changes/upgrade_21.sql b/schema/mysql-legacy-changes/upgrade_21.sql similarity index 100% rename from schema/mysql-changes/upgrade_21.sql rename to schema/mysql-legacy-changes/upgrade_21.sql diff --git a/schema/mysql-changes/upgrade_22.sql b/schema/mysql-legacy-changes/upgrade_22.sql similarity index 100% rename from schema/mysql-changes/upgrade_22.sql rename to schema/mysql-legacy-changes/upgrade_22.sql diff --git a/schema/mysql-changes/upgrade_23.sql b/schema/mysql-legacy-changes/upgrade_23.sql similarity index 100% rename from schema/mysql-changes/upgrade_23.sql rename to schema/mysql-legacy-changes/upgrade_23.sql diff --git a/schema/mysql-changes/upgrade_24.sql b/schema/mysql-legacy-changes/upgrade_24.sql similarity index 100% rename from schema/mysql-changes/upgrade_24.sql rename to schema/mysql-legacy-changes/upgrade_24.sql diff --git a/schema/mysql-changes/upgrade_25.sql b/schema/mysql-legacy-changes/upgrade_25.sql similarity index 100% rename from schema/mysql-changes/upgrade_25.sql rename to schema/mysql-legacy-changes/upgrade_25.sql diff --git a/schema/mysql-changes/upgrade_26.sql b/schema/mysql-legacy-changes/upgrade_26.sql similarity index 100% rename from schema/mysql-changes/upgrade_26.sql rename to schema/mysql-legacy-changes/upgrade_26.sql diff --git a/schema/mysql-changes/upgrade_27.sql b/schema/mysql-legacy-changes/upgrade_27.sql similarity index 100% rename from schema/mysql-changes/upgrade_27.sql rename to schema/mysql-legacy-changes/upgrade_27.sql diff --git a/schema/mysql-changes/upgrade_28.sql b/schema/mysql-legacy-changes/upgrade_28.sql similarity index 100% rename from schema/mysql-changes/upgrade_28.sql rename to schema/mysql-legacy-changes/upgrade_28.sql diff --git a/schema/mysql-changes/upgrade_29.sql b/schema/mysql-legacy-changes/upgrade_29.sql similarity index 100% rename from schema/mysql-changes/upgrade_29.sql rename to schema/mysql-legacy-changes/upgrade_29.sql diff --git a/schema/mysql-changes/upgrade_3.sql b/schema/mysql-legacy-changes/upgrade_3.sql similarity index 100% rename from schema/mysql-changes/upgrade_3.sql rename to schema/mysql-legacy-changes/upgrade_3.sql diff --git a/schema/mysql-changes/upgrade_30.sql b/schema/mysql-legacy-changes/upgrade_30.sql similarity index 100% rename from schema/mysql-changes/upgrade_30.sql rename to schema/mysql-legacy-changes/upgrade_30.sql diff --git a/schema/mysql-changes/upgrade_31.sql b/schema/mysql-legacy-changes/upgrade_31.sql similarity index 100% rename from schema/mysql-changes/upgrade_31.sql rename to schema/mysql-legacy-changes/upgrade_31.sql diff --git a/schema/mysql-changes/upgrade_32.sql b/schema/mysql-legacy-changes/upgrade_32.sql similarity index 100% rename from schema/mysql-changes/upgrade_32.sql rename to schema/mysql-legacy-changes/upgrade_32.sql diff --git a/schema/mysql-changes/upgrade_33.sql b/schema/mysql-legacy-changes/upgrade_33.sql similarity index 100% rename from schema/mysql-changes/upgrade_33.sql rename to schema/mysql-legacy-changes/upgrade_33.sql diff --git a/schema/mysql-changes/upgrade_34.sql b/schema/mysql-legacy-changes/upgrade_34.sql similarity index 100% rename from schema/mysql-changes/upgrade_34.sql rename to schema/mysql-legacy-changes/upgrade_34.sql diff --git a/schema/mysql-changes/upgrade_35.sql b/schema/mysql-legacy-changes/upgrade_35.sql similarity index 100% rename from schema/mysql-changes/upgrade_35.sql rename to schema/mysql-legacy-changes/upgrade_35.sql diff --git a/schema/mysql-changes/upgrade_36.sql b/schema/mysql-legacy-changes/upgrade_36.sql similarity index 100% rename from schema/mysql-changes/upgrade_36.sql rename to schema/mysql-legacy-changes/upgrade_36.sql diff --git a/schema/mysql-changes/upgrade_37.sql b/schema/mysql-legacy-changes/upgrade_37.sql similarity index 100% rename from schema/mysql-changes/upgrade_37.sql rename to schema/mysql-legacy-changes/upgrade_37.sql diff --git a/schema/mysql-changes/upgrade_38.sql b/schema/mysql-legacy-changes/upgrade_38.sql similarity index 100% rename from schema/mysql-changes/upgrade_38.sql rename to schema/mysql-legacy-changes/upgrade_38.sql diff --git a/schema/mysql-changes/upgrade_39.sql b/schema/mysql-legacy-changes/upgrade_39.sql similarity index 100% rename from schema/mysql-changes/upgrade_39.sql rename to schema/mysql-legacy-changes/upgrade_39.sql diff --git a/schema/mysql-changes/upgrade_4.sql b/schema/mysql-legacy-changes/upgrade_4.sql similarity index 100% rename from schema/mysql-changes/upgrade_4.sql rename to schema/mysql-legacy-changes/upgrade_4.sql diff --git a/schema/mysql-changes/upgrade_40.sql b/schema/mysql-legacy-changes/upgrade_40.sql similarity index 100% rename from schema/mysql-changes/upgrade_40.sql rename to schema/mysql-legacy-changes/upgrade_40.sql diff --git a/schema/mysql-changes/upgrade_41.sql b/schema/mysql-legacy-changes/upgrade_41.sql similarity index 100% rename from schema/mysql-changes/upgrade_41.sql rename to schema/mysql-legacy-changes/upgrade_41.sql diff --git a/schema/mysql-changes/upgrade_42.sql b/schema/mysql-legacy-changes/upgrade_42.sql similarity index 100% rename from schema/mysql-changes/upgrade_42.sql rename to schema/mysql-legacy-changes/upgrade_42.sql diff --git a/schema/mysql-changes/upgrade_43.sql b/schema/mysql-legacy-changes/upgrade_43.sql similarity index 100% rename from schema/mysql-changes/upgrade_43.sql rename to schema/mysql-legacy-changes/upgrade_43.sql diff --git a/schema/mysql-changes/upgrade_44.sql b/schema/mysql-legacy-changes/upgrade_44.sql similarity index 100% rename from schema/mysql-changes/upgrade_44.sql rename to schema/mysql-legacy-changes/upgrade_44.sql diff --git a/schema/mysql-changes/upgrade_45.sql b/schema/mysql-legacy-changes/upgrade_45.sql similarity index 100% rename from schema/mysql-changes/upgrade_45.sql rename to schema/mysql-legacy-changes/upgrade_45.sql diff --git a/schema/mysql-changes/upgrade_46.sql b/schema/mysql-legacy-changes/upgrade_46.sql similarity index 100% rename from schema/mysql-changes/upgrade_46.sql rename to schema/mysql-legacy-changes/upgrade_46.sql diff --git a/schema/mysql-changes/upgrade_47.sql b/schema/mysql-legacy-changes/upgrade_47.sql similarity index 100% rename from schema/mysql-changes/upgrade_47.sql rename to schema/mysql-legacy-changes/upgrade_47.sql diff --git a/schema/mysql-changes/upgrade_48.sql b/schema/mysql-legacy-changes/upgrade_48.sql similarity index 100% rename from schema/mysql-changes/upgrade_48.sql rename to schema/mysql-legacy-changes/upgrade_48.sql diff --git a/schema/mysql-changes/upgrade_49.sql b/schema/mysql-legacy-changes/upgrade_49.sql similarity index 100% rename from schema/mysql-changes/upgrade_49.sql rename to schema/mysql-legacy-changes/upgrade_49.sql diff --git a/schema/mysql-changes/upgrade_5.sql b/schema/mysql-legacy-changes/upgrade_5.sql similarity index 100% rename from schema/mysql-changes/upgrade_5.sql rename to schema/mysql-legacy-changes/upgrade_5.sql diff --git a/schema/mysql-changes/upgrade_50.sql b/schema/mysql-legacy-changes/upgrade_50.sql similarity index 100% rename from schema/mysql-changes/upgrade_50.sql rename to schema/mysql-legacy-changes/upgrade_50.sql diff --git a/schema/mysql-changes/upgrade_51.sql b/schema/mysql-legacy-changes/upgrade_51.sql similarity index 100% rename from schema/mysql-changes/upgrade_51.sql rename to schema/mysql-legacy-changes/upgrade_51.sql diff --git a/schema/mysql-changes/upgrade_52.sql b/schema/mysql-legacy-changes/upgrade_52.sql similarity index 100% rename from schema/mysql-changes/upgrade_52.sql rename to schema/mysql-legacy-changes/upgrade_52.sql diff --git a/schema/mysql-changes/upgrade_53.sql b/schema/mysql-legacy-changes/upgrade_53.sql similarity index 100% rename from schema/mysql-changes/upgrade_53.sql rename to schema/mysql-legacy-changes/upgrade_53.sql diff --git a/schema/mysql-changes/upgrade_54.sql b/schema/mysql-legacy-changes/upgrade_54.sql similarity index 100% rename from schema/mysql-changes/upgrade_54.sql rename to schema/mysql-legacy-changes/upgrade_54.sql diff --git a/schema/mysql-changes/upgrade_55.sql b/schema/mysql-legacy-changes/upgrade_55.sql similarity index 100% rename from schema/mysql-changes/upgrade_55.sql rename to schema/mysql-legacy-changes/upgrade_55.sql diff --git a/schema/mysql-changes/upgrade_56.sql b/schema/mysql-legacy-changes/upgrade_56.sql similarity index 100% rename from schema/mysql-changes/upgrade_56.sql rename to schema/mysql-legacy-changes/upgrade_56.sql diff --git a/schema/mysql-changes/upgrade_57.sql b/schema/mysql-legacy-changes/upgrade_57.sql similarity index 100% rename from schema/mysql-changes/upgrade_57.sql rename to schema/mysql-legacy-changes/upgrade_57.sql diff --git a/schema/mysql-changes/upgrade_58.sql b/schema/mysql-legacy-changes/upgrade_58.sql similarity index 100% rename from schema/mysql-changes/upgrade_58.sql rename to schema/mysql-legacy-changes/upgrade_58.sql diff --git a/schema/mysql-changes/upgrade_59.sql b/schema/mysql-legacy-changes/upgrade_59.sql similarity index 100% rename from schema/mysql-changes/upgrade_59.sql rename to schema/mysql-legacy-changes/upgrade_59.sql diff --git a/schema/mysql-changes/upgrade_6.sql b/schema/mysql-legacy-changes/upgrade_6.sql similarity index 100% rename from schema/mysql-changes/upgrade_6.sql rename to schema/mysql-legacy-changes/upgrade_6.sql diff --git a/schema/mysql-changes/upgrade_60.sql b/schema/mysql-legacy-changes/upgrade_60.sql similarity index 100% rename from schema/mysql-changes/upgrade_60.sql rename to schema/mysql-legacy-changes/upgrade_60.sql diff --git a/schema/mysql-changes/upgrade_61.sql b/schema/mysql-legacy-changes/upgrade_61.sql similarity index 100% rename from schema/mysql-changes/upgrade_61.sql rename to schema/mysql-legacy-changes/upgrade_61.sql diff --git a/schema/mysql-changes/upgrade_62.sql b/schema/mysql-legacy-changes/upgrade_62.sql similarity index 100% rename from schema/mysql-changes/upgrade_62.sql rename to schema/mysql-legacy-changes/upgrade_62.sql diff --git a/schema/mysql-changes/upgrade_7.sql b/schema/mysql-legacy-changes/upgrade_7.sql similarity index 100% rename from schema/mysql-changes/upgrade_7.sql rename to schema/mysql-legacy-changes/upgrade_7.sql diff --git a/schema/mysql-changes/upgrade_8.sql b/schema/mysql-legacy-changes/upgrade_8.sql similarity index 100% rename from schema/mysql-changes/upgrade_8.sql rename to schema/mysql-legacy-changes/upgrade_8.sql diff --git a/schema/mysql-changes/upgrade_9.sql b/schema/mysql-legacy-changes/upgrade_9.sql similarity index 100% rename from schema/mysql-changes/upgrade_9.sql rename to schema/mysql-legacy-changes/upgrade_9.sql diff --git a/schema/mysql-migrations/upgrade_63.sql b/schema/mysql-migrations/upgrade_63.sql new file mode 100644 index 00000000..7d236122 --- /dev/null +++ b/schema/mysql-migrations/upgrade_63.sql @@ -0,0 +1,12 @@ +CREATE TABLE director_schema_migration ( + schema_version SMALLINT UNSIGNED NOT NULL, + migration_time DATETIME NOT NULL, + PRIMARY KEY(schema_version) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +DROP TABLE director_dbversion; + +INSERT INTO director_schema_migration + SET migration_time = NOW(), + schema_version = 63; + diff --git a/schema/mysql.sql b/schema/mysql.sql index aec5c85a..002c423c 100644 --- a/schema/mysql.sql +++ b/schema/mysql.sql @@ -16,10 +16,6 @@ SET sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'; -CREATE TABLE director_dbversion ( - schema_version INT(10) UNSIGNED NOT NULL -) ENGINE=InnoDB DEFAULT CHARSET=utf8; - CREATE TABLE director_activity_log ( id BIGINT(20) UNSIGNED AUTO_INCREMENT NOT NULL, object_type VARCHAR(64) NOT NULL, @@ -149,6 +145,12 @@ CREATE TABLE director_datafield_setting ( ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; +CREATE TABLE director_schema_migration ( + schema_version SMALLINT UNSIGNED NOT NULL, + migration_time DATETIME NOT NULL, + PRIMARY KEY(schema_version) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + CREATE TABLE icinga_zone ( id INT(10) UNSIGNED AUTO_INCREMENT NOT NULL, parent_id INT(10) UNSIGNED DEFAULT NULL, @@ -1022,3 +1024,8 @@ CREATE TABLE import_row_modifier_setting ( setting_value TEXT DEFAULT NULL, PRIMARY KEY (modifier_id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO director_schema_migration + SET migration_time = NOW(), + schema_version = 63; + diff --git a/schema/pgsql-changes/upgrade-10.sql b/schema/pgsql-legacy-changes/upgrade-10.sql similarity index 100% rename from schema/pgsql-changes/upgrade-10.sql rename to schema/pgsql-legacy-changes/upgrade-10.sql diff --git a/schema/pgsql-changes/upgrade-11.sql b/schema/pgsql-legacy-changes/upgrade-11.sql similarity index 100% rename from schema/pgsql-changes/upgrade-11.sql rename to schema/pgsql-legacy-changes/upgrade-11.sql diff --git a/schema/pgsql-changes/upgrade-2.sql b/schema/pgsql-legacy-changes/upgrade-2.sql similarity index 100% rename from schema/pgsql-changes/upgrade-2.sql rename to schema/pgsql-legacy-changes/upgrade-2.sql diff --git a/schema/pgsql-changes/upgrade-3.sql b/schema/pgsql-legacy-changes/upgrade-3.sql similarity index 100% rename from schema/pgsql-changes/upgrade-3.sql rename to schema/pgsql-legacy-changes/upgrade-3.sql diff --git a/schema/pgsql-changes/upgrade-4.sql b/schema/pgsql-legacy-changes/upgrade-4.sql similarity index 100% rename from schema/pgsql-changes/upgrade-4.sql rename to schema/pgsql-legacy-changes/upgrade-4.sql diff --git a/schema/pgsql-changes/upgrade-5.sql b/schema/pgsql-legacy-changes/upgrade-5.sql similarity index 100% rename from schema/pgsql-changes/upgrade-5.sql rename to schema/pgsql-legacy-changes/upgrade-5.sql diff --git a/schema/pgsql-changes/upgrade-6.sql b/schema/pgsql-legacy-changes/upgrade-6.sql similarity index 100% rename from schema/pgsql-changes/upgrade-6.sql rename to schema/pgsql-legacy-changes/upgrade-6.sql diff --git a/schema/pgsql-changes/upgrade-7.sql b/schema/pgsql-legacy-changes/upgrade-7.sql similarity index 100% rename from schema/pgsql-changes/upgrade-7.sql rename to schema/pgsql-legacy-changes/upgrade-7.sql diff --git a/schema/pgsql-changes/upgrade-8.sql b/schema/pgsql-legacy-changes/upgrade-8.sql similarity index 100% rename from schema/pgsql-changes/upgrade-8.sql rename to schema/pgsql-legacy-changes/upgrade-8.sql diff --git a/schema/pgsql-changes/upgrade-9.sql b/schema/pgsql-legacy-changes/upgrade-9.sql similarity index 100% rename from schema/pgsql-changes/upgrade-9.sql rename to schema/pgsql-legacy-changes/upgrade-9.sql diff --git a/schema/pgsql-changes/upgrade_1.sql b/schema/pgsql-legacy-changes/upgrade_1.sql similarity index 100% rename from schema/pgsql-changes/upgrade_1.sql rename to schema/pgsql-legacy-changes/upgrade_1.sql diff --git a/schema/pgsql-changes/upgrade_21.sql b/schema/pgsql-legacy-changes/upgrade_21.sql similarity index 100% rename from schema/pgsql-changes/upgrade_21.sql rename to schema/pgsql-legacy-changes/upgrade_21.sql diff --git a/schema/pgsql-changes/upgrade_22.sql b/schema/pgsql-legacy-changes/upgrade_22.sql similarity index 100% rename from schema/pgsql-changes/upgrade_22.sql rename to schema/pgsql-legacy-changes/upgrade_22.sql diff --git a/schema/pgsql-changes/upgrade_23.sql b/schema/pgsql-legacy-changes/upgrade_23.sql similarity index 100% rename from schema/pgsql-changes/upgrade_23.sql rename to schema/pgsql-legacy-changes/upgrade_23.sql diff --git a/schema/pgsql-changes/upgrade_34.sql b/schema/pgsql-legacy-changes/upgrade_34.sql similarity index 100% rename from schema/pgsql-changes/upgrade_34.sql rename to schema/pgsql-legacy-changes/upgrade_34.sql diff --git a/schema/pgsql-changes/upgrade_35.sql b/schema/pgsql-legacy-changes/upgrade_35.sql similarity index 100% rename from schema/pgsql-changes/upgrade_35.sql rename to schema/pgsql-legacy-changes/upgrade_35.sql