Skip to content

feat(organizations): migration script for existing users and data #3226

@PierreBrisorgueil

Description

@PierreBrisorgueil

Description

Migration script that creates default organizations for all existing users and re-scopes their data.

Details

Uses the migration system (#3218). File: modules/organizations/migrations/2026-03-10-organizations-init.js

Steps:

  1. For each existing user without a membership:
    • Create a default organization (name: "{user.firstName}'s organization", auto-generated slug)
    • Create a membership (userId, organizationId, role: owner)
    • Set user.currentOrganization = organizationId
  2. For each existing task/upload without organizationId:
    • Set organizationId = owner's default organization
  3. Idempotent: skip users who already have an organization

Acceptance criteria

  • All existing users get a default organization + owner membership
  • All existing tasks/uploads get organizationId
  • Idempotent (safe to run multiple times)
  • Runs automatically at boot via migration system

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Important — depends on P1phase:2-orgsPhase 2: Multi-tenancy & Organizations

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions