🍦 SwiftServe Get

Menu / storage.migrations

Can Swift packages do schema migrations?

also known as: database migration · schema versioning

Built into the OS — no dependency

Apple frameworkiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
CoreData built in as of Xcode 26.6
Details

Model versioning + NSMigrationManager / mapping models.

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

SwiftData built in as of Xcode 26.6
Details

Versioned schemas with SchemaMigrationPlan / MigrationStage.

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

PackageiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
fluent full menu as of 4.13.0
Details

serves it · confidence 0.90 · as of 4.13.0

serves it · confidence 0.90 · as of 4.13.0

serves it · confidence 0.85 · as of 4.13.0

  • Application.migrations
    Sources/Fluent/FluentProvider.swift:55
    View the line on GitHub →
    Migrations registry; unconditional decl, no platform gaps in surface digest.
  • Application.autoMigrate
    Sources/Fluent/FluentProvider.swift:71
    View the line on GitHub →
    Runs forward migrations; unconditional in surface.
  • Package.swift:9
    View the line on GitHub →
    manifestPlatforms: .watchOS(.v6) floor declared. Server-side framework; watchOS floor exists but practical use there is atypical.

serves it · confidence 0.85 · as of 4.13.0

serves it · confidence 0.75 · as of 4.13.0

  • Application.migrations
    Sources/Fluent/FluentProvider.swift:55
    View the line on GitHub →
    Unconditional decl; surface digest lists no visionOS gap for any decl. No explicit visionOS manifest floor (inherits default).
  • Application.autoMigrate
    Sources/Fluent/FluentProvider.swift:71
    View the line on GitHub →
    Runs forward migrations; unconditional in surface.

serves it · confidence 0.90 · as of 4.13.0

  • Application.migrations
    Sources/Fluent/FluentProvider.swift:55
    View the line on GitHub →
    Unconditional decl; zero os() conditions in the entire surface, so present on linux. Server-side Vapor package; Linux is the primary deployment target and CI-tested (GitHub Actions test badge in README).
  • Application.autoMigrate
    Sources/Fluent/FluentProvider.swift:71
    View the line on GitHub →
    Runs forward migrations; unconditional in surface.
  • MigrateCommand
    Sources/Fluent/MigrateCommand.swift:5
    View the line on GitHub →
    CLI `migrate` command for running/reverting migrations; unconditional.

serves it · confidence 0.80 · as of 4.13.0

  • Application.migrations
    Sources/Fluent/FluentProvider.swift:55
    View the line on GitHub →
    Unconditional decl; surface digest lists no macCatalyst gap for any decl. Catalyst inherits the iOS 13 manifest floor.
  • Application.autoMigrate
    Sources/Fluent/FluentProvider.swift:71
    View the line on GitHub →
    Runs forward migrations; unconditional in surface.
grdb.swift full menu as of v7.11.1
Details

serves it · confidence 0.90 · as of v7.11.1

serves it · confidence 0.90 · as of v7.11.1

serves it · confidence 0.90 · as of v7.11.1

serves it · confidence 0.90 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

serves it · confidence 0.85 · as of v7.11.1

sqlite.swift full menu as of 0.16.0
Details

serves it · confidence 0.70 · as of 0.16.0

serves it · confidence 0.70 · as of 0.16.0

serves it · confidence 0.70 · as of 0.16.0

serves it · confidence 0.70 · as of 0.16.0

serves it · confidence 0.70 · as of 0.16.0

serves it · confidence 0.65 · as of 0.16.0

serves it · confidence 0.65 · as of 0.16.0

blackbird as of 0.5
Details

serves it · confidence 0.90 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    Doc: 'Performs setup and any necessary schema migrations.'
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.

serves it · confidence 0.90 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    Doc: 'Performs setup and any necessary schema migrations.'
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.

serves it · confidence 0.90 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    Doc: 'Performs setup and any necessary schema migrations.'
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.

serves it · confidence 0.90 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    Doc: 'Performs setup and any necessary schema migrations.'
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.

serves it · confidence 0.80 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    No explicit manifest floor (swift-tools-version 5.7 predates visionOS); symbols are unconditional in the surface digest.
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.
?

not verified yet · confidence 0.20 · as of 0.5

  • Package.swift:7
    View the line on GitHub →
    platforms list contains only Apple platforms; Surface digest records no platform gaps, but sources unconditionally import Combine, SwiftUI, OSLog and SQLite3 with no os() guards, and Package.swift declares no Linux support; Linux buildability is unverified. Symbol absence is not absence evidence, so status is unknown.

serves it · confidence 0.80 · as of 0.5

  • BlackbirdModel.resolveSchema
    Sources/Blackbird/BlackbirdModel.swift:908
    View the line on GitHub →
    No explicit manifest floor (swift-tools-version 5.7 predates visionOS); symbols are unconditional in the surface digest.
  • BlackbirdModelMigrationErrorAction
    Sources/Blackbird/BlackbirdModel.swift:217
    View the line on GitHub →
    Row-level migration failure handling.
  • BlackbirdModel.invalidRowDataMigrationResolution
    Sources/Blackbird/BlackbirdModel.swift:214
    View the line on GitHub →
    How row-level migration failures should be handled.
realm-swift as of v20.0.5
Details

serves it · confidence 0.90 · as of v20.0.5

serves it · confidence 0.90 · as of v20.0.5

serves it · confidence 0.85 · as of v20.0.5

serves it · confidence 0.85 · as of v20.0.5

serves it · confidence 0.75 · as of v20.0.5

  • Migration
    RealmSwift/Migration.swift:83
    View the line on GitHub →
    Decl unconditional in surface digest (no os() gate) and resolves present on visionOS. Supplementary: build.sh at this tag has dedicated visionOS build/test targets (generic/platform=visionOS, xrsimulator 'Apple Vision Pro'). visionOS is not listed in Package.swift platform floors and README names only iOS/macOS/tvOS/watchOS, hence reduced confidence.
  • Migration.enumerateObjects
    RealmSwift/Migration.swift:102
    View the line on GitHub →
  • Realm.performMigration
    RealmSwift/Migration.swift:71
    View the line on GitHub →
?

not verified yet · confidence 0.20 · as of v20.0.5

  • Migration
    RealmSwift/Migration.swift:83
    View the line on GitHub →
    Surface digest resolves this Swift decl present on linux at parse level, but RealmSwift sits on the Realm ObjC core (215 ObjC files unparsed - declared blind spot); no manifest, README, or CI evidence of Linux builds. Under-claiming as unknown.

serves it · confidence 0.75 · as of v20.0.5

✓ serves it · ◐ with conditions · ✕ not served (proven) · ? not verified yet — hover any verdict for the receipt, click to pin it