PHPackages                             luminar-organization/database - 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. luminar-organization/database

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

luminar-organization/database
=============================

Database component of the Luminar PHP framework, handling connections, ORM, and query building.

034PHP

Since Sep 28Pushed 1y ago1 watchersCompare

[ Source](https://github.com/luminar-organization/database)[ Packagist](https://packagist.org/packages/luminar-organization/database)[ RSS](/packages/luminar-organization-database/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Luminar Database
================

[](#luminar-database)

[![Tests Status](https://camo.githubusercontent.com/1d288a96d40672b674e64e686b96ad5d08ff8f02802acc9d8d0ee4e96ccbdefd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c756d696e61722d6f7267616e697a6174696f6e2f64617461626173652f746573742e796d6c3f6c6162656c3d5465737473)](https://camo.githubusercontent.com/1d288a96d40672b674e64e686b96ad5d08ff8f02802acc9d8d0ee4e96ccbdefd/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6c756d696e61722d6f7267616e697a6174696f6e2f64617461626173652f746573742e796d6c3f6c6162656c3d5465737473)

The **Luminar Database** package is a core component of the Luminar PHP framework. It provides database connection management, ORM functionality, schema handling, and query building to create a simple, yet powerful interface for working with databases in PHP.

Features
--------

[](#features)

- **Database Connection Management**: Manage multiple database connections with ease.
- **ORM (Object-Relational Mapping)**: Interact with your database using PHP models.
- **Query Builder**: Build complex SQL queries using fluent, object-oriented interface.
- **Schema Builder**: Create, modify, and manage your database schema with ease.
- **Migration Manager**: Export and import your database to easily migrate between servers.

Installation
------------

[](#installation)

To use the Luminar Database package, install iti via Composer:

```
composer require luminar-organization/database
```

Usage
-----

[](#usage)

### Database Connection

[](#database-connection)

To create a database connection, use the `Connection` class. For example, connecting to a MySQL server database:

```
use Luminar\Database\Connection\Connection;
$connection = new Connection("mysql:host=localhost;dbname=example-database", "example_user", "example_password")
```

### Query Builder

[](#query-builder)

The query builder provides a fluent interface for building and executing SQL queries:

```
use Luminar\Database\ORM\QueryBuilder;

$query = (new QueryBuilder())
    ->table("users")
    ->where("id", '=', 1)
    ->limit(1)
    ->get();

echo $query; // Output: SELECT * FROM users WHERE id = 1 LIMIT 1;
```

### ORM (Object-Relational Mapping)

[](#orm-object-relational-mapping)

Create your own Entity with Entity,Column annotations:

```
use Luminar\Database\ORM\Entity;
use Luminar\Database\ORM\Column;
use Luminar\Database\ORM\EntityManager;
use Luminar\Database\Connection\Connection;

#[Entity(name: "users")] // Table name
class User
{
    /**
    * @var int $id
    */
    #[Column(name: "id")]
    private int $id;

    /**
    * @var string $username
    */
    #[Column(name: "username")]
    private string $username;

    /**
    * @return string
    */
    public function getUsername(): string
    {
        return $this->username;
    }

    /**
     * @param string $username
    */
    public function setUsername(string $username):void
    {
        $this->username = $username;
    }

    /**
    * @return int
    */
    public function getId(): int
    {
        return $this->id;
    }

    /**
     * @param int $id
    */
    public function setId(int $id):void
    {
        $this->id = $id;
    }
}

$connection = new Connection("your dsn", "example_username", "example_password");
$entityManager = new EntityManager($connection);
$schema = $entityManager->schema($entityManager);
$connection->query($schema);
```

### Schema Builder

[](#schema-builder)

The `SchemaBuilder` helps you manage your database schema programmatically:

```
use Luminar\Database\Schema\SchemaBuilder;
use Luminar\Database\Connection\Connection;

$connection = new Connection("your dsn", "example_username", "example_password");
$schemaBuilder = new SchemaBuilder($connection);

// Create a table
$sql = $schemaBuilder->create('users', function ($table) {
    $table->addColumn('int', 'id');
    $table->addColumn('varchar', 'name');
});
$connection->query($sql);

// Drop a table
$sql = $schemaBuilder->drop('users');
$connection->query($sql);
```

### Migration Manager

[](#migration-manager)

The `MigrationManager` helps you migrating your database:

```
use Luminar\Database\Connection\Connection;
use Luminar\Database\Migration\MigrationManager;

$connection = new Connection("your dsn", "example_username", "example_password");
$migrationDir = "YOUR_PATH";
$migrationManager = new MigrationManager($migrationDir, $connection);

// Export Your Database
$export = $migrationDir->export(); // Returns migration name `migrate-XXXXX`

// Importing Database by migration name
$migrationDir->import($export);
```

Testing
-------

[](#testing)

Unit tests are provided to ensure the functionality of the `luminar-organization/databse` package. To run tests, use:

```
composer run test
```

Contribution
------------

[](#contribution)

Checkout our CONTRIBUTION.md in our core package

License
-------

[](#license)

The Luminar Database package is open-sourced software licensed under the [MIT License](LICENSE)

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity19

Early-stage or recently created project

 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/fa131d309a1f4fe39efb438779b5fcf52d26209a293b4399d3f3bebca6196c0f?d=identicon)[PatrykMolenda](/maintainers/PatrykMolenda)

---

Top Contributors

[![PatrykMolenda](https://avatars.githubusercontent.com/u/90420828?v=4)](https://github.com/PatrykMolenda "PatrykMolenda (21 commits)")

### Embed Badge

![Health badge](/badges/luminar-organization-database/health.svg)

```
[![Health](https://phpackages.com/badges/luminar-organization-database/health.svg)](https://phpackages.com/packages/luminar-organization-database)
```

###  Alternatives

[doctrine/orm

Object-Relational-Mapper for PHP

10.2k285.3M6.2k](/packages/doctrine-orm)[jdorn/sql-formatter

a PHP SQL highlighting library

3.9k115.1M102](/packages/jdorn-sql-formatter)[illuminate/database

The Illuminate Database package.

2.8k52.4M9.4k](/packages/illuminate-database)[mongodb/mongodb

MongoDB driver library

1.6k64.0M546](/packages/mongodb-mongodb)[ramsey/uuid-doctrine

Use ramsey/uuid as a Doctrine field type.

90340.3M211](/packages/ramsey-uuid-doctrine)[reliese/laravel

Reliese Components for Laravel Framework code generation.

1.7k3.4M16](/packages/reliese-laravel)

PHPackages © 2026

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