This commit is contained in:
rubemlrm 2025-10-21 21:10:50 -03:00 committed by GitHub
commit 0232de7940
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 75 additions and 0 deletions

24
plugins/goose/README.md Normal file
View file

@ -0,0 +1,24 @@
# Goose plugin
This plugin adds aliases for the [Goose](https://pressly.github.io/goose/)
To use it, add `goose` to the plugins array in your zshrc file:
```zsh
plugins=(... goose)
```
## Aliases
| Alias | Command | Description |
| ------ | ----------------------------| -----------------------------------------------------------------|
| gmu | `goose up` | Apply all available migrations |
| gubo | `goose up-by-one` | Migrate up a single migration from the current version |
| gmd | `goose down` | Roll back a single migration from the current version |
| gmr | `goose redo` | Roll back the most recently applied migration, then run it again |
| gms | `goose status` | Print the status of all migrations: |
| gmcs | `goose create migration sql`| Create a new SQL migration |
| gmcg | `goose create migration go` | Create a new Go Migration |
| gmut | `goose up-to <migration>` | Migrate up to a specific version` |
| gmdt | `goose down-to <migration>` | Roll back migrations to a specific version. |
| gmf | `goose fix` | Apply sequential ordering to migrations |

View file

@ -0,0 +1,51 @@
if (( ! $+commands[goose] )); then
echo "goose not found on Path"
return
fi
#========================#
# FUNCTIONS #
#========================#
function gmcs() {
if [ -z "$1" ]; then
echo "Must specify migration name"
return
fi
goose create $1 sql
}
function gmcg() {
if [ -z "$1" ]; then
echo "Must specify migration name"
return
fi
goose create $1 go
}
function gmut() {
if [ -z "$1" ]; then
echo "Must specify migration version"
return
fi
goose up-to $1
}
function gmdt() {
if [ -z "$1" ]; then
echo "Must specify migration version"
return
fi
goose down-to $1
}
#========================#
# ALIAS #
#========================#
alias gmu="goose up"
alias gmubo="goose up-by-one"
alias gmd="goose down"
alias gmr="goose redo"
alias gms="goose status"
alias gmv="goose version"