PHPackages                             keboola/db-writer-adapter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. keboola/db-writer-adapter

ActiveLibrary[Database &amp; ORM](/categories/database)

keboola/db-writer-adapter
=========================

MyComponent description

0.1.0(2y ago)05811MITPHPPHP ^8.2

Since Feb 9Pushed 2y ago5 watchersCompare

[ Source](https://github.com/keboola/db-writer-adapter)[ Packagist](https://packagist.org/packages/keboola/db-writer-adapter)[ RSS](/packages/keboola-db-writer-adapter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (16)Versions (2)Used By (1)

DB writer adapter
=================

[](#db-writer-adapter)

This library contains a common interface for connecting to database and writing data to, various sources:

- It is intended for use with [db-writer-common](https://github.com/keboola/db-writer-common).
- It supports **PDO** and **ODBC** connections for now.
- The interfaces defined in this library can be easily used to support other methods, e.g. cli BCP tool.

Main Classes
------------

[](#main-classes)

- **Interface [`Connection`](https://github.com/keboola/db-writer-adapter/blob/main/src/Connection/BaseConnection.php)** is an abstraction that represents a connection to the database.
    - Abstract class [`BaseConnection`](https://github.com/keboola/db-writer-adapter/blob/main/src/Connection/BaseDbConnection.php) contains common code and retry mechanisms.
    - Class [`PdoConnection`](https://github.com/keboola/db-writer-adapter/blob/main/src/PDO/PdoConnection.php) implements connection using PDO extension.
    - Class [`OdbcConnection`](https://github.com/keboola/db-writer-adapter/blob/main/src/ODBC/OdbcConnection.php) implements connection using ODBC extension.
- **Interface [`WriteAdapter`](https://github.com/keboola/db-writer-adapter/blob/main/src/WriteAdapter.php)** is an abstraction which defines how the data is written.
    - Abstract class [`BaseWriteAdapter`](https://github.com/keboola/db-writer-adapter/blob/main/src/BaseWriteAdapter.php) contains common code.
    - Class [`PdoWriteAdapter`](https://github.com/keboola/db-writer-adapter/blob/main/src/PDO/PdoWriteAdapter.php) implements write for PDO connection.
    - Class [`OdbcWriteAdapter`](https://github.com/keboola/db-writer-adapter/blob/main/src/ODBC/OdbcWriteAdapter.php) implements write for ODBC connection.
- **Interface [`QueryBuilder`](https://github.com/keboola/db-writer-adapter/blob/main/src/Query/QueryBuilder.php)** used to generate SQL query for adapter.
    - Class [`DefaultQueryFactory`](https://github.com/keboola/db-writer-adapter/blob/main/src/Query/DefaultQueryFactory.php) is base implementation for MySQL/MariaDb compatible SQL dialects.

Development
-----------

[](#development)

Clone this repository and init the workspace with following command:

```
git clone https://github.com/keboola/db-writer-adapter
cd db-writer-adapter
docker-compose build
docker-compose run --rm dev composer install --no-scripts

```

Run the test suite using this command:

```
docker-compose run --rm dev composer tests

```

License
-------

[](#license)

MIT licensed, see [LICENSE](./LICENSE) file.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

820d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/101dbf2551a0709ddab522f97669f13a2c4cc2d0a1e8d009f3af6ba80accb1a9?d=identicon)[Keboola](/maintainers/Keboola)

---

Top Contributors

[![ondrajodas](https://avatars.githubusercontent.com/u/12143866?v=4)](https://github.com/ondrajodas "ondrajodas (25 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/keboola-db-writer-adapter/health.svg)

```
[![Health](https://phpackages.com/badges/keboola-db-writer-adapter/health.svg)](https://phpackages.com/packages/keboola-db-writer-adapter)
```

###  Alternatives

[doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.

9.7k578.4M5.6k](/packages/doctrine-dbal)[cycle/database

DBAL, schema introspection, migration and pagination

64690.9k31](/packages/cycle-database)[guikingone/scheduler-bundle

A Symfony bundle that allows to schedule and create repetitive tasks

114217.4k](/packages/guikingone-scheduler-bundle)[symfony/ai-store

Low-level abstraction for storing and retrieving documents in a vector store.

19292.4k53](/packages/symfony-ai-store)[tommyknocker/pdo-database-class

Framework-agnostic PHP database library with unified API for MySQL, MariaDB, PostgreSQL, SQLite, MSSQL, and Oracle. Query Builder, caching, sharding, window functions, CTEs, JSON, migrations, ActiveRecord, CLI tools, AI-powered analysis. Zero external dependencies.

845.7k](/packages/tommyknocker-pdo-database-class)[bartlett/php-compatinfo-db

Reference Database of all functions, constants, classes, interfaces on PHP standard distribution and about 110 extensions

1183.0k1](/packages/bartlett-php-compatinfo-db)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
