axiom-ios-data
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseiOS Data & Persistence Router
iOS 数据与持久化路由
You MUST use this skill for ANY data persistence, database, axiom-storage, CloudKit, or serialization work.
任何涉及数据持久化、数据库、axiom-storage、CloudKit或序列化的工作,都必须使用此技能。
When to Use
适用场景
Use this router when working with:
- Databases (SwiftData, Core Data, GRDB, SQLiteData)
- Schema migrations
- CloudKit sync
- File storage (iCloud Drive, local storage)
- Data serialization (Codable, JSON)
- Storage strategy decisions
在处理以下内容时使用此路由:
- 数据库(SwiftData、Core Data、GRDB、SQLiteData)
- 架构迁移
- CloudKit同步
- 文件存储(iCloud Drive、本地存储)
- 数据序列化(Codable、JSON)
- 存储策略决策
Routing Logic
路由逻辑
SwiftData
SwiftData
Working with SwiftData →
Schema migration →
Migration issues →
Migrating from Realm →
SwiftData vs SQLiteData →
/skill axiom-swiftdata/skill axiom-swiftdata-migration/skill axiom-swiftdata-migration-diag/skill axiom-realm-migration-ref/skill axiom-sqlitedata-migration使用SwiftData进行开发 →
架构迁移 →
迁移问题排查 →
从Realm迁移 →
SwiftData 对比 SQLiteData →
/skill axiom-swiftdata/skill axiom-swiftdata-migration/skill axiom-swiftdata-migration-diag/skill axiom-realm-migration-ref/skill axiom-sqlitedata-migrationOther Databases
其他数据库
GRDB queries →
SQLiteData →
Advanced SQLiteData →
Core Data patterns →
Core Data issues →
/skill axiom-grdb/skill axiom-sqlitedata/skill axiom-sqlitedata-ref/skill axiom-core-data/skill axiom-core-data-diagGRDB 查询 →
SQLiteData →
高级SQLiteData →
Core Data 模式 →
Core Data 问题排查 →
/skill axiom-grdb/skill axiom-sqlitedata/skill axiom-sqlitedata-ref/skill axiom-core-data/skill axiom-core-data-diagMigrations
迁移
Database migration safety → (critical - prevents data loss)
/skill axiom-database-migration数据库迁移安全性 → (至关重要 - 防止数据丢失)
/skill axiom-database-migrationSerialization
序列化
Codable issues →
/skill axiom-codableCodable 问题 →
/skill axiom-codableCloud Storage
云存储
Cloud sync patterns →
CloudKit →
iCloud Drive →
Cloud sync errors →
/skill axiom-cloud-sync/skill axiom-cloudkit-ref/skill axiom-icloud-drive-ref/skill axiom-cloud-sync-diag云同步模式 →
CloudKit →
iCloud Drive →
云同步错误排查 →
/skill axiom-cloud-sync/skill axiom-cloudkit-ref/skill axiom-icloud-drive-ref/skill axiom-cloud-sync-diagFile Storage
文件存储
Storage strategy →
Storage issues →
Storage management →
File protection →
/skill axiom-storage/skill axiom-storage-diag/skill axiom-storage-management-ref/skill axiom-file-protection-ref存储策略 →
存储问题排查 →
存储管理 →
文件保护 →
/skill axiom-storage/skill axiom-storage-diag/skill axiom-storage-management-ref/skill axiom-file-protection-refDecision Tree
决策树
- SwiftData? → swiftdata, swiftdata-migration
- Core Data? → core-data, core-data-diag
- GRDB? → grdb
- SQLiteData? → sqlitedata, sqlitedata-ref
- ANY schema migration? → database-migration (ALWAYS — prevents data loss)
- Realm migration? → realm-migration-ref
- SwiftData vs SQLiteData? → sqlitedata-migration
- Cloud sync architecture? → cloud-sync
- CloudKit? → cloudkit-ref
- iCloud Drive? → icloud-drive-ref
- Cloud sync errors? → cloud-sync-diag
- Codable/JSON serialization? → codable
- File storage strategy? → storage, storage-diag, storage-management-ref
- File protection? → file-protection-ref
- 是否使用SwiftData?→ swiftdata, swiftdata-migration
- 是否使用Core Data?→ core-data, core-data-diag
- 是否使用GRDB?→ grdb
- 是否使用SQLiteData?→ sqlitedata, sqlitedata-ref
- 是否涉及任何架构迁移?→ database-migration(必须使用 — 防止数据丢失)
- 是否是Realm迁移?→ realm-migration-ref
- 需要对比SwiftData与SQLiteData?→ sqlitedata-migration
- 云同步架构相关?→ cloud-sync
- 是否使用CloudKit?→ cloudkit-ref
- 是否使用iCloud Drive?→ icloud-drive-ref
- 云同步出错?→ cloud-sync-diag
- Codable/JSON序列化相关?→ codable
- 文件存储策略相关?→ storage, storage-diag, storage-management-ref
- 文件保护相关?→ file-protection-ref
Anti-Rationalization
常见误区纠正
| Thought | Reality |
|---|---|
| "Just adding a column, no migration needed" | Schema changes without migration crash users. database-migration prevents data loss. |
| "I'll handle the migration manually" | Manual migrations miss edge cases. database-migration covers rollback and testing. |
| "Simple query, I don't need the skill" | Query patterns prevent N+1 and thread-safety issues. The skill has copy-paste solutions. |
| "CloudKit sync is straightforward" | CloudKit has 15+ failure modes. cloud-sync-diag diagnoses them systematically. |
| "I know Codable well enough" | Codable has silent data loss traps (try? swallows errors). codable skill prevents production bugs. |
| 错误想法 | 实际情况 |
|---|---|
| "只是添加一个字段,不需要迁移" | 未进行迁移的架构变更会导致用户应用崩溃。database-migration技能可防止数据丢失。 |
| "我会手动处理迁移" | 手动迁移会遗漏边缘场景。database-migration技能涵盖回滚和测试环节。 |
| "只是简单查询,不需要用这个技能" | 规范的查询模式可避免N+1查询和线程安全问题。该技能提供可直接复制使用的解决方案。 |
| "CloudKit同步很简单" | CloudKit有15种以上的失败模式。cloud-sync-diag技能可系统排查这些问题。 |
| "我对Codable已经很熟悉了" | Codable存在静默数据丢失的陷阱(比如try?会掩盖错误)。codable技能可避免生产环境中的bug。 |
Critical Pattern: Migrations
关键模式:迁移
ALWAYS invoke when adding/modifying database columns.
/skill axiom-database-migrationThis prevents:
- "FOREIGN KEY constraint failed" errors
- "no such column" crashes
- Data loss from unsafe migrations
在添加或修改数据库字段时,必须调用 。
/skill axiom-database-migration这可防止:
- "FOREIGN KEY constraint failed"(外键约束失败)错误
- "no such column"(无此列)崩溃
- 不安全迁移导致的数据丢失
Example Invocations
调用示例
User: "I need to add a column to my SwiftData model"
→ Invoke: (critical - prevents data loss)
/skill axiom-database-migrationUser: "How do I query SwiftData with complex filters?"
→ Invoke:
/skill axiom-swiftdataUser: "CloudKit sync isn't working"
→ Invoke:
/skill axiom-cloud-sync-diagUser: "Should I use SwiftData or SQLiteData?"
→ Invoke:
/skill axiom-sqlitedata-migration用户:"我需要在SwiftData模型中添加一个字段"
→ 调用:(至关重要 - 防止数据丢失)
/skill axiom-database-migration用户:"如何使用复杂过滤器查询SwiftData?"
→ 调用:
/skill axiom-swiftdata用户:"CloudKit同步无法正常工作"
→ 调用:
/skill axiom-cloud-sync-diag用户:"我应该用SwiftData还是SQLiteData?"
→ 调用:
/skill axiom-sqlitedata-migration