diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2019-11-26 18:28:42 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2019-11-26 18:28:42 +0300 |
commit | cf91dfc8271b902419cbaaaa3c44e15d03dc2cf7 (patch) | |
tree | 35ba48b7f8940c5386e4f2aad7e0f065007befb2 | |
parent | 5730b9707e44c863144d27e73fdfe5739141f005 (diff) |
Drop all database migrations to be backward compatible with only 0.12.0 (one minor version behind)
-rw-r--r-- | libbrep/build.hxx | 2 | ||||
-rw-r--r-- | libbrep/build.xml | 15 | ||||
-rw-r--r-- | libbrep/package.hxx | 2 | ||||
-rw-r--r-- | libbrep/package.xml | 528 | ||||
-rw-r--r-- | migrate/migrate.cxx | 38 |
5 files changed, 268 insertions, 317 deletions
diff --git a/libbrep/build.hxx b/libbrep/build.hxx index 625a0ca..fc9f675 100644 --- a/libbrep/build.hxx +++ b/libbrep/build.hxx @@ -24,7 +24,7 @@ // Used by the data migration entries. // -#define LIBBREP_BUILD_SCHEMA_VERSION_BASE 7 +#define LIBBREP_BUILD_SCHEMA_VERSION_BASE 9 #pragma db model version(LIBBREP_BUILD_SCHEMA_VERSION_BASE, 9, closed) diff --git a/libbrep/build.xml b/libbrep/build.xml index 2a621b6..3ade7c8 100644 --- a/libbrep/build.xml +++ b/libbrep/build.xml @@ -1,15 +1,5 @@ <changelog xmlns="http://www.codesynthesis.com/xmlns/odb/changelog" database="pgsql" schema-name="build" version="1"> - <changeset version="9"> - <alter-table name="build"> - <add-index name="build_timestamp_i"> - <column name="timestamp"/> - </add-index> - </alter-table> - </changeset> - - <changeset version="8"/> - - <model version="7"> + <model version="9"> <table name="build" kind="object"> <column name="package_tenant" type="TEXT" null="false"/> <column name="package_name" type="CITEXT" null="false"/> @@ -50,6 +40,9 @@ <column name="toolchain_version_canonical_release"/> <column name="toolchain_version_revision"/> </primary-key> + <index name="build_timestamp_i"> + <column name="timestamp"/> + </index> </table> <table name="build_results" kind="container"> <column name="package_tenant" type="TEXT" null="false"/> diff --git a/libbrep/package.hxx b/libbrep/package.hxx index b9a7c00..47f0ebe 100644 --- a/libbrep/package.hxx +++ b/libbrep/package.hxx @@ -19,7 +19,7 @@ // Used by the data migration entries. // -#define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 14 +#define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 17 #pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 17, closed) diff --git a/libbrep/package.xml b/libbrep/package.xml index 170ba7c..785ae0f 100644 --- a/libbrep/package.xml +++ b/libbrep/package.xml @@ -1,274 +1,5 @@ <changelog xmlns="http://www.codesynthesis.com/xmlns/odb/changelog" database="pgsql" schema-name="package" version="1"> - <changeset version="17"> - <add-table name="package_tests" kind="container"> - <column name="tenant" type="TEXT" null="false"/> - <column name="name" type="CITEXT" null="false"/> - <column name="version_epoch" type="INTEGER" null="false"/> - <column name="version_canonical_upstream" type="TEXT" null="false"/> - <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> - <column name="version_revision" type="INTEGER" null="false"/> - <column name="index" type="BIGINT" null="false"/> - <column name="dep_name" type="CITEXT" null="false"/> - <column name="dep_min_version_epoch" type="INTEGER" null="true"/> - <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_min_version_revision" type="INTEGER" null="true"/> - <column name="dep_min_version_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_release" type="TEXT" null="true"/> - <column name="dep_max_version_epoch" type="INTEGER" null="true"/> - <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_max_version_revision" type="INTEGER" null="true"/> - <column name="dep_max_version_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_release" type="TEXT" null="true"/> - <column name="dep_min_open" type="BOOLEAN" null="true"/> - <column name="dep_max_open" type="BOOLEAN" null="true"/> - <column name="dep_package_tenant" type="TEXT" null="true"/> - <column name="dep_package_name" type="CITEXT" null="true"/> - <column name="dep_package_version_epoch" type="INTEGER" null="true"/> - <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> - <column name="dep_package_version_revision" type="INTEGER" null="true"/> - <foreign-key name="tenant_fk" deferrable="DEFERRED"> - <column name="tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - <index name="package_tests_object_id_i"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </index> - <index name="package_tests_index_i"> - <column name="index"/> - </index> - <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="dep_package_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <column name="dep_package_name"/> - <column name="dep_package_version_epoch"/> - <column name="dep_package_version_canonical_upstream"/> - <column name="dep_package_version_canonical_release"/> - <column name="dep_package_version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - </add-table> - <add-table name="package_examples" kind="container"> - <column name="tenant" type="TEXT" null="false"/> - <column name="name" type="CITEXT" null="false"/> - <column name="version_epoch" type="INTEGER" null="false"/> - <column name="version_canonical_upstream" type="TEXT" null="false"/> - <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> - <column name="version_revision" type="INTEGER" null="false"/> - <column name="index" type="BIGINT" null="false"/> - <column name="dep_name" type="CITEXT" null="false"/> - <column name="dep_min_version_epoch" type="INTEGER" null="true"/> - <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_min_version_revision" type="INTEGER" null="true"/> - <column name="dep_min_version_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_release" type="TEXT" null="true"/> - <column name="dep_max_version_epoch" type="INTEGER" null="true"/> - <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_max_version_revision" type="INTEGER" null="true"/> - <column name="dep_max_version_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_release" type="TEXT" null="true"/> - <column name="dep_min_open" type="BOOLEAN" null="true"/> - <column name="dep_max_open" type="BOOLEAN" null="true"/> - <column name="dep_package_tenant" type="TEXT" null="true"/> - <column name="dep_package_name" type="CITEXT" null="true"/> - <column name="dep_package_version_epoch" type="INTEGER" null="true"/> - <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> - <column name="dep_package_version_revision" type="INTEGER" null="true"/> - <foreign-key name="tenant_fk" deferrable="DEFERRED"> - <column name="tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - <index name="package_examples_object_id_i"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </index> - <index name="package_examples_index_i"> - <column name="index"/> - </index> - <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="dep_package_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <column name="dep_package_name"/> - <column name="dep_package_version_epoch"/> - <column name="dep_package_version_canonical_upstream"/> - <column name="dep_package_version_canonical_release"/> - <column name="dep_package_version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - </add-table> - <add-table name="package_benchmarks" kind="container"> - <column name="tenant" type="TEXT" null="false"/> - <column name="name" type="CITEXT" null="false"/> - <column name="version_epoch" type="INTEGER" null="false"/> - <column name="version_canonical_upstream" type="TEXT" null="false"/> - <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> - <column name="version_revision" type="INTEGER" null="false"/> - <column name="index" type="BIGINT" null="false"/> - <column name="dep_name" type="CITEXT" null="false"/> - <column name="dep_min_version_epoch" type="INTEGER" null="true"/> - <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_min_version_revision" type="INTEGER" null="true"/> - <column name="dep_min_version_upstream" type="TEXT" null="true"/> - <column name="dep_min_version_release" type="TEXT" null="true"/> - <column name="dep_max_version_epoch" type="INTEGER" null="true"/> - <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> - <column name="dep_max_version_revision" type="INTEGER" null="true"/> - <column name="dep_max_version_upstream" type="TEXT" null="true"/> - <column name="dep_max_version_release" type="TEXT" null="true"/> - <column name="dep_min_open" type="BOOLEAN" null="true"/> - <column name="dep_max_open" type="BOOLEAN" null="true"/> - <column name="dep_package_tenant" type="TEXT" null="true"/> - <column name="dep_package_name" type="CITEXT" null="true"/> - <column name="dep_package_version_epoch" type="INTEGER" null="true"/> - <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> - <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> - <column name="dep_package_version_revision" type="INTEGER" null="true"/> - <foreign-key name="tenant_fk" deferrable="DEFERRED"> - <column name="tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - <index name="package_benchmarks_object_id_i"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </index> - <index name="package_benchmarks_index_i"> - <column name="index"/> - </index> - <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <references table="tenant"> - <column name="id"/> - </references> - </foreign-key> - <foreign-key name="dep_package_fk" deferrable="DEFERRED"> - <column name="dep_package_tenant"/> - <column name="dep_package_name"/> - <column name="dep_package_version_epoch"/> - <column name="dep_package_version_canonical_upstream"/> - <column name="dep_package_version_canonical_release"/> - <column name="dep_package_version_revision"/> - <references table="package"> - <column name="tenant"/> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - </references> - </foreign-key> - </add-table> - </changeset> - - <changeset version="16"/> - - <changeset version="15"> - <alter-table name="repository"> - <add-column name="buildable" type="BOOLEAN" null="false"/> - </alter-table> - <alter-table name="package"> - <add-column name="buildable" type="BOOLEAN" null="false"/> - </alter-table> - </changeset> - - <model version="14"> + <model version="17"> <table name="tenant" kind="object"> <column name="id" type="TEXT" null="false"/> <column name="creation_timestamp" type="BIGINT" null="false"/> @@ -299,6 +30,7 @@ <column name="packages_timestamp" type="BIGINT" null="false"/> <column name="repositories_timestamp" type="BIGINT" null="false"/> <column name="internal" type="BOOLEAN" null="false"/> + <column name="buildable" type="BOOLEAN" null="false"/> <primary-key> <column name="tenant"/> <column name="canonical_name"/> @@ -434,6 +166,7 @@ <column name="location" type="TEXT" null="true"/> <column name="fragment" type="TEXT" null="true"/> <column name="sha256sum" type="TEXT" null="true"/> + <column name="buildable" type="BOOLEAN" null="false"/> <column name="search_index" type="tsvector" null="true"/> <primary-key> <column name="tenant"/> @@ -851,6 +584,261 @@ <column name="version_revision"/> </index> </table> + <table name="package_tests" kind="container"> + <column name="tenant" type="TEXT" null="false"/> + <column name="name" type="CITEXT" null="false"/> + <column name="version_epoch" type="INTEGER" null="false"/> + <column name="version_canonical_upstream" type="TEXT" null="false"/> + <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> + <column name="version_revision" type="INTEGER" null="false"/> + <column name="index" type="BIGINT" null="false"/> + <column name="dep_name" type="CITEXT" null="false"/> + <column name="dep_min_version_epoch" type="INTEGER" null="true"/> + <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_min_version_revision" type="INTEGER" null="true"/> + <column name="dep_min_version_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_release" type="TEXT" null="true"/> + <column name="dep_max_version_epoch" type="INTEGER" null="true"/> + <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_max_version_revision" type="INTEGER" null="true"/> + <column name="dep_max_version_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_release" type="TEXT" null="true"/> + <column name="dep_min_open" type="BOOLEAN" null="true"/> + <column name="dep_max_open" type="BOOLEAN" null="true"/> + <column name="dep_package_tenant" type="TEXT" null="true"/> + <column name="dep_package_name" type="CITEXT" null="true"/> + <column name="dep_package_version_epoch" type="INTEGER" null="true"/> + <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> + <column name="dep_package_version_revision" type="INTEGER" null="true"/> + <foreign-key name="tenant_fk" deferrable="DEFERRED"> + <column name="tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + <index name="package_tests_object_id_i"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </index> + <index name="package_tests_index_i"> + <column name="index"/> + </index> + <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="dep_package_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <column name="dep_package_name"/> + <column name="dep_package_version_epoch"/> + <column name="dep_package_version_canonical_upstream"/> + <column name="dep_package_version_canonical_release"/> + <column name="dep_package_version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + </table> + <table name="package_examples" kind="container"> + <column name="tenant" type="TEXT" null="false"/> + <column name="name" type="CITEXT" null="false"/> + <column name="version_epoch" type="INTEGER" null="false"/> + <column name="version_canonical_upstream" type="TEXT" null="false"/> + <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> + <column name="version_revision" type="INTEGER" null="false"/> + <column name="index" type="BIGINT" null="false"/> + <column name="dep_name" type="CITEXT" null="false"/> + <column name="dep_min_version_epoch" type="INTEGER" null="true"/> + <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_min_version_revision" type="INTEGER" null="true"/> + <column name="dep_min_version_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_release" type="TEXT" null="true"/> + <column name="dep_max_version_epoch" type="INTEGER" null="true"/> + <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_max_version_revision" type="INTEGER" null="true"/> + <column name="dep_max_version_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_release" type="TEXT" null="true"/> + <column name="dep_min_open" type="BOOLEAN" null="true"/> + <column name="dep_max_open" type="BOOLEAN" null="true"/> + <column name="dep_package_tenant" type="TEXT" null="true"/> + <column name="dep_package_name" type="CITEXT" null="true"/> + <column name="dep_package_version_epoch" type="INTEGER" null="true"/> + <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> + <column name="dep_package_version_revision" type="INTEGER" null="true"/> + <foreign-key name="tenant_fk" deferrable="DEFERRED"> + <column name="tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + <index name="package_examples_object_id_i"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </index> + <index name="package_examples_index_i"> + <column name="index"/> + </index> + <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="dep_package_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <column name="dep_package_name"/> + <column name="dep_package_version_epoch"/> + <column name="dep_package_version_canonical_upstream"/> + <column name="dep_package_version_canonical_release"/> + <column name="dep_package_version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + </table> + <table name="package_benchmarks" kind="container"> + <column name="tenant" type="TEXT" null="false"/> + <column name="name" type="CITEXT" null="false"/> + <column name="version_epoch" type="INTEGER" null="false"/> + <column name="version_canonical_upstream" type="TEXT" null="false"/> + <column name="version_canonical_release" type="TEXT" null="false" options="COLLATE "C""/> + <column name="version_revision" type="INTEGER" null="false"/> + <column name="index" type="BIGINT" null="false"/> + <column name="dep_name" type="CITEXT" null="false"/> + <column name="dep_min_version_epoch" type="INTEGER" null="true"/> + <column name="dep_min_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_min_version_revision" type="INTEGER" null="true"/> + <column name="dep_min_version_upstream" type="TEXT" null="true"/> + <column name="dep_min_version_release" type="TEXT" null="true"/> + <column name="dep_max_version_epoch" type="INTEGER" null="true"/> + <column name="dep_max_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_canonical_release" type="TEXT" null="true"/> + <column name="dep_max_version_revision" type="INTEGER" null="true"/> + <column name="dep_max_version_upstream" type="TEXT" null="true"/> + <column name="dep_max_version_release" type="TEXT" null="true"/> + <column name="dep_min_open" type="BOOLEAN" null="true"/> + <column name="dep_max_open" type="BOOLEAN" null="true"/> + <column name="dep_package_tenant" type="TEXT" null="true"/> + <column name="dep_package_name" type="CITEXT" null="true"/> + <column name="dep_package_version_epoch" type="INTEGER" null="true"/> + <column name="dep_package_version_canonical_upstream" type="TEXT" null="true"/> + <column name="dep_package_version_canonical_release" type="TEXT" null="true" options="COLLATE "C""/> + <column name="dep_package_version_revision" type="INTEGER" null="true"/> + <foreign-key name="tenant_fk" deferrable="DEFERRED"> + <column name="tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + <index name="package_benchmarks_object_id_i"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </index> + <index name="package_benchmarks_index_i"> + <column name="index"/> + </index> + <foreign-key name="dep_package_tenant_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <references table="tenant"> + <column name="id"/> + </references> + </foreign-key> + <foreign-key name="dep_package_fk" deferrable="DEFERRED"> + <column name="dep_package_tenant"/> + <column name="dep_package_name"/> + <column name="dep_package_version_epoch"/> + <column name="dep_package_version_canonical_upstream"/> + <column name="dep_package_version_canonical_release"/> + <column name="dep_package_version_revision"/> + <references table="package"> + <column name="tenant"/> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + </references> + </foreign-key> + </table> <table name="package_builds" kind="container"> <column name="tenant" type="TEXT" null="false"/> <column name="name" type="CITEXT" null="false"/> diff --git a/migrate/migrate.cxx b/migrate/migrate.cxx index 3e2c53d..c1f4dc1 100644 --- a/migrate/migrate.cxx +++ b/migrate/migrate.cxx @@ -207,6 +207,7 @@ create (database& db, bool extra_only) const // Register the data migration functions for the package database schema. // +#if 0 template <schema_version v> using package_migration_entry_base = data_migration_entry<v, LIBBREP_PACKAGE_SCHEMA_VERSION_BASE>; @@ -218,42 +219,11 @@ struct package_migration_entry: package_migration_entry_base<v> : package_migration_entry_base<v> (f, "package") {} }; -static const package_migration_entry<15> -package_migrate_v15 ([] (database& db) +static const package_migration_entry<18> +package_migrate_v18 ([] (database& db) { - // Set the buildable flag for the internal repositories. - // - db.execute ("UPDATE repository SET buildable = internal"); - - // Set the buildable flag for the internal non-stub packages. - // - db.execute ("UPDATE package SET buildable = " - "internal_repository_tenant IS NOT NULL AND " - "NOT (version_epoch = 0 AND " - "version_canonical_upstream = '' AND " - "version_canonical_release = '~')"); -}); - -static const package_migration_entry<16> -package_migrate_v16 ([] (database& db) -{ - // Set the zero version revision to NULL. - // - auto migrate_rev = [&db] (const char* table, const char* column) - { - db.execute (string ("UPDATE ") + table + " SET " + column + " = NULL " + - "WHERE " + column + " = 0"); - }; - - // The depends package manifest value endpoint versions. - // - // Note that previously the zero and absent revisions had the same - // semantics. Now the semantics differs and the zero revision is preserved - // (see libbpkg/manifest.hxx for details). - // - migrate_rev ("package_dependency_alternatives", "dep_min_version_revision"); - migrate_rev ("package_dependency_alternatives", "dep_max_version_revision"); }); +#endif // main() function // |