0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan4 halaman

CRUD Go Fiber MySQL Atlas Setup

Dokumen ini membahas cara membuat CRUD menggunakan Go, Fiber, MySQL, dan Atlas. Terdapat penjelasan tentang setup proyek, instalasi Atlas dan database, membuat entitas, migrasi database, dan setup koneksi database.

Diunggah oleh

taufik.rahman.1802
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan4 halaman

CRUD Go Fiber MySQL Atlas Setup

Dokumen ini membahas cara membuat CRUD menggunakan Go, Fiber, MySQL, dan Atlas. Terdapat penjelasan tentang setup proyek, instalasi Atlas dan database, membuat entitas, migrasi database, dan setup koneksi database.

Diunggah oleh

taufik.rahman.1802
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd

# BUILD CRUD USING GO, FIBER, MYSQL, AND ATLAS

## Setup Project

### Membuat Proyek Baru:

```bash
mkdir go-crud-fiber
cd go-crud-fiber
```

### Inisialisasi Proyek Go:

Inisialisasi proyek Go dengan menjalankan perintah berikut:

```bash
go mod init go-crud-fiber
```

### Instal Fiber:

```bash
go get -u [Link]/gofiber/fiber/v2
```

### Membuat File Utama:

Buat file utama untuk aplikasi Anda, misalnya [Link].

```bash
package main

import "[Link]/gofiber/fiber/v2"

func main() {
app := [Link]()

[Link]("/", func(c *[Link]) error {


return [Link]("Hello, World!")
})

[Link](":3000")
}
```

### Menjalankan Aplikasi:

Jalankan aplikasi dengan perintah:

```bash
go run .
```

atau

```bash
go run [Link]
```
## Instalasi Atlas

### Instal Atlas

```bash
curl -sSf [Link] | sh
```

### Mencek Instalasi Atlas

Untuk mencek instalasi Atlas sudah sukses atau tidak, bisa ketikkan
perintah berikut:

```bash
atlas version
```

## Setup Database

Pada contoh ini, saya menggunakan MySQL yang berjalan dengan docker

Jalankan perintah:

```bash
docker run --rm -d --name atlas-demo -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pass -e
MYSQL_DATABASE=example mysql
```

## Install Gorm & Membuat Entities

### Install Gorm

```bash
go get -u [Link]/gorm
go get -u [Link]/driver/mysql
```

### Membuat Entities

Buat folder dengan nama `entities` dan di dalamnya buat file `[Link]`

```go
package entities

import "time"

type Task struct {


ID uint `gorm:"primaryKey;autoIncrement" json:"id"`
TaskName string `json:"task_name"`
TaskDescription string `json:"task_description"`
CreatedAt [Link] `gorm:"autoCreateTime" json:"created_at"`
UpdatedAt [Link] `gorm:"autoUpdateTime" json:"updated_at"`
}
```

## Migration with Atlas dan Gorm

Ketikkan perintah berikut:


```bash
go get -u [Link]/atlas-provider-gorm
```

Selanjutnya fi root folder project, buat file `[Link]`

```atlas
data "external_schema" "gorm" {
program = [
"go",
"run",
"-mod=mod",
"[Link]/atlas-provider-gorm",
"load",
"--path", "./entities",
"--dialect", "mysql", // | postgres | sqlite | sqlserver
]
}

env "gorm" {
src = data.external_schema.[Link]
dev = "docker://mysql/8/dev"
migration {
dir = "[Link]
}
format {
migrate {
diff = "{{sql . \" \"}}"
}
}
}
```

Kemudian import `[Link]/atlas-provider-gorm/gormschema` di dalam file `[Link]`.


Lalu ketikkan perintah berikut:

```bash
go get [Link]/atlas-provider-gorm/gormschema
```

Buka kembali file `[Link]` dan tambahkan code berikut:

```go
stmts, err := [Link]("mysql").Load(&[Link]{})
if err != nil {
[Link]([Link], "failed to load gorm schema: %v\n", err)
[Link](1)
}
[Link]([Link], stmts)
```

Ketikkan perintah berikut di terminal:

```bash
atlas migrate diff --env gorm
```

Selanjutnya ketikkan berikut:


```bash
atlas migrate apply --env gorm -u
"mysql://root:supersecretpassword@localhost/crud"
```

## Setup Gorm Connection


Melakukan setup koneksi database dengan Gorm

Buat sebuah folder baru dengan nama `db` dan di dalamnya buat file dengan nama
`[Link]`

```go
package db

import (
"fmt"
"[Link]/driver/mysql"
"[Link]/gorm"
)

func DatabaseConnection() {
dsn := "root:supersecretpassword@tcp(localhost:3306)/go_atlas_crud"
db, err := [Link]([Link](dsn), &[Link]{})

if db != nil {
[Link]("Connection success")
}

if err != nil {
panic("failed to connect database")
}
}
```

Buka file `[Link]`, dan tambahkan code berikut:

```go
// koneksi database
[Link]()
```

Anda mungkin juga menyukai