Importing a Driver
In order to connect to a database, you need to import its driver first.
GORM wraps the drivers for the officially supported databases.
import _ "github.com/jinzhu/gorm/dialects/mysql" |
You can import other drivers in the same way.
import _ "github.com/go-sql-driver/mysql" |
Supported Databases
MySQL
NOTE:
In order to handle time.Time
correctly, you need to include parseTime
as a parameter. (More supported parameters)
In order to fully support UTF-8 encoding, you need to change charset=utf8
to charset=utf8mb4
. See this article for a detailed explanation.
import ( |
If you want to specify the host, you need to use ()
. Example:
user:password@(localhost)/dbname?charset=utf8&parseTime=True&loc=Local |
PostgreSQL
import ( |
SQLite3
NOTE: You can also use file::memory:?cache=shared
instead of a path to a file. This will tell SQLite to use a temporary database in system memory. (See SQLite docs for this.)
import ( |
SQL Server
Microsoft offers a guide for using SQL Server with Go (and GORM).
import ( |
Unsupported Databases
GORM officially supports the databases listed above, but you can write GORM dialects for unsupported databases.