Feather DBAL provides a database access layer on top of Feather Database and Feather SQL. It defines typed table schemas, database platform capabilities, and reusable access operations without including an application runtime or a concrete database driver.
This is an alpha release; APIs may change before the stable 1.0.0 release.
- Typed table, column, and row definitions
- SQL schema creation and alteration models
- Typed select, insert, update, and delete access operations
- Platform-specific SQL types and capabilities
- No bundled database driver or application runtime
- A testing product with lightweight database-platform mocks
- Swift 6.3 or later
- Linux
- macOS 15+, iOS 18+, tvOS 18+, watchOS 11+, or visionOS 2+
Add the 1.0.0-alpha.1 release to your package dependencies and target:
.package(url: "https://github.com/feather-framework/feather-dbal", exact: "1.0.0-alpha.1"),.product(name: "FeatherDBAL", package: "feather-dbal"),For tests that use the provided mock platform, add the testing product to the test target:
.product(name: "FeatherDBALTesting", package: "feather-dbal"),Feather DBAL depends on the published Feather Database 1.0.0-rc.3 and
Feather SQL 1.0.0-alpha.1 releases.
Feather DBAL is the driver-independent access and schema layer. Concrete database support is provided by separate packages:
Browse the DocC API documentation.
swift build
swift test
swift format lint --strict --recursive Sources TestsThe database-driver integration suite lives in the CMS workspace's top-level
IntegrationTests directory, outside this package repository. Run it on macOS
with ../IntegrationTests/run.sh, which starts temporary PostgreSQL and MySQL
containers, or run the full Linux suite with Docker using
../IntegrationTests/run-linux.sh.
Pull requests run soundness checks and the package test suite on Linux with Swift 6.3 and 6.4. Tagged releases and manual workflow runs publish DocC documentation to GitHub Pages.
Feather DBAL is distributed under the MIT License. See LICENSE.