Back to skills
extension
Category: Development & EngineeringNo API key required

SwiftData Migration Writer

Write UserDefaults to SwiftData migration logic for Leavn app with data preservation, rollback, and validation

personAuthor: jakexiaohubgithub

SwiftData Migration Writer

Create migration from UserDefaults to SwiftData:

  1. Map keys to entity fields

  2. Write migration method:

    func migrateXIfNeeded() async throws {
        guard !hasMigrated("X") else { return }
        // Read UserDefaults
        // Create/update entity
        // Archive old keys
        // Mark migrated
    }
    
  3. Add to PreferencesStore extension

  4. Call on first load

  5. Test data preservation

Use when: Creating SwiftData entities, migrating preferences, data persistence