main.go aktualisiert
All checks were successful
release-tag / release-image (push) Successful in 2m2s
All checks were successful
release-tag / release-image (push) Successful in 2m2s
This commit is contained in:
15
main.go
15
main.go
@@ -57,9 +57,17 @@ func getLanguage(guildID string) string {
|
|||||||
return cfg.Language
|
return cfg.Language
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Funktion zum Hinzufügen der 'language' Spalte, falls sie nicht existiert
|
||||||
func addLanguageColumnIfNotExists() {
|
func addLanguageColumnIfNotExists() {
|
||||||
// Überprüfen, ob die Spalte bereits existiert
|
// Überprüfen, ob die Tabelle 'guild_config' existiert
|
||||||
_, err := db.Exec("ALTER TABLE guild_config ADD COLUMN language TEXT DEFAULT 'de'")
|
var tableExists bool
|
||||||
|
err := db.QueryRow("SELECT count(*) FROM sqlite_master WHERE type='table' AND name='guild_config'").Scan(&tableExists)
|
||||||
|
if err != nil || !tableExists {
|
||||||
|
log.Fatalf("Tabelle 'guild_config' existiert nicht: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Überprüfen, ob die Spalte 'language' existiert
|
||||||
|
_, err = db.Exec("ALTER TABLE guild_config ADD COLUMN language TEXT DEFAULT 'de'")
|
||||||
if err != nil && !isColumnAlreadyExistsError(err) {
|
if err != nil && !isColumnAlreadyExistsError(err) {
|
||||||
log.Fatalf("Fehler beim Hinzufügen der 'language' Spalte: %v", err)
|
log.Fatalf("Fehler beim Hinzufügen der 'language' Spalte: %v", err)
|
||||||
} else {
|
} else {
|
||||||
@@ -69,8 +77,7 @@ func addLanguageColumnIfNotExists() {
|
|||||||
|
|
||||||
// Hilfsfunktion zur Fehlerbehandlung, um zu überprüfen, ob der Fehler auf eine bereits vorhandene Spalte hinweist
|
// Hilfsfunktion zur Fehlerbehandlung, um zu überprüfen, ob der Fehler auf eine bereits vorhandene Spalte hinweist
|
||||||
func isColumnAlreadyExistsError(err error) bool {
|
func isColumnAlreadyExistsError(err error) bool {
|
||||||
// Dies ist ein spezifischer Fehlercode für SQLite, der darauf hinweist, dass die Spalte bereits existiert
|
// Fehlerbehandlung für 'duplicate column name'
|
||||||
// Der Fehlercode lautet "sqlite3: table ... already has column ..." (in verschiedenen Varianten)
|
|
||||||
return err != nil && err.Error() == "SQLITE_ERROR: duplicate column name: language"
|
return err != nil && err.Error() == "SQLITE_ERROR: duplicate column name: language"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user