Набор инструментов на Swift для работы с SQLite: сохранение записей, интерфейс запросов, миграции и отслеживание изменений в базе данных приложений.
stephencelis/SQLite.swift
Типобезопасный Swift-слой над SQLite3 для построения запросов и работы с данными в приложениях для Apple-платформ и Linux.
- Звёзды
- 10,187
- Форки
- 1,612
- Открытые issues
- 133
- Последний коммит
- 13 дней назад
Что это?
SQLite.swift предоставляет чистый Swift-интерфейс к C API SQLite3. Вместо склеивания SQL-строк разработчики составляют запросы с помощью типизированного построителя выражений, поэтому типы столбцов и их необязательность проверяются компилятором. Запросы можно объединять в цепочки и выполнять лениво — только по явному вызову.
При необходимости библиотека также служит тонкой, удобной для Swift оболочкой над обычным SQL: она поддерживает подготовленные выражения, привязку параметров и доступ к свойствам соединения, таким как totalChanges и lastInsertRowid. В неё входят помощники для запросов к схеме и миграций, поддержка полнотекстового поиска, настройка журналирования WAL и интеграция с SQLCipher через Swift Package Manager.
Библиотеку можно установить через Swift Package Manager, CocoaPods, Carthage или добавить в проект Xcode как подпроект. Она также работает в Linux, но с некоторыми ограничениями.
Ключевые возможности
- 01Типобезопасный построитель SQL-выражений с поддержкой необязательных типов столбцов
- 02Цепочечный API запросов с ленивым выполнением
- 03Подготовленные выражения для обычного SQL с привязкой параметров
- 04Помощники для запросов к схеме и миграций
- 05Полнотекстовый поиск и настройка журналирования WAL
- 06Поддержка SQLCipher через Swift Package Manager
Сценарии использования
- Хранение локальных данных в приложении для iOS или macOS с запросами, проверяемыми при компиляции
- Создание Swift-сервера или CLI-инструмента, который хранит данные в SQLite на Linux
- Шифрование локальной базы данных с помощью SQLCipher в приложении для платформ Apple
Быстрый старт
- 1
Добавьте зависимость SQLite.swift в Package.swift
- 2
Соберите проект с помощью Swift Package Manager
swift build
Что важно знать
- При переборе результатов prepare() на каждом шаге используется try!, поэтому ошибка SQLite во время перебора приводит к аварийному завершению приложения. Для обработки ошибок используйте prepareRowIterator().
- Поддержка Linux имеет некоторые ограничения.
В подборках
Темы
Частые вопросы
- Что такое SQLite.swift?
- Типобезопасный Swift-слой над SQLite3 для построения запросов и работы с данными в приложениях для Apple-платформ и Linux. SQLite.swift предоставляет чистый Swift-интерфейс к C API SQLite3. Вместо склеивания SQL-строк разработчики составляют запросы с помощью типизированного построителя выражений, поэтому типы столбцов и их необязательность проверяются компилятором. Запросы можно объединять в цепочки и выполнять лениво — только по явному вызову.
- SQLite.swift можно использовать бесплатно? Какая у него лицензия?
- SQLite.swift распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- SQLite.swift всё ещё поддерживается?
- Активно поддерживается. Последний коммит в SQLite.swift — 25 окт. 2026 г..
- Для чего можно использовать SQLite.swift?
- Хранение локальных данных в приложении для iOS или macOS с запросами, проверяемыми при компиляции Создание Swift-сервера или CLI-инструмента, который хранит данные в SQLite на Linux Шифрование локальной базы данных с помощью SQLCipher в приложении для платформ Apple
- Как установить SQLite.swift?
- Добавьте зависимость SQLite.swift в Package.swift Соберите проект с помощью Swift Package Manager: swift build
- Где скачать SQLite.swift?
- Исходный код и инструкции по установке — на GitHub: https://github.com/stephencelis/SQLite.swift
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Безопасный и расширяемый ORM и конструктор запросов для Rust с проверкой запросов во время компиляции для PostgreSQL, MySQL, SQLite и MariaDB.
TypeScript ORM для Node.js с типобезопасным доступом к PostgreSQL, MySQL, SQLite, MongoDB и другим базам данных.
Типобезопасный SQL query builder для TypeScript с автодополнением таблиц, столбцов и типов результатов для разных SQL-баз данных.
Лёгкий PHP-фреймворк для работы с базами данных в одном файле, упрощающий типовые SQL-операции с помощью понятного API.
ORM для TypeScript и JavaScript, работающий в Node.js и других JS-средах и поддерживающий паттерны Active Record и Data Mapper для множества SQL- и NoSQL-баз данных.