From 2518e2af1a6343fa85874ffb00d70b98aac59a98 Mon Sep 17 00:00:00 2001 From: OriishiTakahiro Date: Sun, 13 May 2018 17:47:54 +0900 Subject: [PATCH] change db scheme --- mochiya98/controller/message.go | 11 +++++++++++ mochiya98/migrations/1_create_message_table.sql | 1 + mochiya98/model/message.go | 11 ++++++----- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/mochiya98/controller/message.go b/mochiya98/controller/message.go index 890d678..db4bfe8 100644 --- a/mochiya98/controller/message.go +++ b/mochiya98/controller/message.go @@ -5,6 +5,8 @@ import ( "errors" "net/http" + "log" + "github.com/VG-Tech-Dojo/vg-1day-2018-05-13/mochiya98/httputil" "github.com/VG-Tech-Dojo/vg-1day-2018-05-13/mochiya98/model" "github.com/gin-gonic/gin" @@ -18,7 +20,16 @@ type Message struct { // All は全てのメッセージを取得してJSONで返します func (m *Message) All(c *gin.Context) { + + rows, err := m.DB.Query(`select id, body, type, username from message`) + log.Println(rows) + log.Println(err) + + msgs, err := model.MessagesAll(m.DB) + log.Println(msgs) + log.Println(model.Message{}) + if err != nil { resp := httputil.NewErrorResponse(err) c.JSON(http.StatusInternalServerError, resp) diff --git a/mochiya98/migrations/1_create_message_table.sql b/mochiya98/migrations/1_create_message_table.sql index f867bf8..6c4e4c2 100644 --- a/mochiya98/migrations/1_create_message_table.sql +++ b/mochiya98/migrations/1_create_message_table.sql @@ -3,6 +3,7 @@ CREATE TABLE message ( id INTEGER NOT NULL PRIMARY KEY, body TEXT NOT NULL DEFAULT "", username TEXT NOT NULL DEFAULT "", + msgtype INTEGER NOT NULL DEFAULT 0, created TIMESTAMP NOT NULL DEFAULT (DATETIME('now', 'localtime')), updated TIMESTAMP NOT NULL DEFAULT (DATETIME('now', 'localtime')) ); diff --git a/mochiya98/model/message.go b/mochiya98/model/message.go index 2f14c71..423dad9 100644 --- a/mochiya98/model/message.go +++ b/mochiya98/model/message.go @@ -8,6 +8,7 @@ import ( type Message struct { ID int64 `json:"id"` Body string `json:"body"` + Msgtype int64 `json:"type"` UserName string `json:"username"` } @@ -15,7 +16,7 @@ type Message struct { func MessagesAll(db *sql.DB) ([]*Message, error) { // Tutorial 1-1. ユーザー名を表示しよう - rows, err := db.Query(`select id, body, username from message`) + rows, err := db.Query(`select id, body, msgtype, username from message`) if err != nil { return nil, err } @@ -25,7 +26,7 @@ func MessagesAll(db *sql.DB) ([]*Message, error) { for rows.Next() { m := &Message{} // Tutorial 1-1. ユーザー名を表示しよう - if err := rows.Scan(&m.ID, &m.Body, &m.UserName); err != nil { + if err := rows.Scan(&m.ID, &m.Body, &m.Msgtype, &m.UserName); err != nil { return nil, err } ms = append(ms, m) @@ -42,7 +43,7 @@ func MessageByID(db *sql.DB, id string) (*Message, error) { m := &Message{} // Tutorial 1-1. ユーザー名を表示しよう - if err := db.QueryRow(`select id, body, username from message where id = ?`, id).Scan(&m.ID, &m.Body, &m.UserName); err != nil { + if err := db.QueryRow(`select id, body, msgtype, username from message where id = ?`, id).Scan(&m.ID, &m.Body, &m.Msgtype, &m.UserName); err != nil { return nil, err } @@ -52,7 +53,7 @@ func MessageByID(db *sql.DB, id string) (*Message, error) { // Insert はmessageテーブルに新規データを1件追加します func (m *Message) Insert(db *sql.DB) (*Message, error) { // Tutorial 1-2. ユーザー名を追加しよう - res, err := db.Exec(`insert into message (body, username) values (?, ?)`, m.Body, m.UserName) + res, err := db.Exec(`insert into message (body, username, msgtype) values (?, ?, ?)`, m.Body, m.UserName, m.Msgtype) if err != nil { return nil, err } @@ -64,7 +65,7 @@ func (m *Message) Insert(db *sql.DB) (*Message, error) { return &Message{ ID: id, Body: m.Body, - // Tutorial 1-2. ユーザー名を追加しよう + Msgtype: m.Msgtype, UserName: m.UserName, }, nil }