浏览代码

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>
Alexey Poimtsev 3 年之前
父节点
当前提交
3075d0c0ab
共有 2 个文件被更改,包括 113 次插入68 次删除
  1. 68 43
      plugins/rails/README.md
  2. 45 25
      plugins/rails/rails.plugin.zsh

+ 68 - 43
plugins/rails/README.md

@@ -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` |

+ 45 - 25
plugins/rails/rails.plugin.zsh

@@ -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 )"