./gradlew runCommand -Pargs="generate-all org.bookstore.Book"
Grails generate-all
指令
目的
Grails 中 generate-all
指令的目的是自動建立控制器、相關檢視和控制器單元測試,以供指定的網域類別使用。此指令簡化了為網域類別產生 CRUD (建立/讀取/更新/刪除) 介面的程序,節省開發人員的時間和精力。
以下是 generate-all 指令的一些使用範例
-
為特定網域類別產生 CRUD 工件,例如 org.bookstore.Book
-
使用萬用字元 (*) 為所有網域類別產生 CRUD 工件
./gradlew runCommand -Pargs="generate-all *"
-
不指定特定網域類別產生 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
- 此旗標控制指令是否覆寫現有檔案。如果啟用,現有檔案將會被新產生的檔案取代。
其他範例
-
為
Author
網域類別產生 CRUD 工件./gradlew runCommand -Pargs="generate-all org.bookstore.Author"
-
為所有網域類別產生 CRUD 工件,同時覆寫現有檔案
./gradlew runCommand -Pargs="generate-all * --force"
透過有效使用 generate-all
指令,開發人員可以在 Grails 應用程式中快速建立透過網路介面管理資料的基礎。