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
|
||||
}
|
||||
|
||||
// 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"
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user