main.go aktualisiert
All checks were successful
release-tag / release-image (push) Successful in 2m2s

This commit is contained in:
2025-08-11 06:48:19 +00:00
parent 4d55f36bc2
commit 43e0cbda3b

15
main.go
View File

@@ -57,9 +57,17 @@ func getLanguage(guildID string) string {
return cfg.Language
}
// Funktion zum Hinzufügen der 'language' Spalte, falls sie nicht existiert
func addLanguageColumnIfNotExists() {
// Überprüfen, ob die Spalte bereits existiert
_, err := db.Exec("ALTER TABLE guild_config ADD COLUMN language TEXT DEFAULT 'de'")
// Überprüfen, ob die Tabelle 'guild_config' existiert
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) {
log.Fatalf("Fehler beim Hinzufügen der 'language' Spalte: %v", err)
} else {
@@ -69,8 +77,7 @@ func addLanguageColumnIfNotExists() {
// Hilfsfunktion zur Fehlerbehandlung, um zu überprüfen, ob der Fehler auf eine bereits vorhandene Spalte hinweist
func isColumnAlreadyExistsError(err error) bool {
// Dies ist ein spezifischer Fehlercode für SQLite, der darauf hinweist, dass die Spalte bereits existiert
// Der Fehlercode lautet "sqlite3: table ... already has column ..." (in verschiedenen Varianten)
// Fehlerbehandlung für 'duplicate column name'
return err != nil && err.Error() == "SQLITE_ERROR: duplicate column name: language"
}