Use Database Collation

--use-db-collation

By default, migration files are generated without collation setting.

This means php artisan migrate will create tables with the collation settings defined in the config/database.php file.

// config/database.php

return [
    'connections' => [
        'mysql' => [
            ...
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
        ],
    ],
];

The --use-db-collation option will always generates migrations with the existing database collation settings.

Example

php artisan migrate:generate --use-db-collation

Will generate:

Schema::create('users', function (Blueprint $table) {
    $table->collation = 'utf8mb4_unicode_ci';
    $table->charset = 'utf8mb4';

    $table->bigIncrements('id');
    ...
});