Kmszk with GO

PHPとかJavascriptとかGolangとかVim関連とか書きそうな感じがしていたが、現状Golangだらけになっている。

gormでdeleted_atつけてソフトデリートにする

私はGo言語での開発ではモデル周りはgorm使っています。
ソフトデリート利用するときにちょっとハマって、デフォルトで0000-00-00 00:00:00が入ってしまう人のためのTips。

以下のように記述するとOK

package models

import (
    "time"
)

type Table struct {
    ID      int
    CreatedAt       time.Time
    UpdatedAt       time.Time
    DeletedAt       *time.Time
}

DeletedAtだけ*time.Timeになることに注意。

デフォルトでカラムにnull以外が入っているとgormのソフトデリート的には削除済み扱いになってしまうみたいです。