Datenbank von SQLite auf Postgres umgestellt

Verbindung über KVER_DSN; Tabelle user heißt jetzt account (reserviertes
Wort in Postgres). kver import-sqlite übernimmt die alte Datei einmalig in
einer Transaktion.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
This commit is contained in:
irrlicht
2026-09-26 22:22:07 +02:00
co-authored by Claude Opus 5.5
parent c6ab082f8c
commit 2714fdb1a5
15 changed files with 412 additions and 301 deletions
+7 -7
View File
@@ -39,7 +39,7 @@ func getSession(r *http.Request) (*Session, bool) {
s := Session{Value: c.Value}
err = db.QueryRow(
`SELECT uid, created_at, expires, description FROM session WHERE value = ?`,
`SELECT uid, created_at, expires, description FROM session WHERE value = $1`,
c.Value,
).Scan(&s.UID, &s.CreatedAt, &s.Expires, &s.Description)
if err != nil {
@@ -47,7 +47,7 @@ func getSession(r *http.Request) (*Session, bool) {
}
if s.Expires < time.Now().Unix() {
db.Exec(`DELETE FROM session WHERE value = ?`, c.Value)
db.Exec(`DELETE FROM session WHERE value = $1`, c.Value)
return nil, false
}
@@ -73,7 +73,7 @@ func handleLogin(w http.ResponseWriter, r *http.Request) error {
// wird der Endpunkt zum Nutzernamen-Orakel.
var uid int64
var hash []byte
err := db.QueryRow(`SELECT uid, password FROM user WHERE username = ?`, username).Scan(&uid, &hash)
err := db.QueryRow(`SELECT uid, password FROM account WHERE username = $1`, username).Scan(&uid, &hash)
if err == sql.ErrNoRows {
return errBadCredentials
} else if err != nil {
@@ -112,14 +112,14 @@ func startSession(w http.ResponseWriter, r *http.Request, uid int64) error {
return Internal(err)
}
db.Exec(`DELETE FROM session WHERE expires < ?`, now)
db.Exec(`DELETE FROM session WHERE expires < $1`, now)
if _, err := db.Exec(
`INSERT INTO session (uid, created_at, expires, description, value) VALUES (?, ?, ?, ?, ?)`,
`INSERT INTO session (uid, created_at, expires, description, value) VALUES ($1, $2, $3, $4, $5)`,
uid, now, expires, "", token,
); err != nil {
return Internal(err)
}
db.Exec(`UPDATE user SET last_login = ? WHERE uid = ?`, now, uid)
db.Exec(`UPDATE account SET last_login = $1 WHERE uid = $2`, now, uid)
http.SetCookie(w, &http.Cookie{
Name: "session",
@@ -135,7 +135,7 @@ func startSession(w http.ResponseWriter, r *http.Request, uid int64) error {
func handleLogout(w http.ResponseWriter, r *http.Request) {
if s, ok := getSession(r); ok {
db.Exec(`DELETE FROM session WHERE value = ?`, s.Value)
db.Exec(`DELETE FROM session WHERE value = $1`, s.Value)
}
http.SetCookie(w, &http.Cookie{
Name: "session",