From ee2ce8f033cefc197c49a04a2f14f9a4494f6729 Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Wed, 24 Sep 2014 18:34:37 +0200 Subject: [PATCH] [New] added blog entry for 1.0.0-RC3: db_init --- li.strolch.website/www.strolch.li/blog.html | 44 +++++++++---------- .../www.strolch.li/css/blog.css | 4 ++ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/li.strolch.website/www.strolch.li/blog.html b/li.strolch.website/www.strolch.li/blog.html index 93e49e3b7..1ceaa7ece 100644 --- a/li.strolch.website/www.strolch.li/blog.html +++ b/li.strolch.website/www.strolch.li/blog.html @@ -58,22 +58,35 @@
- + +
+

DB Initialization: Release 1.0.0-RC3

+ + +

Important feature Database Initialization added: Release of 1.0.0-RC3 which can be downloaded on the download page.

+
+

When living continuous integration and continuous delivery, it is vital that things like database migrations and initialization are performed in a controlled, but automatic way.

+

A Strolch-based application is using the PostgreSQL persistence layer. The implementation understands the concepts of migration, and validating the database schema, but currently a mechanism to automatically initialize the database with a minimal set of data was missing.

+

Migrating a database for Strolch is mostly a one time thing. The object model in Strolch is quite static, so there is seldom a need to migrate the database. Domain specific changes, i.e. new Resources, or adding Parameters to Resources, is not a schema change. Thus, instead of going the way other frameworks go, e.g. Ruby on Rails, we built the data initialization right into the PersistenceHandler.

+

Now if the PostgreSQL PersistenceHandler creates the schema, then it might also initialize the minimal set of data. For this to work, the PersistenceHandler checks if the flags allowSchemaCreation, allowSchemaDrop and allowDbInitOnSchemaCreate. If those flags are enabled, and the schema was created during initialization, then the database is also initialized with the contents of the XML file configured under key dataStoreFile of the relevant Realm.

+

The database initialization is done as a system user action which must have the name db_initializer. This is another fail-safe, so that on a production system, this user can simply be deleted.

+ +

So, Strolch 1.0.0-RC3 is out the door, go ahead and try it out.

+ +
+ +

Release 1.0.0-RC2

- +

Scratch that RC1, here is the brand new 1.0.0-RC2 which can be downloaded on the download page.


So, as expected there were a few bugs, for instance the Strolch tutorial apps didn't start, so now i fixed those and released an RC2. Go get it and give it a try!

-
- -
- - +

Release 1.0.0-RC1

@@ -126,23 +139,6 @@
- - -