GitHub
GRDB: удобная работа с SQLite
GRDB — библиотека для работы с базой данных SQLite. Она может решать такие задачи, как:
- Генерация SQL: Создайте методы сохранения и извлечения данных, чтобы вам не приходилось иметь дело с SQL и необработанными строками, когда вы этого не хотите.
- Наблюдение за базой данных: Получайте уведомления о модификации значений базы данных.
- Надежный параллелизм: Многопоточные приложения могут эффективно использовать свои базы данных, поддерживающие одновременное чтение и запись.
- Миграции: Эволюция схемы базы данных по мере выпуска новых версий приложения.
Не всем разработчикам нужны расширенные возможности SQLite. Но когда это необходимо, GRDB будет настолько совершенной, насколько вы захотите. Приходите со своими знаниями SQL и SQLite или осваивайте новые в процессе работы!
Пример работы с GRDB
x
import GRDB
// 1. Open a database connection
let dbQueue = try DatabaseQueue(path: "/path/to/database.sqlite")
// 2. Define the database schema
try dbQueue.write { db in
try db.create(table: "player") { t in
t.primaryKey("id", .text)
t.column("name", .text).notNull()
t.column("score", .integer).notNull()
}
}
// 3. Define a record type
struct Player: Codable, FetchableRecord, PersistableRecord {
var id: String
var name: String
var score: Int
}
// 4. Write and read in the database
try dbQueue.write { db in
try Player(id: "1", name: "Arthur", score: 100).insert(db)
try Player(id: "2", name: "Barbara", score: 1000).insert(db)
}
let players: [Player] = try dbQueue.read { db in
try Player.fetchAll(db)
}
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
-
Видео и подкасты для разработчиков4 недели назад
Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.10
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2025.11
-
Видео и подкасты для разработчиков2 недели назад
Javascript для бэкенда – отличная идея: Node.js, NPM, Typescript