feat: implement data migration for existing lists

- Created migration-actions.ts with server actions for claiming lists
- Added ClaimListsModal component for UI during registration
- Integrated claim modal into RegisterForm
- Created anonymous-lists.ts utilities for tracking lists in localStorage
- Added migrate-lists.ts script for deployment migration
- Created comprehensive MIGRATION_GUIDE.md documentation
- Added migration tests with 100% pass rate
- Updated package.json with db:migrate script
- Added tsx as dev dependency for running migration scripts

Requirements: 10.2, 10.3, 10.4, 10.5
- Users can claim existing lists on first registration
- All list data is preserved during migration
- All lists have an owner after migration
- Migrated lists appear in user's account
This commit is contained in:
2025-12-02 01:20:35 +00:00
parent 54612a4782
commit 2ce89e7c6c
9 changed files with 976 additions and 4 deletions

View File

@@ -11,6 +11,7 @@
"test:watch": "vitest",
"db:push": "prisma db push",
"db:studio": "prisma studio",
"db:migrate": "npx tsx scripts/migrate-lists.ts",
"icons:generate": "node scripts/generate-icons.js",
"icons:info": "node scripts/svg-to-png.js"
},
@@ -38,6 +39,7 @@
"postcss": "^8",
"prisma": "^5.7.1",
"tailwindcss": "^3.3.0",
"tsx": "^4.7.0",
"typescript": "^5",
"vitest": "^4.0.14"
}