(快速參考)

Grails generate-all 指令

目的

Grails 中 generate-all 指令的目的是自動建立控制器、相關檢視和控制器單元測試,以供指定的網域類別使用。此指令簡化了為網域類別產生 CRUD (建立/讀取/更新/刪除) 介面的程序,節省開發人員的時間和精力。

以下是 generate-all 指令的一些使用範例

  1. 為特定網域類別產生 CRUD 工件,例如 org.bookstore.Book

    ./gradlew runCommand -Pargs="generate-all org.bookstore.Book"
  2. 使用萬用字元 (*) 為所有網域類別產生 CRUD 工件

    ./gradlew runCommand -Pargs="generate-all *"
  3. 不指定特定網域類別產生 CRUD 工件 (互動模式)

    ./gradlew runCommand -Pargs="generate-all"

說明

Grails framework 提供了一項強大的功能,稱為靜態腳手架,它簡化了為指定的網域類別產生完整的 CRUD 介面的程序。此介面包含一個負責處理 CRUD 作業的控制器,以及用於建立、讀取、更新和刪除記錄的檢視。但是,請務必注意,一旦產生這些工件,當基礎網域類別有變更時,它們不會自動更新。

generate-all 指令提供了解決方案,它會根據指定的網域類別產生針對 CRUD 量身打造的完整實作。此實作包含

  • 控制器:此控制器會處理 HTTP 要求,並管理與網域類別的互動。

  • 相關檢視:這些檢視負責呈現 CRUD 作業的使用者介面。

執行指令時,您可以彈性地提供網域類別名稱作為引數。或者,如果您省略引數,指令會互動式地提示您輸入要建立腳手架的網域類別名稱。

例如,如果您的網域類別是 org.bookstore.Book,執行 generate-all 指令會建立下列檔案

  • 控制器:grails-app/controllers/org/bookstore/BookController.groovy

  • 關聯檢視:grails-app/views/book

用法

./gradlew runCommand -Pargs="generate-all <<name>>"

參數

generate-all 指令接受下列參數

  • name - 此參數指定要為其產生 CRUD 介面的網域類別名稱。此參數會區分大小寫。此外,您可以使用萬用字元 (*) 作為參數,為 Grails 應用程式中的所有網域類別產生控制器和檢視。

旗標

此指令支援下列旗標

  • force - 此旗標控制指令是否覆寫現有檔案。如果啟用,現有檔案將會被新產生的檔案取代。

其他範例

  1. Author 網域類別產生 CRUD 工件

    ./gradlew runCommand -Pargs="generate-all org.bookstore.Author"
  2. 為所有網域類別產生 CRUD 工件,同時覆寫現有檔案

    ./gradlew runCommand -Pargs="generate-all * --force"

透過有效使用 generate-all 指令,開發人員可以在 Grails 應用程式中快速建立透過網路介面管理資料的基礎。