fix: auto-migrate after DB restore and force re-login
- After importing a backup, run prisma migrate deploy so any schema migrations the backup is missing are applied automatically. This prevents pages from failing due to missing tables/columns when the backup was taken on an older version of the app. - Force logout and redirect to login after a successful restore so the JWT is refreshed against the restored database (prevents userId mismatch causing user-scoped queries to return empty results). - Fix getTotalPatientCount() in /status route to pass userId so it counts only the current user's patients instead of all patients. - Add prisma.$connect() after $disconnect() to ensure a clean reconnect. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -42,10 +42,18 @@ export function ImportDatabaseSection() {
|
||||
onSuccess: () => {
|
||||
toast({
|
||||
title: "Database Restored",
|
||||
description: "The database has been successfully restored from the backup file.",
|
||||
description: "Database restored successfully. Redirecting to login...",
|
||||
});
|
||||
setSelectedFile(null);
|
||||
if (fileInputRef.current) fileInputRef.current.value = "";
|
||||
// Clear auth token and reload so the user re-authenticates against the
|
||||
// restored database. This is necessary because the restored data may have
|
||||
// a different userId than the current JWT, which would cause all
|
||||
// user-scoped queries to return empty results.
|
||||
setTimeout(() => {
|
||||
localStorage.removeItem("token");
|
||||
window.location.href = "/";
|
||||
}, 2000);
|
||||
},
|
||||
onError: (err: any) => {
|
||||
toast({
|
||||
|
||||
Reference in New Issue
Block a user