-- Dokumentation, siehe README.md. Wird zur Laufzeit idempotent von -- internal/storage/sftp_credentials.go initSFTPCredentialsSchema() erzeugt. -- Per-Mandant-Zugangsdaten fuer den eingebetteten SFTP-Server -- (internal/sftpserver). Bewusst getrennt von `users`: ein SFTP-Zugang ist -- ein eigenstaendiges, jederzeit widerrufbares Credential, kein volles -- Login-Konto. CREATE TABLE IF NOT EXISTS sftp_credentials ( id BIGSERIAL PRIMARY KEY, tenant_id BIGINT NOT NULL, username TEXT NOT NULL UNIQUE, password_hash TEXT NOT NULL, -- bcrypt, analog users.password_hash active BOOLEAN NOT NULL DEFAULT true, created_at TIMESTAMPTZ NOT NULL DEFAULT now(), last_login_at TIMESTAMPTZ ); CREATE INDEX IF NOT EXISTS idx_sftp_credentials_tenant ON sftp_credentials(tenant_id);