From 91a4c643906de3f8dc6dbdea44e8da30f9f9c5cc Mon Sep 17 00:00:00 2001 From: Nicola Murino Date: Sun, 30 Aug 2020 14:00:45 +0200 Subject: [PATCH] fix initprovider exit code for MySQL and PostgreSQL --- dataprovider/mysql.go | 4 ++++ dataprovider/pgsql.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/dataprovider/mysql.go b/dataprovider/mysql.go index f562ea6d..bbd652a0 100644 --- a/dataprovider/mysql.go +++ b/dataprovider/mysql.go @@ -172,6 +172,10 @@ func (p MySQLProvider) reloadConfig() error { // initializeDatabase creates the initial database structure func (p MySQLProvider) initializeDatabase() error { + dbVersion, err := sqlCommonGetDatabaseVersion(p.dbHandle, false) + if err == nil && dbVersion.Version > 0 { + return ErrNoInitRequired + } sqlUsers := strings.Replace(mysqlUsersTableSQL, "{{users}}", sqlTableUsers, 1) tx, err := p.dbHandle.Begin() if err != nil { diff --git a/dataprovider/pgsql.go b/dataprovider/pgsql.go index 90e1469c..7088783e 100644 --- a/dataprovider/pgsql.go +++ b/dataprovider/pgsql.go @@ -171,6 +171,10 @@ func (p PGSQLProvider) reloadConfig() error { // initializeDatabase creates the initial database structure func (p PGSQLProvider) initializeDatabase() error { + dbVersion, err := sqlCommonGetDatabaseVersion(p.dbHandle, false) + if err == nil && dbVersion.Version > 0 { + return ErrNoInitRequired + } sqlUsers := strings.Replace(pgsqlUsersTableSQL, "{{users}}", sqlTableUsers, 1) tx, err := p.dbHandle.Begin() if err != nil {