方法
Laravelには、以下のようにひとつのファイルだけマイグレーションする方法があったのですが、
php artisan migrate:refresh --step=1 --path=/database/migrations/xxxx
AdonisJSには現状、同じようにワンコマンドで実行する方法はありません。
なので、Dry runという方法を使って解決します。
方法としては、こちらにあります。
# Run
node ace migration:run --dry-run
# Rollback
node ace migration:rollback --dry-run
実行すると、以下のようにSQLが出力されるので、それをDBに直接実行する形になります。
------------- database/migrations/1648003714820_xxxxxxxxxxx -------------
CREATE TABLE `xxxxxxxxxxx` (`id` INT unsigned NOT NULL auto_increment PRIMARY KEY, `name` VARCHAR(255) NOT NULL, `created_at` TIMESTAMP, `updated_at` TIMESTAMP)
------------- END -------------
まとめ
migration:statusとの辻褄が合わなくなる?可能性がありそうなので、
開発環境であればDBのバックアップを取っておくなどして、まずは普通のmigration:rollbackやmigration:runを検討したほうが良いと思います。
コメント