Connect with us

GitHub

GRDB: удобная работа с SQLite

Фото аватара

Опубликовано

/

     
     

GRDB — библиотека для работы с базой данных SQLite. Она может решать такие задачи, как:

  • Генерация SQL: Создайте методы сохранения и извлечения данных, чтобы вам не приходилось иметь дело с SQL и необработанными строками, когда вы этого не хотите.
  • Наблюдение за базой данных: Получайте уведомления о модификации значений базы данных.
  • Надежный параллелизм: Многопоточные приложения могут эффективно использовать свои базы данных, поддерживающие одновременное чтение и запись.
  • Миграции: Эволюция схемы базы данных по мере выпуска новых версий приложения.

Не всем разработчикам нужны расширенные возможности SQLite. Но когда это необходимо, GRDB будет настолько совершенной, насколько вы захотите. Приходите со своими знаниями SQL и SQLite или осваивайте новые в процессе работы!

Пример работы с GRDB

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)
}
GRDB на GitHub: https://github.com/groue/GRDB.swift
Платформа: iOS
⭐️: 6.1K
Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: