golangのお勉強14+goa
goagen jsでcreateしてみる
jsのキャッシュ
どうも、うまく変更が反映されない。
require.jsのキャッシュかな。
自動採番
なぜか自動採番がうまく動かない?
キャッシュで反映されていないだけかも。。
どうせなので調べる。
結局はたぶんキャッシュで、むしろ基本が自動採番らしい。
ついでに知ったのは型を再定義できるらしい。へー。。
Golangのgormで、PrimaryKeyにUUIDを使う - Qiita
http://qiita.com/roothybrid7/items/dc58bae01f941e1a72be
Primarykeyの型をintなどにしてしまうと、Auto increment固定なのが困るところです。
...
type キーワードを使って組み込み型を再定義?できるので、UUIDという独自タイプを定義します。
自動採番じゃなくする場合。多分mysqlかな。
GORM で AUTO_INCREMENT でないプライマリキーを作成する - Qiita
http://qiita.com/tchssk/items/2b235a381a7970b62a0a
キャッシュについては下記だが、、js自体が自動生成されるので毎回つけることになるのかな。。うーむ。
github.com/goadesign/goa/goagen/gen_js/generator.go
にジェネレートする内容は記載があるので、
フォークしたリポジトリをオレオレ更新するとか?うーむ。。
というか、この部分はどうせ吐き出したものを、そのまま使う箇所ではないか。。
うーん、どうしようか。
Memo, [JavaScript] RequireJSで読みこむファイルのキャッシュ対策 « イナヅマTVログ
http://www.inazumatv.com/contents/archives/8149
DSLでタグをつける
Grailsというフレームワークではタグでシーケンス作成を指定するようにしているらしい。
gormaではtags()のコードを見たところ、DSLでは自由にタグはつけられない気がする。。どうだろう。
あ、sqltagはメソッドが用意されてているので、それでいいのかな。
gormのタグはつけられないけど。
func tags(f *RelationalFieldDefinition) string {
var sqltags []string
if f.SQLTag != "" {
sqltags = append(sqltags, f.SQLTag)
}
var gormtags []string
if f.DatabaseFieldName != "" && f.DatabaseFieldName != f.Underscore() {
gormtags = append(gormtags, "column:"+f.DatabaseFieldName)
}
if f.PrimaryKey {
gormtags = append(gormtags, "primary_key")
}
if f.Many2Many != "" {
gormtags = append(gormtags, "many2many:"+f.TableName)
}
var tags []string
if len(sqltags) > 0 {
sqltag := "sql:\"" + strings.Join(sqltags, ";") + "\""
tags = append(tags, sqltag)
}
if len(gormtags) > 0 {
gormtag := "gorm:\"" + strings.Join(gormtags, ";") + "\""
tags = append(tags, gormtag)
}
if len(tags) > 0 {
return "`" + strings.Join(tags, " ") + "`"
}
return ""
}
Grails 3.2.0 GORM does not create sequences for PostgreSQL · Issue #10234 · grails/grails-core
https://github.com/grails/grails-core/issues/new
GrailsのGORMとID管理とPostgreSQLのシーケンス - 豆無日記
http://nobeans.hatenablog.com/entry/20091030/1256896937
gormのデータ型
gorm.AutoIntegerという型指定も用意されていたが、、primary指定できなかったので使うのをやめておく。
データ型
https://www.postgresql.jp/document/8.1/html/datatype.html
一応、UUIDも使ってみた。場合によっては検討か。。
serial型とシーケンス作成はほぼ同じというのはわかってるけど、
UUIDのことはあまりわかってない気がする。
- 予測しにくい方がいい時にはUUID
- 容量はUUIDの方がくう
Golangのgormで、PrimaryKeyにUUIDを使う - Qiita
http://qiita.com/roothybrid7/items/dc58bae01f941e1a72be
DSL
DSLの実装例
goa の API デザインの書き方 後編 (Resource と Payload) - 押してダメならふて寝しろ
http://ikawaha.hateblo.jp/entry/2016/09/14/194237
chat api
goaとxoでchat apiを作ってみた。 - Qiita
http://qiita.com/m0a/items/ab26b5d92b714860c909
気になるtrait
· goa :: Design-first API Generation
https://goa.design/reference/goa/design/apidsl/#func-trait-a-name-apidsl-trait-a
putかpostかを(また)考える
PUT か POST か PATCH か? - Qiita
http://qiita.com/suin/items/d17bdfc8dba086d36115
冪等性か。。ひとまずプロトタイピングでputでやってみてあとから調整しつつ考えよう。
Author And Source
この問題について(golangのお勉強14+goa), 我々は、より多くの情報をここで見つけました https://qiita.com/bonk/items/3ec83d17b763d7e9a4b8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .