pemrograman

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.

version: '3.6'

services:
  mysql:
    container_name: article-mysql
    platform: linux/amd64
    image: mysql
    restart: always
    ports: 
      - "3306:3306"
    volumes:
      - ./.db:/var/lib/mysql
    environment:
      - MYSQL_DATABASE=article
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_USER=development
      - MYSQL_PASSWORD=d3v3l0pm3nt
    networks:
      - article-network

networks:
  article-network:
    driver: bridge

Lalu kita eksekusi docker-compose tersebut dengan perintah

docker-compose up -d

Jika sukses akan terlihat docker yg kita sudah up statusnya dengan perintah

docker ps -a
➜  learn-golang-restful git:(main) ✗ docker ps -a
CONTAINER ID   IMAGE                               COMMAND                  CREATED         STATUS                       PORTS                               NAMES
ab982e116f72   mysql                               "docker-entrypoint.s…"   5 minutes ago   Up 4 minutes                 0.0.0.0:3306->3306/tcp, 33060/tcp   article-mysql

Lalu 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.

create table articles(
  id integer primary key auto_increment,
  title varchar(255) not null,
  content varchar(255) not null,
  create_at datetime not null,
  update_at datetime not null
) engine = InnoDB;

Jika ingin mencoba query bisa langsung pada Database manager-nya dengan membuat query seperti ini.

select * from articles

Yang mana jika kita eksekusi hasilnya masih kosong karena kita belum mengisi data ke dalam tabel tersebut.

comments powered by Disqus