Dacapo is a Laravel migration file creation support library. Define the table structure in the schema yml file, Always generate the latest and tidy migration file.
This library is intended for use only in the coding phase. In the operation phase, uninstall and return to normal migration operation.
$ composer require --dev ucan-lab/laravel-dacapo $ php artisan dacapo:init database/schemas/default.yml By default, a schema file for Laravel8 is generated.
users: columns: id: name: string email: type: string unique: email_verified_at: type: timestamp nullable: password: string rememberToken: timestamps: password_resets: columns: email: type: string index: token: string created_at: type: timestamp nullable: failed_jobs: columns: id: uuid: type: string unique: connection: text queue: text payload: longText exception: longText failed_at: type: timestamp useCurrent:$ php artisan dacapo 3 files are generated and migrate fresh.
- 1970_01_01_000001_create_failed_jobs_table.php
- 1970_01_01_000001_create_password_resets_table.php
- 1970_01_01_000001_create_users_table.php
# Execute migrate and seeding $ php artisan dacapo --seed # Do not execute migrate $ php artisan dacapo --no-migrate {}any valuedatabase/schemas/*.yml- If it cannot be expressed in YAML, it can be used together with standard migration.
php artisan make:migration
# COMMENT {TableName}: columns: {ColumnName}: {ColumnType} {ColumnName}: type: {ColumnType} {ColumnName}: unique: true nullable: true default: {DefaultValue} comment: {ColumnName} {ColumnModifier}: {ColumnModifierValue} indexes: - columns: {ColumnName} type: {IndexType} - columns: [{ColumnName}, {ColumnName}] type: {IndexType} - columns: {ColumnName} type: {IndexType} name: {IndexName} foreign_keys: - columns: {ColumnName} references: {ReferenceColumnName} table: {ReferenceTableName} - columns: {ColumnName} references: {ReferenceColumnName} table: {ReferenceTableName} onUpdateAction: {ConstraintProperty} onDeleteAction: {ConstraintProperty} - columns: [{ColumnName}, {ColumnName}] references: [{ReferenceColumnName}, {ReferenceColumnName}] table: {ReferenceTableName} {TableName}: columns: {ColumnName}: {ColumnType} $ php artisan dacapo:clear $ php artisan dacapo:clear --all --allDelete including standard migration files.
$ php artisan dacapo:stub:publish $ php artisan dacapo:uninstall $ composer remove --dev ucan-lab/laravel-dacapo