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

v1.0.1 2025-06-17 17:38 UTC

This package is not auto-updated.

Last update: 2025-12-30 20:03:59 UTC


README

Latest Version on Packagist Total Downloads

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:

  1. Fork the repository
  2. Create your feature branch: git checkout -b feature/your-feature
  3. Commit your changes: git commit -am 'Add new feature'
  4. Push to the branch: git push origin feature/your-feature
  5. Open a Pull Request

๐Ÿงพ License

This package is open-sourced software licensed under the MIT license.

๐Ÿ™‹ Author

Ganesh Kumar
๐Ÿ”— https://github.com/Ganeshk007