CATATAN , untuk menangani time.Time correctly, you need to include parseTime sebagai parameter (more parameters) untuk sepenuhnya mendukung penulisan (pengkodean) UTF-8 kamu perlu mengubah charset=utf8 to charset=utf8mb4. lihat artikel ini unutk penjelasan lebih rinci
db, err := gorm.Open(mysql.New(mysql.Config{ DSN: "gorm:gorm@tcp(127.0.0.1:3306)/gorm?charset=utf8&parseTime=True&loc=Local", // data source name DefaultStringSize: 256, // default size for string fields DisableDatetimePrecision: true, // disable datetime precision, which not supported before MySQL 5.6 DontSupportRenameIndex: true, // drop & create when rename index, rename index not supported before MySQL 5.7, MariaDB DontSupportRenameColumn: true, // `change` when rename column, rename column not supported before MySQL 8, MariaDB SkipInitializeWithVersion: false, // auto configure based on currently MySQL version }), &gorm.Config{})
Customize Driver
GORM allows to customize the MySQL driver with the DriverName option, for example:
import ( "gorm.io/driver/sqlite"// Sqlite driver based on CGO // "github.com/glebarez/sqlite" // Pure go SQLite driver, checkout https://github.com/glebarez/sqlite for details "gorm.io/gorm" )
Catatan: kamu bisa menggunakan file::memory:?cache=shared alih alih jalur dari folder ke file hal ini akan memberitahu SQL Lite untuk menggunakan database sementara dalam sistem memory (See SQLite docs for this)