[ 
https://issues.apache.org/jira/browse/UNOMI-884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Serge Huber reassigned UNOMI-884:
---------------------------------

    Assignee: Serge Huber

> Migration scripts
> -----------------
>
>                 Key: UNOMI-884
>                 URL: https://issues.apache.org/jira/browse/UNOMI-884
>             Project: Apache Unomi
>          Issue Type: Sub-task
>          Components: unomi(-core)
>    Affects Versions: unomi-3.0.0
>            Reporter: Serge Huber
>            Assignee: Serge Huber
>            Priority: Major
>             Fix For: unomi-3.0.0
>
>
> h1. Migration to Apache Unomi V3
> h2. Summary
> Implement and document the migration scripts required to successfully upgrade 
> existing Apache Unomi installations to V3.
> h2. Description
> Apache Unomi V3 introduces significant improvements to the data model, 
> particularly around audit fields and multi-tenancy support. Migration scripts 
> have been developed to handle the upgrade process from previous versions to 
> Unomi V3.
> h2. Key Changes
> h3. Audit Fields Enhancement
> The migration introduces standardized audit fields across all item types:
> * *createdBy*: Tracks who created the item
> * *lastModifiedBy*: Tracks who last modified the item
> * *creationDate*: Records when the item was created
> * *lastModificationDate*: Records when the item was last modified
> * *sourceInstanceId*: Tracks the source instance for data synchronization
> * *lastSyncDate*: Records the last synchronization time
> h3. Multi-Tenancy Support
> Adds native multi-tenancy capabilities:
> * Creates a new index specifically for tenant management ({{<prefix>-tenant}})
> * Initializes a default tenant during migration
> * Adds {{tenantId}} field to all items to associate them with specific tenants
> * Ensures backward compatibility by setting default tenant for existing items
> h2. Migration Scripts
> Two primary migration scripts handle the transition to Unomi V3:
> h4. 1. migrate-3.0.0-00-itemAuditFields.groovy
> * Updates all indices with standard audit fields
> * Performs specialized updates for profiles, sessions, and events
> * Re-indexes data with updated mappings
> h4. 2. migrate-3.0.0-10-tenantInitialization.groovy
> * Creates the tenant index structure
> * Initializes a default tenant
> * Sets up the foundation for multi-tenant operations
> h2. Technical Details
> * The migration process uses Elasticsearch's update and reindex operations
> * Painless scripts handle the transformation of existing data
> * Default values are applied where historical information is unavailable
> h2. Migration Process
> # Backup existing Unomi data
> # Stop existing Unomi instance
> # Configure migration parameters (Elasticsearch addresses, index prefix)
> # Run the migration using the Karaf console command: {{unomi:migrate 
> <previous_version>}}
> # Start Unomi V3 after successful migration completion
> h2. Testing Requirements
> * Test migration from different versions (2.0, 2.5) to V3
> * Verify data integrity after migration
> * Validate multi-tenant operations in migrated environment
> * Test backward compatibility with existing integrations
> h2. Documentation Needs
> * Update migration guide in official documentation
> * Add section on multi-tenancy features and configuration
> * Document new audit fields and their implications



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to