PHPackages                             meridius/dbentities-generator - 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. meridius/dbentities-generator

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

meridius/dbentities-generator
=============================

Generator of database entities for use with Nette Database

1.0.4(10y ago)120[4 issues](https://github.com/meridius/dbentities-generator/issues)Apache-2.0PHPPHP &gt;=5.4.24

Since May 14Pushed 10y ago1 watchersCompare

[ Source](https://github.com/meridius/dbentities-generator)[ Packagist](https://packagist.org/packages/meridius/dbentities-generator)[ Docs](https://github.com/meridius/dbentities-generator)[ RSS](/packages/meridius-dbentities-generator/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (6)Used By (0)

dbentities-generator
====================

[](#dbentities-generator)

*Generator of database entities for use with Nette Database*

Are you tired of manually typing table and column names when dealing with Nette Database (and other similar DB frameworks) yet? You don't have to now!

Why should I use that
---------------------

[](#why-should-i-use-that)

- easy setup
- simple usage
- column and table name auto-hinting by IDE
- column / variable type hinting
- end of referring to table/column names by hard-to-trace strings
- simpler table joining

How to setup
------------

[](#how-to-setup)

Simply run generators' `php index.php -s path/to/your_scheme.sql` which will parse given scheme SQL file and create respective entity files.

### Other options

[](#other-options)

```
-s              SQL file with schema to be parsed to entities.
-n         What namespace to put generated entities into.
                      Will be used also as destination directory.
                        (default: DbEntity)
-d     Used as part of namespace and directory for entities.
                        [optional] (default: none)
-a                    Generate also absolute constants. This will generate:
                        const __COLUMN_NAME = 'table.column_name';
                      Constant name is prefixed with (__) two underscores.
                        [optional] (default: true)
-e                    Enquote table and column names. This will generate:
                        const __COLUMN_NAME = '`table`.`column_name`';
                        [optional] (default: false)
-f                    Remove destination directory if exists - use force.
                        [optional] (default: true)
-h | --help           This help.

```

Use of generated entities
-------------------------

[](#use-of-generated-entities)

### Where can I use them

[](#where-can-i-use-them)

Primary use of generated DB entities is targeted to projects based on Nette (and derived) frameworks using Nette Database.

### Prerequisites for other frameworks

[](#prerequisites-for-other-frameworks)

Should you decide to use entities with other framework than Nette or none at all, please note that you will need to include these two components to your project:

- [Nette Utils](https://github.com/nette/utils) for Nette\\Object
- [Nette Database](https://github.com/nette/database) for Nette\\Database\\Table\\ActiveRow

### Example usage

[](#example-usage)

- You can set values to entity straight to its properties.
- Function `$entity->getArray()` will get associative array from entity, ready for Nette Databases' `->insert()` or `->update()` functions.
- Passing an `ActiveRow` object to entity constructor will set properties to that entity based on values in `ActiveRow`.

#### Create new record

[](#create-new-record)

```
$movie = new Movie;
$movie->name = $values["name"];
$movie->year = $values["year"];
$movieManager->create($movie);

# ---------- MovieManager ----------
public function create(Movie $movie) {
	$this->db->table($movie->getTableName())->insert($movie->getArray());
}

```

#### Get existing record

[](#get-existing-record)

```
$movie = $movieManager->getByName($values["name"]);
echo $movie->year;

# ---------- MovieManager ----------
public function getByName($name) {
	$row = $this->db->table(Movie::getTableName())->where(array(
			Movie::NAME => $name,
		))->fetch();
	return ($row instanceof ActiveRow) ? new Movie($row) : null;
}

```

#### Get existing record by value from another table

[](#get-existing-record-by-value-from-another-table)

```
public function getByTagName($tagTitle) {
	$row = $this->db->table(Movie::getTableName())
		->select(Movie::getTableName() . '.*')
		->where(array(
			Tag::__TITLE => $tagTitle, // see (-a) option for description
		))->fetch();
	return ($row instanceof ActiveRow) ? new Movie($row) : null;
}

```

Notes
-----

[](#notes)

The generator will parse MySQL files, syntax for other database types was not tested.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity62

Established project with proven stability

 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

Every ~18 days

Total

5

Last Release

3950d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3413791287c773b678928ae39c2834dd1235f61b797e31c2bc411940b6835a8b?d=identicon)[meridius](/maintainers/meridius)

---

Top Contributors

[![meridius](https://avatars.githubusercontent.com/u/372431?v=4)](https://github.com/meridius "meridius (17 commits)")

---

Tags

nettedatabasegeneratordbentity

### Embed Badge

![Health badge](/badges/meridius-dbentities-generator/health.svg)

```
[![Health](https://phpackages.com/badges/meridius-dbentities-generator/health.svg)](https://phpackages.com/packages/meridius-dbentities-generator)
```

###  Alternatives

[rah/danpu

Zero-dependency MySQL dump library for easily exporting and importing databases

64401.8k10](/packages/rah-danpu)

PHPackages © 2026

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