dx/dxkit/drivers/laravel/migrate.sh

54 lines
1.2 KiB
Bash

#!/usr/bin/env bash
# ============================================
# Laravel — Migration Commands
# ============================================
#
# Thin wrappers around artisan migrate commands,
# run inside the app container via artisan::exec.
# ============================================
# Commands
# ============================================
# Creates a new migration via artisan make:migration.
#
# Usage:
# dx migrate-create create_invoices_table
function laravel::migrate::create() {
local name="${1:?Usage: dx migrate-create <migration_name>}"
artisan::exec make:migration "$name"
}
# Runs all pending migrations.
#
# Usage:
# dx migrate
function laravel::migrate::run() {
artisan::exec migrate "$@"
}
# Rolls back the last batch of migrations.
#
# Usage:
# dx migrate-rollback
# dx migrate-rollback --step=3
function laravel::migrate::rollback() {
artisan::exec migrate:rollback "$@"
}
# Shows the status of all migrations.
#
# Usage:
# dx migrate-status
function laravel::migrate::status() {
artisan::exec migrate:status "$@"
}
# Drops all tables and re-runs all migrations.
#
# Usage:
# dx migrate-fresh
function laravel::migrate::fresh() {
artisan::exec migrate:fresh "$@"
}