core: Separate SQL current and upgrade scripts
authorShane Synan <digitalcircuit36939@gmail.com>
Sun, 16 Apr 2017 05:50:33 +0000 (00:50 -0500)
committerManuel Nickschas <sputnick@quassel-irc.org>
Mon, 24 Apr 2017 19:53:17 +0000 (21:53 +0200)
Move the current SQL queries into the 'SQL/[database]' top folder,
move all database schema upgrade scripts into the
'SQL/[database]/version/##' subfolders.  This preserves repository
history for the general SQL queries when adding a new schema version,
and simplifies rebasing a branch if the master schema version changes
in the meantime (e.g. managing multiple pull requests).

Thanks to justJanne and others for the suggestion!

Update 'sql.qrc' with the moved SQL files.

Modify AbstractSqlStorage 'setupQueries()' and 'upgradeQueries()' to
use these new folder locations, and modify 'queryString()' to pick
either the current SQL schema folder or the versioned schema folder
according to whether a version was specified when calling it.

Update 'updateSQLResource.sh' with the new folder locations,
including fixing the 'sort' command to sort independent of the
current operating system language settings.

Update 'upgradeSchema.sh' with the new locations and stop moving the
non-upgrade '*.sql' scripts.  Now, it just adds a new folder and
prints a message on how to use it.  Also send error messages to
standard error.

Add more documentation on schema upgrades.  You can never have enough
testing...


No differences found