Quellcode durchsuchen

fix initprovider exit code for MySQL and PostgreSQL

Nicola Murino vor 4 Jahren
Ursprung
Commit
91a4c64390
2 geänderte Dateien mit 8 neuen und 0 gelöschten Zeilen
  1. 4 0
      dataprovider/mysql.go
  2. 4 0
      dataprovider/pgsql.go

+ 4 - 0
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 {

+ 4 - 0
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 {