Skip to content

SyneticNL/MiGator

Repository files navigation

Laravel Migator

Latest Version GitHub Workflow Status Total Downloads

Laravel Migator personified as Arnold Schwarzenegger in Terminator

A package that will allow developers to interactively generate schema migrations for a laravel application. It takes into account the existing entity/fields based on the available data in the database.

This package will ask the developer interactively for the following:

  • model
  • table (default: derived from laravel model naming convention)
  • fields (repeatedly)
    • name
    • type
      • id
      • uuid
      • type
      • boolean
      • text
      • date
      • datetime
      • json
      • id
      • integer
    • default value (#11)
    • index (#12)
    • foreign keys (#13)
  • relations to other entities (#9)

It will then ask for writing this into a migration file. It creates and writes a new migration file to the default laravel migration path.

Installation

This package can be installed using composer:

composer require wearesynetic/laravel-migator --dev

Usage

php artisan make:migator

This will start the migator process.

Roadmap

  • Derive table name default from the given model
  • Implement validation of preexisting columns / definitions
  • Implement CLI usage for 'model'-specific use case (#5)
  • Implement CLI usage for 'other' use case (#6)
  • Implement relation mapping / autocomplete (#9)
  • Optionally specify the stub to be used for the migration (#10)