aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2021-11-15 15:32:20 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2021-11-15 15:32:20 +0300
commit311019b4787e8640c407083ba0412d72f3836216 (patch)
treec3232b66f67f7caa0ba194d99a0386660178c261
parent33974f1acdd16827342b31cba6b27db5030e733f (diff)
Drop all database migrations to be backward compatible with only 0.14.0 (one minor version behind)
-rw-r--r--libbrep/build.hxx2
-rw-r--r--libbrep/build.xml40
-rw-r--r--libbrep/package.hxx6
-rw-r--r--libbrep/package.xml18
-rw-r--r--migrate/migrate.cxx22
5 files changed, 25 insertions, 63 deletions
diff --git a/libbrep/build.hxx b/libbrep/build.hxx
index fbab13d..29d9890 100644
--- a/libbrep/build.hxx
+++ b/libbrep/build.hxx
@@ -28,7 +28,7 @@
// Used by the data migration entries.
//
-#define LIBBREP_BUILD_SCHEMA_VERSION_BASE 12
+#define LIBBREP_BUILD_SCHEMA_VERSION_BASE 15
#pragma db model version(LIBBREP_BUILD_SCHEMA_VERSION_BASE, 15, closed)
diff --git a/libbrep/build.xml b/libbrep/build.xml
index 6a2301b..42de81a 100644
--- a/libbrep/build.xml
+++ b/libbrep/build.xml
@@ -1,31 +1,5 @@
<changelog xmlns="http://www.codesynthesis.com/xmlns/odb/changelog" database="pgsql" schema-name="build" version="1">
- <changeset version="15">
- <alter-table name="build">
- <add-column name="soft_timestamp" type="BIGINT" null="false"/>
- <add-column name="hard_timestamp" type="BIGINT" null="false"/>
- <add-column name="controller_checksum" type="TEXT" null="false"/>
- <add-column name="machine_checksum" type="TEXT" null="false"/>
- <add-column name="agent_checksum" type="TEXT" null="true"/>
- <add-column name="worker_checksum" type="TEXT" null="true"/>
- <add-column name="dependency_checksum" type="TEXT" null="true"/>
- <drop-column name="completion_timestamp"/>
- </alter-table>
- <alter-table name="build_delay">
- <add-column name="report_soft_timestamp" type="BIGINT" null="false"/>
- <add-column name="report_hard_timestamp" type="BIGINT" null="false"/>
- <drop-column name="report_timestamp"/>
- </alter-table>
- </changeset>
-
- <changeset version="14"/>
-
- <changeset version="13">
- <alter-table name="build">
- <add-column name="interactive" type="TEXT" null="true"/>
- </alter-table>
- </changeset>
-
- <model version="12">
+ <model version="15">
<table name="build" kind="object">
<column name="package_tenant" type="TEXT" null="false"/>
<column name="package_name" type="CITEXT" null="false"/>
@@ -44,15 +18,22 @@
<column name="toolchain_version_upstream" type="TEXT" null="false"/>
<column name="toolchain_version_release" type="TEXT" null="true"/>
<column name="state" type="TEXT" null="false"/>
+ <column name="interactive" type="TEXT" null="true"/>
<column name="timestamp" type="BIGINT" null="false"/>
<column name="force" type="TEXT" null="false"/>
<column name="status" type="TEXT" null="true"/>
- <column name="completion_timestamp" type="BIGINT" null="false" default="0"/>
+ <column name="soft_timestamp" type="BIGINT" null="false"/>
+ <column name="hard_timestamp" type="BIGINT" null="false"/>
<column name="agent_fingerprint" type="TEXT" null="true"/>
<column name="agent_challenge" type="TEXT" null="true"/>
<column name="machine" type="TEXT" null="false"/>
<column name="machine_summary" type="TEXT" null="false"/>
<column name="target" type="TEXT" null="false"/>
+ <column name="controller_checksum" type="TEXT" null="false"/>
+ <column name="machine_checksum" type="TEXT" null="false"/>
+ <column name="agent_checksum" type="TEXT" null="true"/>
+ <column name="worker_checksum" type="TEXT" null="true"/>
+ <column name="dependency_checksum" type="TEXT" null="true"/>
<primary-key>
<column name="package_tenant"/>
<column name="package_name"/>
@@ -151,7 +132,8 @@
<column name="package_version_release" type="TEXT" null="true"/>
<column name="toolchain_version_upstream" type="TEXT" null="false"/>
<column name="toolchain_version_release" type="TEXT" null="true"/>
- <column name="report_timestamp" type="BIGINT" null="false"/>
+ <column name="report_soft_timestamp" type="BIGINT" null="false"/>
+ <column name="report_hard_timestamp" type="BIGINT" null="false"/>
<column name="package_timestamp" type="BIGINT" null="false"/>
<primary-key>
<column name="package_tenant"/>
diff --git a/libbrep/package.hxx b/libbrep/package.hxx
index 67536ce..0ce8553 100644
--- a/libbrep/package.hxx
+++ b/libbrep/package.hxx
@@ -18,7 +18,7 @@
// Used by the data migration entries.
//
-#define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 19
+#define LIBBREP_PACKAGE_SCHEMA_VERSION_BASE 21
#pragma db model version(LIBBREP_PACKAGE_SCHEMA_VERSION_BASE, 21, closed)
@@ -191,7 +191,7 @@ namespace brep
// Database mapping.
//
- #pragma db member(buildtime) default(false) // @@ TMP
+ #pragma db member(buildtime)
};
// certificate
@@ -237,7 +237,7 @@ namespace brep
// Database mapping.
//
#pragma db member(id) id
- #pragma db member(private_) default(false) // @@ TMP
+ #pragma db member(private_)
private:
friend class odb::access;
diff --git a/libbrep/package.xml b/libbrep/package.xml
index 093f54e..69f5731 100644
--- a/libbrep/package.xml
+++ b/libbrep/package.xml
@@ -1,20 +1,9 @@
<changelog xmlns="http://www.codesynthesis.com/xmlns/odb/changelog" database="pgsql" schema-name="package" version="1">
- <changeset version="21">
- <alter-table name="package_tests">
- <add-column name="test_buildtime" type="BOOLEAN" null="false" default="FALSE"/>
- </alter-table>
- </changeset>
-
- <changeset version="20">
- <alter-table name="tenant">
- <add-column name="private" type="BOOLEAN" null="false" default="FALSE"/>
- <add-column name="interactive" type="TEXT" null="true"/>
- </alter-table>
- </changeset>
-
- <model version="19">
+ <model version="21">
<table name="tenant" kind="object">
<column name="id" type="TEXT" null="false"/>
+ <column name="private" type="BOOLEAN" null="false"/>
+ <column name="interactive" type="TEXT" null="true"/>
<column name="creation_timestamp" type="BIGINT" null="false"/>
<column name="archived" type="BOOLEAN" null="false"/>
<primary-key>
@@ -628,6 +617,7 @@
<column name="test_package_version_canonical_release" type="TEXT" null="true" options="COLLATE &quot;C&quot;"/>
<column name="test_package_version_revision" type="INTEGER" null="true"/>
<column name="test_type" type="TEXT" null="false"/>
+ <column name="test_buildtime" type="BOOLEAN" null="false"/>
<foreign-key name="tenant_fk" deferrable="DEFERRED">
<column name="tenant"/>
<references table="tenant">
diff --git a/migrate/migrate.cxx b/migrate/migrate.cxx
index 468d411..6c66bf0 100644
--- a/migrate/migrate.cxx
+++ b/migrate/migrate.cxx
@@ -220,14 +220,15 @@ struct package_migration_entry: package_migration_entry_base<v>
: package_migration_entry_base<v> (f, "package") {}
};
-static const package_migration_entry<20>
-package_migrate_v20 ([] (database& db)
+static const package_migration_entry<22>
+package_migrate_v22 ([] (database& db)
{
});
#endif
// Register the data migration functions for the build database schema.
//
+#if 0
template <schema_version v>
using build_migration_entry_base =
data_migration_entry<v, LIBBREP_BUILD_SCHEMA_VERSION_BASE>;
@@ -239,22 +240,11 @@ struct build_migration_entry: build_migration_entry_base<v>
: build_migration_entry_base<v> (f, "build") {}
};
-static const build_migration_entry<15>
-build_migrate_v15 ([] (database& db)
+static const build_migration_entry<16>
+build_migrate_v16 ([] (database& db)
{
- // Setting proper checksums here feels a bit hairy. Let's assign them
- // naturally on the first rebuild.
- //
- db.execute ("UPDATE build SET "
- "soft_timestamp = completion_timestamp, "
- "hard_timestamp = completion_timestamp, "
- "controller_checksum = '', "
- "machine_checksum = ''");
-
- db.execute ("UPDATE build_delay SET "
- "report_soft_timestamp = report_timestamp, "
- "report_hard_timestamp = report_timestamp");
});
+#endif
// main() function
//