Download the PHP package egyjs/dbml-to-laravel without Composer

On this page you can find all versions of the php package egyjs/dbml-to-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package dbml-to-laravel

DBML to Laravel Eloquent Generator ✨

Generate Laravel Eloquent models and migration files directly from your DBML (Database Markup Language) diagrams, accelerating Laravel development and streamlining your schema-to-code workflow.

📰 Featured on Laravel News — the official community blog for Laravel developers!

Latest Version on Packagist GitHub Tests Action Status Total Downloads Featured on Laravel News

🚀 Motivation

Tired of manually writing Laravel Eloquent models and migration files from your database diagrams? This package automates the process, letting you focus on building features rather than repetitive boilerplate code. Say goodbye to manual schema-to-code conversion and embrace a faster, more efficient Laravel development workflow.

DBML to Laravel Model & Migration Generator

✨ Features

📦 Installation

To get started with the DBML to Laravel Eloquent Generator, follow these simple steps:

  1. Require the package via Composer:

  2. Publish the customizable stubs (optional, but recommended):

    This command will publish the stub files to stubs/dbml-to-laravel/, allowing you to customize the generated code.

Requirements

💡 Usage

Once installed, you can generate your Laravel models and migrations from a DBML file using the dbml:generate Artisan command. (generate:dbml also works as a legacy alias.)

  1. Create your DBML schema file (e.g., database/schema.dbml).
    Example database/schema.dbml:

  2. Run the Artisan command:

    Replace database/schema.dbml with the actual path to your DBML file.

Expected Output

After running the command, the package will generate:

Example Generated app/Models/Post.php:

Example Generated database/migrations/2023_01_01_000000_create_posts_table.php:

Incremental Sync

After your initial generate:dbml, you can iterate on your DBML schema and generate only the changes:

This command:

  1. Reads the snapshot (.dbml-sync.json) created by generate:dbml
  2. Compares it against the current DBML file
  3. Generates alter migrations for added/modified/dropped columns, indexes, and foreign keys
  4. Generates create migrations for new tables and drop migrations for removed tables
  5. Patches existing Eloquent models within @dbml-sync markers (fillable, casts, relations, table property)

Use --force to skip confirmation prompts:

Workflow example:

Model markers. Generated models include @dbml-sync markers that the patcher targets:

Code outside these markers is never touched by dbml:sync.

⚙️ Customization

You can modify the generated model and migration templates by editing the stub files located in stubs/dbml-to-laravel/ after publishing them. This allows you to tailor the output to your specific project needs, including adding custom traits, interfaces, or modifying default property definitions.

Updating the bundled DBML parser (contributors only)

The published package already includes a fully bundled parser, so consumers never have to install Node dependencies. If you change bin/parse-dbml.js, run the following before opening a PR:

Commit both the updated source file and the generated bin/parse-dbml.runtime.cjs artifact so downstream users continue to benefit from the prepackaged parser.

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on how you can help improve this project. Whether it's bug fixes, new features, or documentation improvements, your input is valuable.

Contributor Documentation

Detailed contributor guides live in the docs/ directory:

Document Description
Getting Started Clone to first green test
Architecture 3-stage pipeline, component map, data flow
Adding Features Recipe-style "how do I add X" guides
Stubs Stub placeholders, override paths, customization
Parser Bundle Node parser, esbuild bundle, JSON payload
Testing Pest patterns, fixtures, adding test cases
Gotchas Compatibility matrix, silent edge cases, traps

❓ Support

For questions, bug reports, or feature requests, please open an issue on the GitHub Issues page. We'll do our best to respond promptly.


🎉 This package was featured by Laravel News. If you find it useful, give it a ⭐ on GitHub and share it with your Laravel team!

📄 License

This project is open-sourced software licensed under the MIT License.


All versions of dbml-to-laravel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.0|^8.1|^8.2|^8.3|^8.4
illuminate/contracts Version ^8.0||^9.0||^10.0||^11.0||^12.0||^13.0
illuminate/support Version ^8.0||^9.0||^10.0||^11.0||^12.0||^13.0
spatie/laravel-package-tools Version ^1.16
symfony/process Version ^5.4|^6.0|^7.0|^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package egyjs/dbml-to-laravel contains the following files

Loading the files please wait ...