PHPackages                             albedev/ddl-artisan - 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. albedev/ddl-artisan

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

albedev/ddl-artisan
===================

Generate Laravel migrations from DDL

1.0.0(11mo ago)62MIT-NRPHPPHP ^8.0

Since Aug 4Pushed 11mo agoCompare

[ Source](https://github.com/albedev/ddl-artisan)[ Packagist](https://packagist.org/packages/albedev/ddl-artisan)[ RSS](/packages/albedev-ddl-artisan/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (3)Versions (2)Used By (0)

DDL Artisan
===========

[](#ddl-artisan)

ddl-artisan is a PHP tool designed to parse raw MySQL DDL files and automatically generate fully compatible Laravel migration files. It supports a wide variety of column types, indexes, foreign keys (including composite and cross-database), and modern Laravel migration syntax. Built for developers who want to speed up the migration process in existing or legacy databases.

---

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

[](#installation)

You can install the package via Composer:

```
composer require albedev/ddl-artisan
```

And... that's it! The package will automatically register itself in Laravel. To start the migration generation process, you can use the provided Artisan command.

```
php artisan ddl:generate path/to/your-ddl.sql
```

**Attention**: path/to/your-ddl.sql should be a valid MySQL DDL file and the path should be accessible by your Laravel application.

Features
--------

[](#features)

- Parses MySQL DDL statements into structured Laravel migrations
- Supports all major column types (INT, VARCHAR, TEXT, JSON, ENUM, etc.)
- Handles indexes: INDEX, UNIQUE, FULLTEXT, SPATIAL
- Handles foreign keys, including composite and cross-database
- CLI interface for instant usage (ddl-artisan generate)
- Easily installable via Composer

Known Issues
------------

[](#known-issues)

- The package is still in development, so some features may not be fully implemented or tested.
- The parsing of complex DDL statements may not be perfect, especially for edge cases.
- Foreign keys migration has some issues with indentation and formatting, which will be fixed in future releases. (Doesn't affect functionality, just aesthetics)

License
-------

[](#license)

This project is licensed under the MIT-NR License - see the [LICENSE](LICENSE) file for details.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance52

Moderate activity, may be stable

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity41

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

334d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/25616798?v=4)[albedev](/maintainers/albedev)[@albedev](https://github.com/albedev)

---

Top Contributors

[![albedev](https://avatars.githubusercontent.com/u/25616798?v=4)](https://github.com/albedev "albedev (2 commits)")

### Embed Badge

![Health badge](/badges/albedev-ddl-artisan/health.svg)

```
[![Health](https://phpackages.com/badges/albedev-ddl-artisan/health.svg)](https://phpackages.com/packages/albedev-ddl-artisan)
```

###  Alternatives

[illuminate/database

The Illuminate Database package.

2.8k54.9M11.6k](/packages/illuminate-database)[yajra/laravel-oci8

Oracle DB driver for Laravel via OCI8

8793.2M25](/packages/yajra-laravel-oci8)[glushkovds/phpclickhouse-laravel

Adapter of the most popular library https://github.com/smi2/phpClickHouse to Laravel

2051.5M2](/packages/glushkovds-phpclickhouse-laravel)[ahmed-bhs/doctrine-doctor

Runtime analysis tool for Doctrine ORM integrated into Symfony Web Profiler. Unlike static linters, it analyzes actual query execution at runtime to detect performance bottlenecks, security vulnerabilities, and best practice violations during development with real execution context and data.

9410.8k](/packages/ahmed-bhs-doctrine-doctor)[calebdw/larastan

Larastan - Discover bugs in your code without running it. A phpstan/phpstan extension for Laravel

15118.7k4](/packages/calebdw-larastan)[lemaur/eloquent-publishing

218.1k1](/packages/lemaur-eloquent-publishing)

PHPackages © 2026

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