Go語言根據數據表自動生成model以及controller代碼


這里僅說明自動生成model文件的過程

  • bee generate appcode -tables="bg_api_log" -conn="root:root@tcp(127.0.0.1:3306)/beego_api" -level=3
該命令基於 127.0.0.1 服務器上的beego_api數據庫中的bg_api_log表自動生成model、controller文件,以及覆蓋路由。
如果之前有同名的model或者controller文件,會在執行的過程總詢問你是否覆蓋,
最后會詢問是否覆蓋路由,建議選擇NO, 然后手動添加路由,否則會將以前的路由清空,只保留最新生成的路由。

在這里,我只想要model文件,於是可以設置參數 -level=1, // 1 = models; 2 = models,controllers; 3 = models,controllers,router
  • 以下是關於 generate命令的其他用法
generate 命令
這個命令是用來自動化的生成代碼的,包含了從數據庫一鍵生成 model,還包含了 scaffold 的,通過這個命令,讓大家開發代碼不再慢

    bee generate scaffold [scaffoldname] [-fields=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"]   
    // 此處是一個批處理命令,生成model,controller、view、doc以及生成數據遷移文件,並進行數據遷移
    // The generate scaffold command will do a number of things for you.
    // -fields: a list of table fields. Format: field:type, ...
    // -driver: [mysql | postgres | sqlite], the default is mysql
    // -conn:   the connection string used by the driver, the default is root:@tcp(127.0.0.1:3306)/test
    
    例子: bee generate scaffold post -fields="title:string,body:text" -conn="root:root@tcp(127.0.0.1:3306)/beego_api"
    例子中的命令會 根據-fields="title:string,body:text" 來創建model,controller、view、以及生成數據遷移文件,並進行數據遷移(即在數據庫中生成對應的數據表)。以上操作都會詢問yes或者no

bee generate model [modelname] [-fields=""]     // 根據fields列表來生成model文件
    // generate RESTful model based on fields
    // -fields: a list of table fields. Format: field:type, ...

bee generate controller [controllerfile]       // 生成controller文件(根據對應的model文件)
    // generate RESTful controllers

bee generate view [viewpath]                   // 生成view文件,
    // generate CRUD view in viewpath

bee generate migration [migrationfile] [-fields=""]        // 生成數據遷移文件
    // generate migration file for making database schema update
    // -fields: a list of table fields. Format: field:type, ...

bee generate docs                             // 生成文檔
    // generate swagger doc file

bee generate test [routerfile]                // 根據路由生成測試用例(沒試過)
    // generate testcase

bee generate appcode [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-level=3]    // 這里就是文章介紹的,根據數據表生成model文件等
    // generate appcode based on an existing database
    // -tables: a list of table names separated by ',', default is empty, indicating all tables
    // -driver: [mysql | postgres | sqlite], the default is mysql
    // -conn:   the connection string used by the driver.
    //         default for mysql:    root:@tcp(127.0.0.1:3306)/test
    //         default for postgres: postgres://postgres:postgres@127.0.0.1:5432/postgres
    // -level:  [1 | 2 | 3], 1 = models; 2 = models,controllers; 3 = models,controllers,router


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM