feat(rails)!: run old rake aliases with rails (#9601)

BREAKING CHANGE: we've updated the aliases that run `rake` to use
`rails` instead because that's how they are run since Rails v5.
The old `rake` aliases can still be run by using the `rk` prefix
(e.g. the `rake test` alias has been changed from `rt` to `rkt`).

Closes #9601
Closes #9813
Fixes #10696

Co-authored-by: Vsevolod Voloshyn <seva.voloshin@gmail.com>
This commit is contained in:
Alexey Poimtsev 2021-01-15 22:23:15 +03:00 committed by Marc Cornellà
parent 4f0b680248
commit 3075d0c0ab
2 changed files with 113 additions and 68 deletions

View file

@ -12,47 +12,46 @@ plugins=(... rails)
### Rails aliases
| Alias | Command | Description |
|-------|----------------------------|----------------------------------------------------|
| `rc` | `rails console` | Interact with your Rails app from the CLI |
| `rcs` | `rails console --sandbox` | Test code in a sandbox, without changing any data |
| `rd` | `rails destroy` | Undo a generate operation |
| `rdb` | `rails dbconsole` | Interact with your db from the console |
| `rgen`| `rails generate` | Generate boilerplate code |
| `rgm` | `rails generate migration` | Generate a db migration |
| `rp` | `rails plugin` | Run a Rails plugin command |
| `rr` | `rails routes` | List all defined routes |
| `rrg` | `rails routes \| grep` | List and filter the defined routes |
| `ru` | `rails runner` | Run Ruby code in the context of Rails |
| `rs` | `rails server` | Launch a web server |
| `rsd` | `rails server --debugger` | Launch a web server with debugger |
| `rsp` | `rails server --port` | Launch a web server and specify the listening port |
### Rake aliases
| Alias | Command | Description |
|---------|---------------------------------|--------------------------------------------------------|
| `rdm` | `rake db:migrate` | Run pending db migrations |
| `rdms` | `rake db:migrate:status` | Show current db migration status |
| `rdmtc` | `rake db:migrate db:test:clone` | Run pending migrations and clone db into test database |
| `rdr` | `rake db:rollback` | Roll back the last migration |
| `rdc` | `rake db:create` | Create the database |
| `rds` | `rake db:seed` | Seed the database |
| `rdd` | `rake db:drop` | Delete the database |
| `rdrs` | `rake db:reset` | Delete the database and set it up again |
| `rdtc` | `rake db:test:clone` | Clone the database into the test database |
| `rdtp` | `rake db:test:prepare` | Duplicate the db schema into your test database |
| `rdsl` | `rake db:schema:load` | Load the database schema |
| `rlc` | `rake log:clear` | Clear Rails logs |
| `rn` | `rake notes` | Search for notes (`FIXME`, `TODO`) in code comments |
| `rt` | `rake test` | Run Rails tests |
| `rmd` | `rake middleware` | Interact with Rails middlewares |
| `rsts` | `rake stats` | Print code statistics |
| Alias | Command | Description |
| ------- | -------------------------------- | ------------------------------------------------------ |
| `rc` | `rails console` | Interact with your Rails app from the CLI |
| `rcs` | `rails console --sandbox` | Test code in a sandbox, without changing any data |
| `rd` | `rails destroy` | Undo a generate operation |
| `rdb` | `rails dbconsole` | Interact with your db from the console |
| `rdc` | `rails db:create` | Create the database |
| `rdd` | `rails db:drop` | Delete the database |
| `rdm` | `rails db:migrate` | Run pending db migrations |
| `rdmd` | `rails db:migrate:down` | Undo specific db migration |
| `rdmr` | `rails db:migrate:redo` | Redo specific db migration |
| `rdms` | `rails db:migrate:status` | Show current db migration status |
| `rdmtc` | `rails db:migrate db:test:clone` | Run pending migrations and clone db into test database |
| `rdmu` | `rails db:migrate:up` | Run specific db migration |
| `rdr` | `rails db:rollback` | Roll back the last migration |
| `rdrs` | `rails db:reset` | Delete the database and set it up again |
| `rds` | `rails db:seed` | Seed the database |
| `rdsl` | `rails db:schema:load` | Load the database schema |
| `rdtc` | `rails db:test:clone` | Clone the database into the test database |
| `rdtp` | `rails db:test:prepare` | Duplicate the db schema into your test database |
| `rgen` | `rails generate` | Generate boilerplate code |
| `rgm` | `rails generate migration` | Generate a db migration |
| `rlc` | `rails log:clear` | Clear Rails logs |
| `rmd` | `rails middleware` | Interact with Rails middlewares |
| `rn` | `rails notes` | Search for notes (`FIXME`, `TODO`) in code comments |
| `rp` | `rails plugin` | Run a Rails plugin command |
| `rr` | `rails routes` | List all defined routes |
| `rrg` | `rails routes \| grep` | List and filter the defined routes |
| `rs` | `rails server` | Launch a web server |
| `rsb` | `rails server --bind` | Launch a web server binding it to a specific IP |
| `rsd` | `rails server --debugger` | Launch a web server with debugger |
| `rsp` | `rails server --port` | Launch a web server and specify the listening port |
| `rsts` | `rails stats` | Print code statistics |
| `rt` | `rails test` | Run Rails tests |
| `ru` | `rails runner` | Run Ruby code in the context of Rails |
### Utility aliases
| Alias | Command | Description |
|-----------|-------------------------------|------------------------------------------------|
| --------- | ----------------------------- | ---------------------------------------------- |
| `devlog` | `tail -f log/development.log` | Show and follow changes to the development log |
| `prodlog` | `tail -f log/production.log` | Show and follow changes to the production log |
| `testlog` | `tail -f log/test.log` | Show and follow changes to the test log |
@ -60,7 +59,7 @@ plugins=(... rails)
### Environment settings
| Alias | Command | Description |
|-------|-------------------------|---------------------------------|
| ----- | ----------------------- | ------------------------------- |
| `RED` | `RAILS_ENV=development` | Sets `RAILS_ENV` to development |
| `REP` | `RAILS_ENV=production` | Sets `RAILS_ENV` to production |
| `RET` | `RAILS_ENV=test` | Sets `RAILS_ENV` to test |
@ -68,15 +67,41 @@ plugins=(... rails)
These are global aliases. Use in combination with a command or just run them
separately. For example: `REP rake db:migrate` will migrate the production db.
### Legacy rake aliases
The following commands are run [using `rails` instead of `rake` since Rails v5][1], but are preserved under the
prefix `rk` for backwards compatibility.
[1]: https://guides.rubyonrails.org/v5.2/command_line.html#bin-rails
| Alias | Command | Description |
| -------- | ------------------------------- | ------------------------------------------------------ |
| `rkdc` | `rake db:create` | Create the database |
| `rkdd` | `rake db:drop` | Delete the database |
| `rkdm` | `rake db:migrate` | Run pending db migrations |
| `rkdms` | `rake db:migrate:status` | Show current db migration status |
| `rkdmtc` | `rake db:migrate db:test:clone` | Run pending migrations and clone db into test database |
| `rkdr` | `rake db:rollback` | Roll back the last migration |
| `rkdrs` | `rake db:reset` | Delete the database and set it up again |
| `rkds` | `rake db:seed` | Seed the database |
| `rkdsl` | `rake db:schema:load` | Load the database schema |
| `rkdtc` | `rake db:test:clone` | Clone the database into the test database |
| `rkdtp` | `rake db:test:prepare` | Duplicate the db schema into your test database |
| `rklc` | `rake log:clear` | Clear Rails logs |
| `rkmd` | `rake middleware` | Interact with Rails middlewares |
| `rkn` | `rake notes` | Search for notes (`FIXME`, `TODO`) in code comments |
| `rksts` | `rake stats` | Print code statistics |
| `rkt` | `rake test` | Run Rails tests |
### Legacy stuff
| Alias | Command |
|---------|------------------------------------|
| `sstat` | `thin --stats "/thin/stats" start` |
| `sg` | `ruby script/generate` |
| ------- | ---------------------------------- |
| `sc` | `ruby script/console` |
| `sd` | `ruby script/destroy` |
| `sd` | `ruby script/server --debugger` |
| `sg` | `ruby script/generate` |
| `sp` | `ruby script/plugin` |
| `sr` | `ruby script/runner` |
| `ssp` | `ruby script/spec` |
| `sc` | `ruby script/console` |
| `sd` | `ruby script/server --debugger` |
| `sstat` | `thin --stats "/thin/stats" start` |

View file

@ -43,47 +43,67 @@ alias rc='rails console'
alias rcs='rails console --sandbox'
alias rd='rails destroy'
alias rdb='rails dbconsole'
alias rdc='rails db:create'
alias rdd='rails db:drop'
alias rdm='rails db:migrate'
alias rdmd='rails db:migrate:down'
alias rdmr='rails db:migrate:redo'
alias rdms='rails db:migrate:status'
alias rdmtc='rails db:migrate db:test:clone'
alias rdmu='rails db:migrate:up'
alias rdr='rails db:rollback'
alias rdrs='rails db:reset'
alias rds='rails db:seed'
alias rdsl='rails db:schema:load'
alias rdtc='rails db:test:clone'
alias rdtp='rails db:test:prepare'
alias rgen='rails generate'
alias rgm='rails generate migration'
alias rlc='rails log:clear'
alias rmd='rails middleware'
alias rn='rails notes'
alias rp='rails plugin'
alias rr='rails routes'
alias rrg='rails routes | grep'
alias ru='rails runner'
alias rs='rails server'
alias rsb='rails server --bind'
alias rsd='rails server --debugger'
alias rsp='rails server --port'
alias rsb='rails server --bind'
alias rsts='rails stats'
alias rt='rails test'
alias ru='rails runner'
# Rake aliases
alias rdm='rake db:migrate'
alias rdmr='rake db:migrate:redo'
alias rdmd='rake db:migrate:down'
alias rdms='rake db:migrate:status'
alias rdmu='rake db:migrate:up'
alias rdr='rake db:rollback'
alias rdc='rake db:create'
alias rds='rake db:seed'
alias rdd='rake db:drop'
alias rdrs='rake db:reset'
alias rdtc='rake db:test:clone'
alias rdtp='rake db:test:prepare'
alias rdmtc='rake db:migrate db:test:clone'
alias rdsl='rake db:schema:load'
alias rlc='rake log:clear'
alias rn='rake notes'
alias rt='rake test'
alias rmd='rake middleware'
alias rsts='rake stats'
alias rkdc='rake db:create'
alias rkdd='rake db:drop'
alias rkdm='rake db:migrate'
alias rkdmd='rake db:migrate:down'
alias rkdmr='rake db:migrate:redo'
alias rkdms='rake db:migrate:status'
alias rkdmtc='rake db:migrate db:test:clone'
alias rkdmu='rake db:migrate:up'
alias rkdr='rake db:rollback'
alias rkdrs='rake db:reset'
alias rkds='rake db:seed'
alias rkdsl='rake db:schema:load'
alias rkdtc='rake db:test:clone'
alias rkdtp='rake db:test:prepare'
alias rklc='rake log:clear'
alias rkmd='rake middleware'
alias rkn='rake notes'
alias rksts='rake stats'
alias rkt='rake test'
# legacy stuff
alias sstat='thin --stats "/thin/stats" start'
alias sg='ruby script/generate'
alias sc='ruby script/console'
alias sd='ruby script/destroy'
alias sd='ruby script/server --debugger'
alias sg='ruby script/generate'
alias sp='ruby script/plugin'
alias sr='ruby script/runner'
alias ssp='ruby script/spec'
alias sc='ruby script/console'
alias sd='ruby script/server --debugger'
alias sstat='thin --stats "/thin/stats" start'
function remote_console() {
/usr/bin/env ssh $1 "( cd $2 && ruby script/console production )"