diff options
author | Karen Arutyunov <karen@codesynthesis.com> | 2024-07-08 20:27:23 +0300 |
---|---|---|
committer | Karen Arutyunov <karen@codesynthesis.com> | 2024-07-09 10:55:02 +0300 |
commit | 642ada101f12157d8c995804fa2f61f5e43a2581 (patch) | |
tree | 68b48d456030829e464ec2b2e975c5355834d0e5 | |
parent | 938b7795262f9744642579132003a73f5781913f (diff) |
Drop all database migrations to be backward compatible with 0.16.0 and above (two minor versions behind)
-rw-r--r-- | bpkg/buildfile | 4 | ||||
-rw-r--r-- | bpkg/database.cxx | 142 | ||||
-rw-r--r-- | bpkg/package.hxx | 2 | ||||
-rw-r--r-- | bpkg/package.xml | 489 |
4 files changed, 209 insertions, 428 deletions
diff --git a/bpkg/buildfile b/bpkg/buildfile index e91d0cb..36b2e23 100644 --- a/bpkg/buildfile +++ b/bpkg/buildfile @@ -18,6 +18,10 @@ for m: bash bin c cc cli cxx in version # @@ TMP we require libsqlite3 to be interface dependency of libbutl-odb only # for the database migrations to schema versions 13 and 14. # +# Doesn't seem to be the case since bunch of public headers in +# libbutl-odb/odb/sqlite/ (some of which are included by bpkg) include +# <sqlite3.h>. +# import libs += libbpkg%lib{bpkg} import libs += libbutl%lib{butl} import libs += libbutl%lib{butl-odb} diff --git a/bpkg/database.cxx b/bpkg/database.cxx index 65e3af8..51bcd7f 100644 --- a/bpkg/database.cxx +++ b/bpkg/database.cxx @@ -3,8 +3,6 @@ #include <bpkg/database.hxx> -#include <sqlite3.h> // @@ TMP sqlite3_libversion_number() - #include <map> #include <odb/schema-catalog.hxx> @@ -58,99 +56,15 @@ namespace bpkg // NOTE: remember to qualify table/index names with \"main\". if using // native statements. // +#if 0 template <odb::schema_version v> using migration_entry = odb::data_migration_entry<v, DB_SCHEMA_VERSION_BASE>; - // @@ Since there is no proper support for dropping table columns not in - // SQLite prior to 3.35.5 nor in ODB, we will drop the - // available_package_dependency_alternatives.dep_* columns manually. We, - // however, cannot do it here since ODB will try to set the dropped - // column values to NULL at the end of migration. Thus, we will do it - // ad hoc after the below schema_catalog::migrate() call. - // - // NOTE: remove the mentioned ad hoc migration when removing this - // function. - // - static const migration_entry<13> - migrate_v13 ([] (odb::database& db) - { - // Note that - // available_package_dependency_alternative_dependencies.alternative_index - // is copied from available_package_dependency_alternatives.index and - // available_package_dependency_alternative_dependencies.index is set to 0. - // - db.execute ( - "INSERT INTO \"main\".\"available_package_dependency_alternative_dependencies\" " - "(\"name\", " - "\"version_epoch\", " - "\"version_canonical_upstream\", " - "\"version_canonical_release\", " - "\"version_revision\", " - "\"version_iteration\", " - "\"dependency_index\", " - "\"alternative_index\", " - "\"index\", " - "\"dep_name\", " - "\"dep_min_version_epoch\", " - "\"dep_min_version_canonical_upstream\", " - "\"dep_min_version_canonical_release\", " - "\"dep_min_version_revision\", " - "\"dep_min_version_iteration\", " - "\"dep_min_version_upstream\", " - "\"dep_min_version_release\", " - "\"dep_max_version_epoch\", " - "\"dep_max_version_canonical_upstream\", " - "\"dep_max_version_canonical_release\", " - "\"dep_max_version_revision\", " - "\"dep_max_version_iteration\", " - "\"dep_max_version_upstream\", " - "\"dep_max_version_release\", " - "\"dep_min_open\", " - "\"dep_max_open\") " - "SELECT " - "\"name\", " - "\"version_epoch\", " - "\"version_canonical_upstream\", " - "\"version_canonical_release\", " - "\"version_revision\", " - "\"version_iteration\", " - "\"dependency_index\", " - "\"index\", " - "0, " - "\"dep_name\", " - "\"dep_min_version_epoch\", " - "\"dep_min_version_canonical_upstream\", " - "\"dep_min_version_canonical_release\", " - "\"dep_min_version_revision\", " - "\"dep_min_version_iteration\", " - "\"dep_min_version_upstream\", " - "\"dep_min_version_release\", " - "\"dep_max_version_epoch\", " - "\"dep_max_version_canonical_upstream\", " - "\"dep_max_version_canonical_release\", " - "\"dep_max_version_revision\", " - "\"dep_max_version_iteration\", " - "\"dep_max_version_upstream\", " - "\"dep_max_version_release\", " - "\"dep_min_open\", " - "\"dep_max_open\" " - "FROM \"main\".\"available_package_dependency_alternatives\""); - }); - - // @@ Since there is no proper support for dropping table columns not in - // SQLite prior to 3.35.5 nor in ODB, we will drop the - // available_package_dependencies.conditional column manually. We, - // however, cannot do it here since ODB will try to set the dropped - // column values to NULL at the end of migration. Thus, we will do it - // ad hoc after the below schema_catalog::migrate() call. - // - // NOTE: remove the mentioned ad hoc migration when removing this - // function. - // - static const migration_entry<14> - migrate_v14 ([] (odb::database&) + static const migration_entry<27> + migrate_v27 ([] (odb::database&) { }); +#endif static inline path cfg_path (const dir_path& d, bool create) @@ -454,54 +368,6 @@ namespace bpkg // schema_catalog::migrate (*this); - // Note that the potential data corruption with `DROP COLUMN` is fixed - // in 3.35.5. - // - // @@ TMP Get rid of manual column dropping when ODB starts supporting - // that properly. Not doing so will result in failure of the below - // queries. - // - if (sqlite3_libversion_number () >= 3035005) - { - auto drop = [this] (const char* table, const char* column) - { - execute (std::string ("ALTER TABLE \"main\".") + table + - " DROP COLUMN \"" + column + '"'); - }; - - // @@ TMP See migrate_v13() for details. - // - if (sv < 13) - { - const char* cs[] = {"dep_name", - "dep_min_version_epoch", - "dep_min_version_canonical_upstream", - "dep_min_version_canonical_release", - "dep_min_version_revision", - "dep_min_version_iteration", - "dep_min_version_upstream", - "dep_min_version_release", - "dep_max_version_epoch", - "dep_max_version_canonical_upstream", - "dep_max_version_canonical_release", - "dep_max_version_revision", - "dep_max_version_iteration", - "dep_max_version_upstream", - "dep_max_version_release", - "dep_min_open", - "dep_max_open", - nullptr}; - - for (const char** c (cs); *c != nullptr; ++c) - drop ("available_package_dependency_alternatives", *c); - } - - // @@ TMP See migrate_v14() for details. - // - if (sv < 14) - drop ("available_package_dependencies", "conditional"); - } - for (auto& c: query<configuration> (odb::query<configuration>::id != 0)) { dir_path d (c.effective_path (config)); diff --git a/bpkg/package.hxx b/bpkg/package.hxx index 400519a..8fe448c 100644 --- a/bpkg/package.hxx +++ b/bpkg/package.hxx @@ -30,7 +30,7 @@ // migration is no longer supported (i.e., the current and base schema // versions are the same). // -#define DB_SCHEMA_VERSION_BASE 12 +#define DB_SCHEMA_VERSION_BASE 23 #pragma db model version(DB_SCHEMA_VERSION_BASE, 26, closed) diff --git a/bpkg/package.xml b/bpkg/package.xml index 8020ff3..f001712 100644 --- a/bpkg/package.xml +++ b/bpkg/package.xml @@ -35,277 +35,7 @@ </alter-table> </changeset> - <changeset version="23"> - <alter-table name="main.available_package"> - <add-column name="type" type="TEXT" null="true"/> - </alter-table> - <add-table name="main.available_package_languages" kind="container"> - <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <column name="version_epoch" type="INTEGER" null="true"/> - <column name="version_canonical_upstream" type="TEXT" null="true"/> - <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> - <column name="version_revision" type="INTEGER" null="true"/> - <column name="version_iteration" type="INTEGER" null="true"/> - <column name="index" type="INTEGER" null="true"/> - <column name="language_name" type="TEXT" null="true"/> - <column name="language_impl" type="INTEGER" null="true"/> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - <references table="main.available_package"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </references> - </foreign-key> - <index name="available_package_languages_object_id_i"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </index> - <index name="available_package_languages_index_i"> - <column name="index"/> - </index> - </add-table> - </changeset> - - <changeset version="22"> - <alter-table name="main.available_package"> - <add-column name="upstream_version" type="TEXT" null="true"/> - <add-column name="project" type="TEXT" null="true" options="COLLATE NOCASE"/> - </alter-table> - </changeset> - - <changeset version="21"> - <add-table name="main.available_package_distribution_values" kind="container"> - <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <column name="version_epoch" type="INTEGER" null="true"/> - <column name="version_canonical_upstream" type="TEXT" null="true"/> - <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> - <column name="version_revision" type="INTEGER" null="true"/> - <column name="version_iteration" type="INTEGER" null="true"/> - <column name="index" type="INTEGER" null="true"/> - <column name="dist_name" type="TEXT" null="true"/> - <column name="dist_value" type="TEXT" null="true"/> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - <references table="main.available_package"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </references> - </foreign-key> - <index name="available_package_distribution_values_object_id_i"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </index> - <index name="available_package_distribution_values_index_i"> - <column name="index"/> - </index> - </add-table> - </changeset> - - <changeset version="20"> - <alter-table name="main.available_package"> - <add-column name="alt_naming" type="INTEGER" null="true" default="0"/> - </alter-table> - <add-table name="main.available_package_buildfiles" kind="container"> - <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <column name="version_epoch" type="INTEGER" null="true"/> - <column name="version_canonical_upstream" type="TEXT" null="true"/> - <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> - <column name="version_revision" type="INTEGER" null="true"/> - <column name="version_iteration" type="INTEGER" null="true"/> - <column name="index" type="INTEGER" null="true"/> - <column name="path" type="TEXT" null="true"/> - <column name="content" type="TEXT" null="true"/> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - <references table="main.available_package"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </references> - </foreign-key> - <index name="available_package_buildfiles_object_id_i"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </index> - <index name="available_package_buildfiles_index_i"> - <column name="index"/> - </index> - </add-table> - </changeset> - - <changeset version="19"> - <alter-table name="main.selected_package_prerequisites"> - <add-column name="config_dependency_index" type="INTEGER" null="true" default="0"/> - <add-column name="config_alternative_index" type="INTEGER" null="true" default="0"/> - </alter-table> - </changeset> - - <changeset version="18"> - <add-table name="main.selected_package_config_variables" kind="container"> - <column name="package" type="TEXT" null="true" options="COLLATE NOCASE"/> - <column name="index" type="INTEGER" null="true"/> - <column name="name" type="TEXT" null="true"/> - <column name="source" type="TEXT" null="true"/> - <foreign-key name="package_fk" on-delete="CASCADE"> - <column name="package"/> - <references table="main.selected_package"> - <column name="name"/> - </references> - </foreign-key> - <index name="selected_package_config_variables_package_i"> - <column name="package"/> - </index> - <index name="selected_package_config_variables_index_i"> - <column name="index"/> - </index> - </add-table> - </changeset> - - <changeset version="17"> - <alter-table name="main.selected_package"> - <add-column name="buildfiles_checksum" type="TEXT" null="true"/> - </alter-table> - </changeset> - - <changeset version="16"> - <alter-table name="main.available_package_tests"> - <add-column name="test_reflect" type="TEXT" null="true"/> - </alter-table> - </changeset> - - <changeset version="15"> - <alter-table name="main.available_package"> - <add-column name="bootstrap_build" type="TEXT" null="true" default="''"/> - <add-column name="root_build" type="TEXT" null="true"/> - </alter-table> - </changeset> - - <changeset version="14"> - <alter-table name="main.available_package_dependencies"> - <drop-column name="conditional"/> - </alter-table> - <alter-table name="main.available_package_dependency_alternatives"> - <add-column name="reflect" type="TEXT" null="true"/> - <add-column name="prefer" type="TEXT" null="true"/> - <add-column name="accept" type="TEXT" null="true"/> - <add-column name="require" type="TEXT" null="true"/> - </alter-table> - </changeset> - - <changeset version="13"> - <alter-table name="main.available_package_dependency_alternatives"> - <add-column name="enable" type="TEXT" null="true"/> - <drop-column name="dep_name"/> - <drop-column name="dep_min_version_epoch"/> - <drop-column name="dep_min_version_canonical_upstream"/> - <drop-column name="dep_min_version_canonical_release"/> - <drop-column name="dep_min_version_revision"/> - <drop-column name="dep_min_version_iteration"/> - <drop-column name="dep_min_version_upstream"/> - <drop-column name="dep_min_version_release"/> - <drop-column name="dep_max_version_epoch"/> - <drop-column name="dep_max_version_canonical_upstream"/> - <drop-column name="dep_max_version_canonical_release"/> - <drop-column name="dep_max_version_revision"/> - <drop-column name="dep_max_version_iteration"/> - <drop-column name="dep_max_version_upstream"/> - <drop-column name="dep_max_version_release"/> - <drop-column name="dep_min_open"/> - <drop-column name="dep_max_open"/> - </alter-table> - <add-table name="main.available_package_dependency_alternative_dependencies" kind="container"> - <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <column name="version_epoch" type="INTEGER" null="true"/> - <column name="version_canonical_upstream" type="TEXT" null="true"/> - <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> - <column name="version_revision" type="INTEGER" null="true"/> - <column name="version_iteration" type="INTEGER" null="true"/> - <column name="dependency_index" type="INTEGER" null="true"/> - <column name="alternative_index" type="INTEGER" null="true"/> - <column name="index" type="INTEGER" null="true"/> - <column name="dep_name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <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_iteration" 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_iteration" 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="INTEGER" null="true"/> - <column name="dep_max_open" type="INTEGER" null="true"/> - <foreign-key name="object_id_fk" on-delete="CASCADE"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - <references table="main.available_package"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </references> - </foreign-key> - <index name="available_package_dependency_alternative_dependencies_object_id_i"> - <column name="name"/> - <column name="version_epoch"/> - <column name="version_canonical_upstream"/> - <column name="version_canonical_release"/> - <column name="version_revision"/> - <column name="version_iteration"/> - </index> - </add-table> - </changeset> - - <model version="12"> + <model version="23"> <table name="main.repository_fragment" kind="object"> <column name="name" type="TEXT" null="true"/> <column name="url" type="TEXT" null="true"/> @@ -396,6 +126,12 @@ <column name="version_upstream" type="TEXT" null="true"/> <column name="version_release" type="TEXT" null="true"/> <column name="sha256sum" type="TEXT" null="true"/> + <column name="bootstrap_build" type="TEXT" null="true" default="''"/> + <column name="root_build" type="TEXT" null="true"/> + <column name="alt_naming" type="INTEGER" null="true" default="0"/> + <column name="upstream_version" type="TEXT" null="true"/> + <column name="project" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="type" type="TEXT" null="true"/> <primary-key> <column name="name"/> <column name="version_epoch"/> @@ -453,7 +189,6 @@ <column name="version_revision" type="INTEGER" null="true"/> <column name="version_iteration" type="INTEGER" null="true"/> <column name="index" type="INTEGER" null="true"/> - <column name="conditional" type="INTEGER" null="true"/> <column name="buildtime" type="INTEGER" null="true"/> <column name="comment" type="TEXT" null="true"/> <column name="type" type="TEXT" null="true"/> @@ -494,23 +229,11 @@ <column name="version_iteration" type="INTEGER" null="true"/> <column name="dependency_index" type="INTEGER" null="true"/> <column name="index" type="INTEGER" null="true"/> - <column name="dep_name" type="TEXT" null="true" options="COLLATE NOCASE"/> - <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_iteration" 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_iteration" 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="INTEGER" null="true"/> - <column name="dep_max_open" type="INTEGER" null="true"/> + <column name="enable" type="TEXT" null="true"/> + <column name="reflect" type="TEXT" null="true"/> + <column name="prefer" type="TEXT" null="true"/> + <column name="accept" type="TEXT" null="true"/> + <column name="require" type="TEXT" null="true"/> <foreign-key name="object_id_fk" on-delete="CASCADE"> <column name="name"/> <column name="version_epoch"/> @@ -557,6 +280,7 @@ <column name="purge_src" type="INTEGER" null="true"/> <column name="manifest_checksum" type="TEXT" null="true"/> <column name="out_root" type="TEXT" null="true"/> + <column name="buildfiles_checksum" type="TEXT" null="true"/> <primary-key> <column name="name"/> </primary-key> @@ -581,6 +305,8 @@ <column name="min_open" type="INTEGER" null="true"/> <column name="max_open" type="INTEGER" null="true"/> <column name="configuration" type="TEXT" null="true"/> + <column name="config_dependency_index" type="INTEGER" null="true" default="0"/> + <column name="config_alternative_index" type="INTEGER" null="true" default="0"/> <foreign-key name="package_fk" on-delete="CASCADE"> <column name="package"/> <references table="main.selected_package"> @@ -630,6 +356,7 @@ <column name="test_max_open" type="INTEGER" null="true"/> <column name="test_type" type="TEXT" null="true"/> <column name="test_buildtime" type="INTEGER" null="true" default="0"/> + <column name="test_reflect" type="TEXT" null="true"/> <foreign-key name="object_id_fk" on-delete="CASCADE"> <column name="name"/> <column name="version_epoch"/> @@ -678,5 +405,189 @@ <column name="path"/> </index> </table> + <table name="main.available_package_dependency_alternative_dependencies" kind="container"> + <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="version_epoch" type="INTEGER" null="true"/> + <column name="version_canonical_upstream" type="TEXT" null="true"/> + <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> + <column name="version_revision" type="INTEGER" null="true"/> + <column name="version_iteration" type="INTEGER" null="true"/> + <column name="dependency_index" type="INTEGER" null="true"/> + <column name="alternative_index" type="INTEGER" null="true"/> + <column name="index" type="INTEGER" null="true"/> + <column name="dep_name" type="TEXT" null="true" options="COLLATE NOCASE"/> + <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_iteration" 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_iteration" 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="INTEGER" null="true"/> + <column name="dep_max_open" type="INTEGER" null="true"/> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + <references table="main.available_package"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </references> + </foreign-key> + <index name="available_package_dependency_alternative_dependencies_object_id_i"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </index> + </table> + <table name="main.selected_package_config_variables" kind="container"> + <column name="package" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="index" type="INTEGER" null="true"/> + <column name="name" type="TEXT" null="true"/> + <column name="source" type="TEXT" null="true"/> + <foreign-key name="package_fk" on-delete="CASCADE"> + <column name="package"/> + <references table="main.selected_package"> + <column name="name"/> + </references> + </foreign-key> + <index name="selected_package_config_variables_package_i"> + <column name="package"/> + </index> + <index name="selected_package_config_variables_index_i"> + <column name="index"/> + </index> + </table> + <table name="main.available_package_buildfiles" kind="container"> + <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="version_epoch" type="INTEGER" null="true"/> + <column name="version_canonical_upstream" type="TEXT" null="true"/> + <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> + <column name="version_revision" type="INTEGER" null="true"/> + <column name="version_iteration" type="INTEGER" null="true"/> + <column name="index" type="INTEGER" null="true"/> + <column name="path" type="TEXT" null="true"/> + <column name="content" type="TEXT" null="true"/> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + <references table="main.available_package"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </references> + </foreign-key> + <index name="available_package_buildfiles_object_id_i"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </index> + <index name="available_package_buildfiles_index_i"> + <column name="index"/> + </index> + </table> + <table name="main.available_package_distribution_values" kind="container"> + <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="version_epoch" type="INTEGER" null="true"/> + <column name="version_canonical_upstream" type="TEXT" null="true"/> + <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> + <column name="version_revision" type="INTEGER" null="true"/> + <column name="version_iteration" type="INTEGER" null="true"/> + <column name="index" type="INTEGER" null="true"/> + <column name="dist_name" type="TEXT" null="true"/> + <column name="dist_value" type="TEXT" null="true"/> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + <references table="main.available_package"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </references> + </foreign-key> + <index name="available_package_distribution_values_object_id_i"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </index> + <index name="available_package_distribution_values_index_i"> + <column name="index"/> + </index> + </table> + <table name="main.available_package_languages" kind="container"> + <column name="name" type="TEXT" null="true" options="COLLATE NOCASE"/> + <column name="version_epoch" type="INTEGER" null="true"/> + <column name="version_canonical_upstream" type="TEXT" null="true"/> + <column name="version_canonical_release" type="TEXT" null="true" options="COLLATE BINARY"/> + <column name="version_revision" type="INTEGER" null="true"/> + <column name="version_iteration" type="INTEGER" null="true"/> + <column name="index" type="INTEGER" null="true"/> + <column name="language_name" type="TEXT" null="true"/> + <column name="language_impl" type="INTEGER" null="true"/> + <foreign-key name="object_id_fk" on-delete="CASCADE"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + <references table="main.available_package"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </references> + </foreign-key> + <index name="available_package_languages_object_id_i"> + <column name="name"/> + <column name="version_epoch"/> + <column name="version_canonical_upstream"/> + <column name="version_canonical_release"/> + <column name="version_revision"/> + <column name="version_iteration"/> + </index> + <index name="available_package_languages_index_i"> + <column name="index"/> + </index> + </table> </model> </changelog> |