-- +goose Up CREATE TABLE IF NOT EXISTS sessions ( id SERIAL PRIMARY KEY, user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE, access_token TEXT NOT NULL, refresh_token TEXT NOT NULL UNIQUE, ip TEXT, user_agent TEXT, created_at TIMESTAMP DEFAULT now(), expires_at TIMESTAMP NOT NULL, revoked_at TIMESTAMP ); CREATE INDEX IF NOT EXISTS idx_sessions_refresh ON sessions(refresh_token); CREATE INDEX IF NOT EXISTS idx_sessions_user_id ON sessions(user_id); -- +goose Down DROP TABLE sessions;