Skip to content

Commit 11de800

Browse files
committed
initial commit
1 parent 3dd5253 commit 11de800

File tree

2 files changed

+45
-4
lines changed

2 files changed

+45
-4
lines changed

Readme.txt

+25
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,28 @@ Stack :
88
2. Gorm
99
3. Viper
1010
4. Fiber
11+
12+
setelah running pastikan table logs telah terbentuk dalam database yang telah didaftarkan
13+
dan sesuaikan dengan struktur berikut :
14+
15+
CREATE TABLE LOGS (
16+
id INT AUTO_INCREMENT,
17+
LEVEL VARCHAR(10),
18+
message TEXT,
19+
created_at DATETIME,
20+
PRIMARY KEY (id, created_at)
21+
) ENGINE=INNODB PARTITION BY RANGE (TO_DAYS(created_at)) (
22+
PARTITION p0 VALUES LESS THAN (TO_DAYS('2023-01-01')),
23+
PARTITION p1 VALUES LESS THAN (TO_DAYS('2023-02-01')),
24+
PARTITION p2 VALUES LESS THAN (TO_DAYS('2023-03-01')),
25+
PARTITION p3 VALUES LESS THAN (TO_DAYS('2023-04-01')),
26+
PARTITION p4 VALUES LESS THAN (TO_DAYS('2023-05-01')),
27+
PARTITION p5 VALUES LESS THAN (TO_DAYS('2023-06-01')),
28+
PARTITION p6 VALUES LESS THAN (TO_DAYS('2023-07-01')),
29+
PARTITION p7 VALUES LESS THAN (TO_DAYS('2023-08-01')),
30+
PARTITION p8 VALUES LESS THAN (TO_DAYS('2023-09-01')),
31+
PARTITION p9 VALUES LESS THAN (TO_DAYS('2023-10-01')),
32+
PARTITION p10 VALUES LESS THAN (TO_DAYS('2023-11-01')),
33+
PARTITION p11 VALUES LESS THAN (TO_DAYS('2023-12-01'))
34+
);
35+
CREATE INDEX idx_created_at ON LOGS (created_at);

main.go

+20-4
Original file line numberDiff line numberDiff line change
@@ -66,22 +66,33 @@ func registerRoutes(api fiber.Router) {
6666
var request models.QueryRequest
6767
err := c.BodyParser(&request)
6868
if err != nil {
69-
log.Fatal(err)
69+
log.Println(err)
7070
}
7171

7272
query := request.Query
7373

7474
// Execute Query
7575
rows, err := models.DB.Raw(query).Rows()
7676
if err != nil {
77-
log.Fatal(err)
77+
log.Println(err)
78+
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
79+
"code": fiber.StatusInternalServerError,
80+
"message": "Error, Pastikan kembali SQL query Anda!",
81+
"data": nil,
82+
})
7883
}
84+
7985
defer rows.Close()
8086

8187
// ambil nama column names dari query result
8288
columns, err := rows.Columns()
8389
if err != nil {
84-
log.Fatal(err)
90+
log.Println(err)
91+
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
92+
"code": fiber.StatusInternalServerError,
93+
"message": "Error pembacaan nama column",
94+
"data": nil,
95+
})
8596
}
8697

8798
// buat slice dan simpan sebagai query result
@@ -99,7 +110,12 @@ func registerRoutes(api fiber.Router) {
99110

100111
err := rows.Scan(valuePointers...)
101112
if err != nil {
102-
log.Fatal(err)
113+
log.Println(err)
114+
return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{
115+
"code": fiber.StatusInternalServerError,
116+
"message": "Error pembacaan row values",
117+
"data": nil,
118+
})
103119
}
104120

105121
rowData := make(map[string]interface{})

0 commit comments

Comments
 (0)