From d1662abccb91be4844efc1508ff8b0427019a27c Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 1 Apr 2020 21:50:16 +0300 Subject: Prepare to replacing package buildable flag with enumeration Note that changing the data member type is not automatically handled by the ODB migration machinery. Thus, we split the schema change into two steps, with this commit implementing the first step (see migrate/migrate.cxx for details). --- libbrep/build-extra.sql | 2 +- libbrep/build-package.hxx | 2 ++ libbrep/build.hxx | 2 +- libbrep/build.xml | 2 ++ libbrep/package.hxx | 4 +++- libbrep/package.xml | 7 +++++++ 6 files changed, 16 insertions(+), 3 deletions(-) (limited to 'libbrep') diff --git a/libbrep/build-extra.sql b/libbrep/build-extra.sql index 9ecbcb1..7b9fec5 100644 --- a/libbrep/build-extra.sql +++ b/libbrep/build-extra.sql @@ -49,7 +49,7 @@ CREATE FOREIGN TABLE build_package ( version_release TEXT NULL, internal_repository_tenant TEXT NULL, internal_repository_canonical_name TEXT NULL, - buildable BOOLEAN NOT NULL) + buildable_ BOOLEAN NOT NULL) SERVER package_server OPTIONS (table_name 'package'); -- The foreign table for the build_package object builds member (that is of a diff --git a/libbrep/build-package.hxx b/libbrep/build-package.hxx index 702f937..ffa9d0b 100644 --- a/libbrep/build-package.hxx +++ b/libbrep/build-package.hxx @@ -96,6 +96,8 @@ namespace brep #pragma db member(builds) id_column("") value_column("") #pragma db member(constraints) id_column("") value_column("") + #pragma db member(buildable) column("buildable_") + private: friend class odb::access; build_package () = default; diff --git a/libbrep/build.hxx b/libbrep/build.hxx index 83b30a8..a883fa0 100644 --- a/libbrep/build.hxx +++ b/libbrep/build.hxx @@ -25,7 +25,7 @@ // #define LIBBREP_BUILD_SCHEMA_VERSION_BASE 9 -#pragma db model version(LIBBREP_BUILD_SCHEMA_VERSION_BASE, 10, closed) +#pragma db model version(LIBBREP_BUILD_SCHEMA_VERSION_BASE, 11, closed) // We have to keep these mappings at the global scope instead of inside // the brep namespace because they need to be also effective in the diff --git a/libbrep/build.xml b/libbrep/build.xml index bf8920b..f4ba6cb 100644 --- a/libbrep/build.xml +++ b/libbrep/build.xml @@ -1,4 +1,6 @@ + + diff --git a/libbrep/package.hxx b/libbrep/package.hxx index 07bd2a0..f679c62 100644 --- a/libbrep/package.hxx +++ b/libbrep/package.hxx @@ -20,7 +20,7 @@ // #define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 17 -#pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 17, closed) +#pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 18, closed) namespace brep { @@ -583,6 +583,8 @@ namespace brep #pragma db member(other_repositories) \ id_column("") value_column("repository_") value_not_null + #pragma db member(buildable) column("buildable_") + // search_index // #pragma db member(search_index) virtual(weighted_text) null \ diff --git a/libbrep/package.xml b/libbrep/package.xml index 785ae0f..292cd05 100644 --- a/libbrep/package.xml +++ b/libbrep/package.xml @@ -1,4 +1,11 @@ + + + + + + + -- cgit v1.1