Thanks for the research - unfortunately, this still doesn't allow me to migrate databases. If I create a new SwiftData database with the NSSecureCoding TestTransformable, I can save, load, and migrate it successfully. However, if I have an existing SwiftData database that wasn't created with the NSSecureCoding TestTransformable, things are strange: Once the codebase is recompiled with the NSSecureCoding conformance applied, I can load the old database successfully. However, it still fails in the same way when I go to migrate the database. To be clear - NSSecureCoding fixes save/load/migrate on a new database, but when applied to an existing database (such as the one I have deployed to iCloud), only save/load works, and migration still fails. Below are the changes made to test NSSecureCoding: @objc(TestTransformable) //toggle between these declarations for testing //final nonisolated class TestTransformable: NSObject, Codable, Sendable { final nonisolated class TestTransformable: NSObject, Co