03 Membuat Database pada MySQL Golang
Pada tahap ini kita akan mencoba membuat database pada MySQL untuk persiapan membuat tabel-nya juga akan nantinya kita gunakan untuk membuat API dengan data yang ada pada database. Sebelumnya jika teman-teman belum punya MySQL pada komputer atau laptop maka persiapkan terlebih dahulu instal MySQL dan Database Editornya bisa menggunakan DBeaver, MySQL Workbench atau yang biasa teman-teman pakai untuk management database.
Agar lebih mudah pembuatan database jika tidak punya maka kita pun bisa membuat database MySQL dengan menggunakan Docker dengan buat file docker-compose.yaml seperti dibawah ini.
1version: '3.6'
2
3services:
4 mysql:
5 container_name: article-mysql
6 platform: linux/amd64
7 image: mysql
8 restart: always
9 ports:
10 - "3306:3306"
11 volumes:
12 - ./.db:/var/lib/mysql
13 environment:
14 - MYSQL_DATABASE=article
15 - MYSQL_ROOT_PASSWORD=root
16 - MYSQL_USER=development
17 - MYSQL_PASSWORD=d3v3l0pm3nt
18 networks:
19 - article-network
20
21networks:
22 article-network:
23 driver: bridgeLalu kita eksekusi docker-compose tersebut dengan perintah
1docker-compose up -dJika sukses akan terlihat docker yg kita sudah up statusnya dengan perintah
1docker ps -a1➜ learn-golang-restful git:(main) ✗ docker ps -a
2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ab982e116f72 mysql "docker-entrypoint.s…" 5 minutes ago Up 4 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp article-mysqlLalu kita masuk ke dalam database tersebut dengan user dan password yang ada pada file docker-compose.yaml dan akan terlihat database-nya itu bernama article. Selanjutnya kita perlu membuat dengan nama tabel article dengan perintah SQL seperti ini.
1create table articles(
2 id integer primary key auto_increment,
3 title varchar(255) not null,
4 content varchar(255) not null,
5 create_at datetime not null,
6 update_at datetime not null
7) engine = InnoDB;Jika ingin mencoba query bisa langsung pada Database manager-nya dengan membuat query seperti ini.
1select * from articlesYang mana jika kita eksekusi hasilnya masih kosong karena kita belum mengisi data ke dalam tabel tersebut.