Running migrations

The command compares every admin model with the last migrated state. Unchanged models are skipped (Nothing to migrate.), changed ones print Created table or Updated table. When a column exists in the table but not in the fields, the command prints + Unknown column: name and asks whether to drop it. Use $skipDropping for columns managed elsewhere.
Output of the php artisan admin:migrate command

Creation date

$migration_date orders admin models in migrations and in the menu. Parent models, and models referenced by belongsTo, must have an earlier date than their children.
Required parameter, generated by admin:model. A model without a migration date is not registered as an admin model, and two models with the same date stop the application with an error naming both models.

Automatic columns

Columns are added after the field columns in this order:

Timestamps and soft deletes

Admin models with timestamps use soft deletes. Deleted records stay in the table and are hidden in the administration and in queries, withTrashed() shows them.
A deleted_at field enables soft deletes without timestamps:
Remove a soft deletable record permanently with the force delete option.

Table and connection

Standard Eloquent properties are respected by migrations:
A model without a table, e.g. a dashboard built from layouts, skips migrations:

Skipping column removal

Columns that exist in the table but are not defined in fields are offered for dropping. List columns managed outside of the admin model to keep them without asking, e.g. in a table shared with another project:
Columns can also be added at runtime, e.g. from a migration hook:

Migration hooks

Hooks receive the Blueprint of the model table, the schema builder and the running command. Changes made on the blueprint are executed.
Hooks run only when the model is migrated. Without changes in the model use php artisan admin:migrate --force.
Hooks for a missing parent id of existing rows are described in tree structured models, migration events for packages in helpers.