axiom-sqlitedata
SQLiteData queries, @Table models, Point-Free SQLite, RETURNING clause, FTS5 full-text search, CloudKit sync, CTEs, JSON aggregation, @DatabaseFunction
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
SQLiteData queries, @Table models, Point-Free SQLite, RETURNING clause, FTS5 full-text search, CloudKit sync, CTEs, JSON aggregation, @DatabaseFunction
How to use
Zainstaluj umiejętność axiom-sqlitedata w swoim projekcie Claude/Copilot. Upewnij się, że Twoja aplikacja obsługuje iOS 17+ i Swift 6 ze ścisłą kontrolą współbieżności.
Zdefiniuj model danych za pomocą makra @Table. Pierwsza właściwość let powinna być identyfikatorem (np. UUID) i automatycznie stanie się kluczem głównym. Dodaj właściwości var z wartościami domyślnymi dla kolumn wymaganych lub opcjonalne String? dla kolumn dopuszczających null. Użyj @Column(as:) do niestandardowych reprezentacji, takich jak kolory, oraz @Ephemeral dla pól nieprzechowywanych w bazie.
Skonfiguruj bazę danych w zależnościach projektu. Umiejętność obsługuje bloki database.write { } do wszystkich mutacji oraz makra @FetchAll i @FetchOne do zapytań. Dla synchronizacji CloudKit skonfiguruj SyncEngine zgodnie z dokumentacją Point-Free.
Wykonuj operacje CRUD używając wartości typów (struct). Wszystkie zmiany muszą odbywać się wewnątrz bloków database.write { }, co zapewnia bezpieczeństwo współbieżności i spójność danych.
W przypadku zaawansowanych wzorców — takich jak złożone zapytania z wieloma tabelami, wyrażenia CTE, widoki lub niestandardowe agregaty — odwołaj się do umiejętności axiom-sqlitedata-ref, która zawiera szczegółowe przykłady i referencje.
Dla dużych zbiorów danych (50k+ rekordów) lub operacji wymagających wysokiej wydajności korzystaj z SQLiteData zamiast SwiftData. Jeśli potrzebujesz bardzo złożonych złączeń SQL (4+ tabele) lub niestandardowej logiki migracji, rozważ bezpośrednie użycie GRDB.