โ
Siap, berikut README.md versi clean dan sudah menggunakan go get untuk instalasi package:
๐ฎ๐ฉ golang-wilayah-indonesia
Package Go untuk import data wilayah Indonesia (Provinsi, Kota/Kabupaten, Kecamatan) dari file JSON ke database MySQL atau PostgreSQL secara otomatis.
๐ Fitur Utama
โ
Auto generate table (migration)
โ
Auto import data dari JSON
โ
Support PostgreSQL dan MySQL
โ
Simple dan reusable, tinggal panggil dari main.go
๐ฆ Instalasi
Tambahkan package ini ke project kamu:
go get github.com/vandyahmad24/wilayah-indonesia
๐ Struktur JSON Data
Contoh file JSON di folder data/:
// province.json
[
{ "id": 1, "name": "Aceh (NAD)", "code": "11" }
]
// city.json
[
{ "id": 1, "type": "Kabupaten", "name": "Aceh Barat", "code": "05", "full_code": "1105", "provinsi_id": 1 }
]
// district.json
[
{ "id": 1, "name": "Air Majunto", "code": "13", "full_code": "170613", "kabupaten_id": 1 }
]
๐ Cara Pakai
1๏ธโฃ Import package
import "github.com/vandyahmad24/golang-wilayah-indonesia/wilayah"
2๏ธโฃ Siapkan koneksi database
Contoh koneksi PostgreSQL:
db := wilayah.ConnectDB("postgres", "host=localhost user=postgres password=secret dbname=your_db port=5432 sslmode=disable")
defer db.Close()
Untuk MySQL:
db := wilayah.ConnectDB("mysql", "root:password@tcp(localhost:3306)/your_db")
defer db.Close()
3๏ธโฃ Jalankan Migration (Auto create table jika belum ada)
wilayah.RunMigration(db)
4๏ธโฃ Seed data dari JSON ke database
Pastikan folder data/ berisi province.json, city.json, dan district.json
wilayah.Seed(db, "data")
โ
Contoh Full main.go
package main
import (
"github.com/username/golang-wilayah-indonesia/wilayah"
)
func main() {
db := wilayah.ConnectDB("postgres", "host=localhost user=postgres password=secret dbname=your_db port=5432 sslmode=disable")
defer db.Close()
wilayah.RunMigration(db)
wilayah.Seed(db, "data")
}
๐พ Struktur Database yang Dibuat
- provinces (id, name, code)
- cities (id, type, name, code, full_code, province_id)
- districts (id, name, code, full_code, city_id)
Relasi terjaga dan data akan terisi otomatis sesuai JSON.
๐ Cara Kerja
โ
Baca file JSON dari folder data/
โ
Insert ke database (skip jika sudah ada - id conflict)
โ
Logging error jika ada
โ
Siap pakai di production / development
๐ License
MIT License
๐ค Kontribusi
Pull Request dan kontribusi sangat terbuka.
Silakan open issue jika ada pertanyaan.