-- CreateTable CREATE TABLE "user_sessions" ( "id" TEXT NOT NULL, "user_id" TEXT NOT NULL, "refresh_token" TEXT NOT NULL, "access_token_hash" TEXT, "ip_address" TEXT, "user_agent" TEXT, "last_activity" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "expires_at" TIMESTAMP(3) NOT NULL, "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, "is_revoked" BOOLEAN NOT NULL DEFAULT false, CONSTRAINT "user_sessions_pkey" PRIMARY KEY ("id") ); -- CreateIndex CREATE UNIQUE INDEX "user_sessions_refresh_token_key" ON "user_sessions"("refresh_token"); -- CreateIndex CREATE INDEX "user_sessions_user_id_idx" ON "user_sessions"("user_id"); -- CreateIndex CREATE INDEX "user_sessions_refresh_token_idx" ON "user_sessions"("refresh_token"); -- CreateIndex CREATE INDEX "user_sessions_expires_at_idx" ON "user_sessions"("expires_at"); -- AddForeignKey ALTER TABLE "user_sessions" ADD CONSTRAINT "user_sessions_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;