Skip to content

Commit

Permalink
selectのバグ取り,db試験用のDockerfile
Browse files Browse the repository at this point in the history
  • Loading branch information
mazrean committed Jun 11, 2020
1 parent 78e1dbc commit 26a0b03
Show file tree
Hide file tree
Showing 14 changed files with 538 additions and 12 deletions.
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
sqlboiler
docs
models
sample/docs/dbschema.md
models
sample/mysql/data
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ build:
statik -src template -f
go build -o sqlboiler
code: ./sample/sqlboiler.yaml
./sqlboiler code -c models -y sample/sqlboiler.yaml
./sqlboiler code -c sample/models -y sample/docs/sqlboiler.yaml
schema: ./sample/sqlboiler.yaml
./sqlboiler schema -s docs -y sample/sqlboiler.yaml
./sqlboiler schema -s sample/docs -y sample/docs/sqlboiler.yaml
all:
make code
make schema
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ require (
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.7.0
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 // indirect
golang.org/x/sys v0.0.0-20200610111108-226ff32320da // indirect
gopkg.in/ini.v1 v1.57.0 // indirect
gopkg.in/yaml.v2 v2.3.0
)
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,8 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980 h1:OjiUf46hAmXblsZdnoSXsEUSKU8r1UEzcL5RVZ4gO9Y=
golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200610111108-226ff32320da h1:bGb80FudwxpeucJUjPYJXuJ8Hk91vNtfvrymzwiei38=
golang.org/x/sys v0.0.0-20200610111108-226ff32320da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
Expand Down
30 changes: 30 additions & 0 deletions sample/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# syntax = docker/dockerfile:1.0-experimental

FROM golang:1.14.4-alpine AS build

RUN --mount=type=cache,target=/var/cache/apk apk add --update git

WORKDIR /go/src/github.com/titech-cpp/sqlboiler/sample
COPY go.* ./
RUN go mod download

COPY ./ ./
RUN --mount=type=cache,target=/root/.cache/go-build \
go build -o main -ldflags "-s -w"

FROM alpine:3.11.6 AS runtime

ENV DOCKERIZE_VERSION v0.6.1
RUN apk add --update tzdata && \
cp /usr/share/zoneinfo/Asia/Tokyo /Tokyo && \
apk del tzdata && \
rm -rf /var/cache/apk/* && \
mkdir -p /usr/share/zoneinfo/Asia && \
mv /Tokyo /usr/share/zoneinfo/Asia
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz && \
tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz && \
rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz

COPY --from=build /go/src/github.com/titech-cpp/sqlboiler/sample/main ./

ENTRYPOINT dockerize -wait tcp://mariadb:3306 ./main
20 changes: 20 additions & 0 deletions sample/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: "3"
services:
server:
build:
context: ./
dockerfile: ./Dockerfile
environment:
DB_USERNAME: root
DB_PASSWORD: pass
DB_HOSTNAME: mariadb
DB_PORT: 3306
DB_DATABASE: sqlboiler_sample
mariadb:
image: mariadb:10.5.2
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
environment:
MYSQL_ROOT_PASSWORD: pass
volumes:
- ./mysql/init:/docker-entrypoint-initdb.d
- ./mysql/data:/var/lib/mysql
91 changes: 91 additions & 0 deletions sample/docs/sqlboiler.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
db:
type: mysql
name: twitter-clone
tables:
users:
- name: id
type: int(11)
auto_increment: true
key: PRI
- name: name
type: varchar(32)
null: false
- name: password
type: char(128)
null: false
- name: created_at
type: datetime(6)
default: CURRENT_TIMESTAMP
null: false
- name: updated_at
type: datetime(6)
default: CURRENT_TIMESTAMP
null: false
messages:
- name: id
type: varchar(36)
key: PRI
- name: user_id
type: int(11)
null: false
foreign_key:
users: id
- name: content
type: text
null: false
- name: is_pinned
type: boolean
null: false
default: false
- name: created_at
type: datetime(6)
default: CURRENT_TIMESTAMP
null: false
- name: updated_at
type: datetime(6)
default: null
- name: deleted_at
type: datetime(6)
default: null
follow:
- name: id
type: int(11)
auto_increment: true
key: PRI
- name: user_id
type: int(11)
null: false
foreign_key:
users: id
- name: target_user_id
type: int(11)
null: false
foreign_key:
users: id
- name: created_at
type: datetime(6)
default: CURRENT_TIMESTAMP
null: false
- name: deleted_at
type: datetime(6)
default: null
favorite:
- name: id
type: int(11)
auto_increment: true
key: PRI
- name: user_id
type: int(11)
null: false
foreign_key:
users: id
- name: target_message_id
type: varchar(36)
null: false
- name: created_at
type: datetime(6)
default: CURRENT_TIMESTAMP
null: false
- name: deleted_at
type: datetime(6)
default: null
8 changes: 8 additions & 0 deletions sample/go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module github.com/titech-cpp/sqlboiler/sample

go 1.14

require (
github.com/go-sql-driver/mysql v1.5.0
github.com/titech-cpp/sqlboiler v0.0.0-20200611063416-78e1dbca601c
)
Loading

0 comments on commit 26a0b03

Please sign in to comment.