土曜:5h
- gormの規約
- ストラクト名がテーブル名になる(キャメルケースはスネークケースにマッピングされる)→MemberID→member_id
user-first.ikyu.co.jp
func main() {
db, err := databases.Connect() // *gorm.DBが返却される
defer db.Close()
if err != nil {
log.Fatal(err)
}
db.Debug().AutoMigrate(&models.BtcJpyS{}) //AutoMigrate(モデル)でマイグレーションする
db.Debug().AutoMigrate(&models.BtcJpyM{})
db.Debug().AutoMigrate(&models.BtcJpyH{})
db.Debug().AutoMigrate(&models.SignalEvents{})
}
AutoMigrate
にモデルを入れてgo run utils/migrate
でマイグレーション実行するとテーブルが作成できる
golangのDB操作が全然できていないことを再確認
- orマッパーとgoの標準?の操作も明日を使って習得する
日曜:5h
月曜:11h
火曜:11h
- Issueを1つ消化(レイヤードアーキ)
- Issueを4つほど登録
水曜:11h
- 個人開発(go)
- 1h,1m,1sそれぞれのテーブルにbitcoin情報を格納するまではできた。と思ったらtimeフィールドに現在時間しか入らない・・・なぜ・・・
木曜:11h
- 昨日の状況の調査を引き続き・・・
金曜:11h
- 解決ー。問題はMySQL側にあった。MySQL5.7では
timestamp型
のデフォルト値を指定しないとinsert時の時刻がフィールドの値として登録されてしまう。
- テーブル定義を以下のようにdefault値を追加して対応
-- +migrate Up
CREATE TABLE IF NOT EXISTS `SIGNAL_EVENTS` (
`time` TIMESTAMP PRIMARY KEY NOT NULL,
`product_code` VARCHAR(50),
`side` VARCHAR(10),
`price` float,
`size` float
);
-- +migrate Down
DROP TABLE IF EXISTS `SIGNAL_EVENTS`;
週次報告
- 年間(2019/8~2020/8)目標時間(業務での設計・実装含む):3380h
- 今週を含む累積時間:2860h
- 週次目標時間:65h
- 週次実績時間:65h
- 何を得たか:flutter基礎・capreseデプロイ検討・関数型プログラミングおさらい
- 何が必要か:golang基礎・認証の知見・Nuxt・React・テスト手法の取得・k8s基礎
- 来週の目標:k8s,golang進める