Laravel Migrations Generator

kitloong/laravel-migrations-generator image

Laravel Migrations Generator stats

Downloads
2.4M
Stars
1,983
Open Issues
2
Forks
234

View on GitHub →

Generates Laravel Migrations from an existing database

Laravel Migrations Generator Summary

The Laravel Migrations Generator is a robust package designed to automatically generate migration files from an existing database, including the creation of indexes and foreign keys. This tool is crucial for developers looking to migrate databases seamlessly within the Laravel framework.

Key Features

  • Database Support: Compatible with all major databases supported by Laravel, including MariaDB, MySQL, PostgreSQL, SQL Server, and SQLite.
  • Version Compatibility: Fully supports Laravel versions from 5.6 and above.
  • Customizable Migrations: Provides options to specify which tables to include or ignore during the migration generation process.
  • Single File Option: Ability to squash all migrations into a single file for streamlined management.
  • Extended Functionality: Supports generating views, stored procedures, and handling custom column types for certain databases.

Installation and Setup

Install via Composer:

composer require --dev kitloong/laravel-migrations-generator

For Laravel

The package auto-registers the service provider.

For Lumen

Manual modifications are needed:

  1. Enable facades in bootstrap/app.php.
  2. Register the MigrationsGeneratorServiceProvider.

Usage

Ensure your database configuration is set in config/database.php. Generate migrations with:

php artisan migrate:generate

Options include specifying tables to generate or ignore, setting the path for migration files, and more.

To generate a single migration file from multiple migrations, use:

php artisan migrate:generate --squash

Advanced Features

  • SQLite Limitations: Handles SQLite's restrictions on altering foreign keys after table creation.
  • User-Defined Custom Column Types: For PostgreSQL and SQL Server, allows custom data types and alters table schemas accordingly.

This package, building on the work by Bernhard Breytenbach, facilitates the easy generation of migration files, aiding developers in maintaining and versioning database structures efficiently.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Kitloong Laravel Migrations Generator Related Articles

Take the Pain Out of Data Imports with Laravel Ingest image

Take the Pain Out of Data Imports with Laravel Ingest

Read article
Laravel Introduces Official AI Documentation image

Laravel Introduces Official AI Documentation

Read article
Handling Geospatial Data with Laravel Magellan image

Handling Geospatial Data with Laravel Magellan

Read article
Laravel API Toolkit image

Laravel API Toolkit

Read article
Generate Migrations from an Existing Database With the Migration Generator Package image

Generate Migrations from an Existing Database With the Migration Generator Package

Read article
Laravel 8 is Now Released! image

Laravel 8 is Now Released!

Read article
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Blastup logo

Blastup

Blastup provides social media enhancement services including buying Instagram likes, followers, and views, with features like instant delivery and a variety of packages to suit different needs.

Blastup
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
Securing Laravel logo

Securing Laravel

The essential security resource for Laravel devs, covering everything you need to keep your apps secure. Sign up to receive weekly security tips and monthly in depth articles, diving deep into security concepts you need to know!

Securing Laravel
No Compromises logo

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift