ganeshk007 / migration-generator
A Laravel package for generate migrations
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/ganeshk007/migration-generator
Requires
- php: >=8.0
- illuminate/support: ^8.0|^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2025-12-30 20:03:59 UTC
README
A Laravel package to generate migration files from existing database tables โ perfect for legacy projects that don't have migrations. This tool helps developers generate migration files for all tables in one go, improving workflow and making future table changes manageable.
๐ Features
- ๐ Generate migrations from existing tables
- ๐ Support for generating all or selected tables
- โ๏ธ Custom configuration via a published config file
- ๐งผ Clean and Laravel-style migration syntax
- ๐งพ Supports indexing, unique, nullable, and default column properties
๐ฆ Installation
composer require ganeshk007/migration-generator
โ๏ธ Configuration (Optional)
To publish the configuration file:
php artisan vendor:publish --tag=config
This creates a config file at:
config/migration-generator.php
You can configure which tables to include or exclude:
return [ // List of tables to exclude (e.g. Laravel system tables) 'exclude_tables' => [ 'jobs', 'failed_jobs', 'password_resets', 'oauth*' ], ];
โ๏ธ Usage
Generate migration files using:
php artisan migration:generate {table?}
Optional Parameters
table: (optional) The name of a specific table to generate a migration for. If not provided, migrations will be generated for all tables (excluding those in config).
Examples:
php artisan migration:generate php artisan migration:generate users
๐งช Example Output
For a users table, the generated migration will look like:
Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->timestamps(); });
๐จโ๐ป Contributing
Pull requests are welcome! Here's how to contribute:
- Fork the repository
- Create your feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/your-feature - Open a Pull Request
๐งพ License
This package is open-sourced software licensed under the MIT license.
๐ Author
Ganesh Kumar
๐ https://github.com/Ganeshk007