--- tags: Golang --- # Golang 筆記(1)-啟動golang ### §進入點 main() * admin server > server/admin.go ` go run ./Admin/admin.go` * api server (前台伺服器) * > server/api.go ` go run ./Api/api.go` * run 起來後,可以在playground看到資料及可用fn demo ### §環境設定檔 * 每個人的環境可能會不同,所以只有範例檔,需要自己設定 複製一份(這樣git push檔案才不會變動),把檔名example刪掉 > \XinMedia-XinAPI\.env.yml ### §建立自己的資料庫 [下載XAMPP](https://www.apachefriends.org/zh_tw/index.html) ![](https://miro.medium.com/max/904/1*9QeDW3TNKZJuM3uvqkz1iA.png) 按admin => 開啟php 圖形化資料庫界面 config可以改port(如果被佔了的話要改掉) ![](https://i.imgur.com/5g5aQgO.png) ### § clone專案及下載套件 `go mod download` ### § build 資料夾重建(因為是動態更新,所以是gitnore) ` go run ./scripts/artisan.go gql admin` ![](https://i.imgur.com/CwaUlaY.png) ### 建立TABLE及MIGRATE 1. 有多少個TABLE就要在資料庫建幾個 不然會報錯 D:\XinMedia-XinAPI\config\database.yml ``` DB_SOLOMO: dialect: 'mysql' database: 'xinmedia_solomo' //TABLE名稱 host: '127.0.0.1' port: '3306' user: 'root' password: '填入本機設定的密碼' ``` 2. 依照先前的設定部屬TABLE,RUN 指令: `go run ./scripts/artisan.go migrate up -e solomo` ### § 設定gql port: 設定開啟的port (可能撞port要改) cors: 設定可以跨域的網址 開了8080 下面就要設定 http://localhost:**8080** ![](https://i.imgur.com/v8cKAaZ.png) ### § playground 網址 http://localhost:8080/graphql/playground ### § 即時監控更新 `go run github.com/oxequa/realize start --name="admin"` 簡稱` realize start --name="admin"` 需先安裝套件 `go get github.com/oxequa/realize ` ### § 套件安裝 go get github.com/gobuffalo/pop/... 建立兩個資料庫: member& solomo go run ./scripts/artisan.go DB create -e solomo ### § 新增及刪除TABLE `go run .\scripts\artisan.go migrate down -e solomo` 做一步,刪最上面的 ![](https://i.imgur.com/M09l9v1.png) 版本號對應到 資料庫SCHEMA_MIGRATION TABLE ![](https://i.imgur.com/4dD2t1O.png) ----- ### § go 在C槽(安裝處)會有三個資料夾 * bin: 放打包好的執行檔,可以用指令執行 * pkg * src : 放專案,用go run啟動 ### go basic 參考資料 [golang git-book](https://github.com/astaxie/build-web-application-with-golang/blob/master/zh-tw/preface.md) 先看章節2 ![](https://i.imgur.com/imLNgmB.png) [golang orm 套件](https://gobuffalo.io/en/docs/db/getting-started/) [99design/gqlgen](https://gqlgen.com/) [Configure MAMP to use mariadb](https://stackoverflow.com/questions/6448883/configure-mamp-to-use-mariadb)