datasource

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 1, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDB

func NewDB(opts *ConnectionOptions) *gorm.DB

func NewMongo

func NewMongo(opts *MongoOptions) *mongo.Database

func NewRedis

func NewRedis(opts *RedisOptions) *redis.Client

Types

type ConnectionOptions

type ConnectionOptions struct {
	Adapter       string        `yaml:"adapter"`        // 适配器类型 mysql/postgres
	Username      string        `yaml:"username"`       // 用户名
	Password      string        `yaml:"password"`       // 密码
	Host          string        `yaml:"host"`           // 地址
	Port          int64         `yaml:"port"`           // 端口
	Database      string        `yaml:"database"`       // 数据库
	MaxIdleConns  int           `yaml:"max_idle_conns"` // 设置连接池中的最大闲置连接数
	MaxOpenConns  int           `yaml:"max_open_conns"` // 设置数据库的最大连接数量
	MaxLifetime   time.Duration `yaml:"max_lifetime"`   // 设置连接的最大可复用时间 int64 ns * 1000 * 1000 = s
	SingularTable bool          `yaml:"singular_table"` // 表生成结尾不带s
	Prefix        string        `yaml:"prefix"`         // 表前缀
	EnableLog     bool          `yaml:"enable_log"`     // 启用Logger,显示详细日志
	DropTable     bool          `yaml:"drop_table"`     // 初始化表结构
}

type DB

type DB struct {
	// contains filtered or unexported fields
}

func (*DB) DropTable

func (DB *DB) DropTable(Models []interface{})

drop tables

func (*DB) Migrate

func (DB *DB) Migrate(Models []interface{})

create tables

type MongoDatabase

type MongoDatabase struct {
	// contains filtered or unexported fields
}

type MongoOptions

type MongoOptions struct {
	Addr       string        `json:"addr"`        // 地址
	Port       string        `json:"port"`        // 端口
	Username   string        `json:"username"`    // 用户名
	Password   string        `json:"password"`    // 密码
	Database   string        `json:"database"`    // 数据库
	TimeOut    time.Duration `json:"time_out"`    // 过期时间 int64 ns * 1000 * 1000 = s
	AuthSource string        `json:"auth_source"` // 验证权限数据库
}

type RedisClient

type RedisClient struct {
	// contains filtered or unexported fields
}

type RedisOptions

type RedisOptions struct {
	Network            string        `json:"network"`              // 网络类型 tcp 或者是 unix
	Addr               string        `json:"addr"`                 // ip
	Port               string        `json:"port"`                 // 端口
	Password           string        `json:"password"`             // 密码
	DB                 int           `json:"db"`                   // 数据库
	MaxRetries         int           `json:"max_retries"`          // 放弃连接前的最大重试次数
	MinRetryBackoff    time.Duration `json:"min_retry_backoff"`    // 每次重试直接的最小回退  int64 ns * 1000 * 1000 = s
	MaxRetryBackoff    time.Duration `json:"max_retry_backoff"`    // 每次重试直接的最大回退
	DialTimeout        time.Duration `json:"dial_timeout"`         // 建立新连接的拨号超时
	ReadTimeout        time.Duration `json:"read_timeout"`         // 套接字读取超时。如果达到,命令将失败,超时而不是阻塞
	WriteTimeout       time.Duration `json:"write_timeout"`        // 套接字写入超时。如果达到,命令将失败,超时而不是阻塞
	PoolSize           int           `json:"pool_size"`            // 套接字连接的最大数目
	MinIdleConns       int           `json:"min_idle_conns"`       // 最小空闲连接数,新连接是慢的
	MaxConnAge         time.Duration `json:"max_conn_age"`         // 客户端退出(关闭)连接的连接期限
	PoolTimeout        time.Duration `json:"pool_timeout"`         // 在返回错误之前,所有连接正忙,等待的时间
	IdleTimeout        time.Duration `json:"idle_timeout"`         // 客户端关闭空闲连接的时间。应该小雨服务器的超时
	IdleCheckFrequency time.Duration `json:"idle_check_frequency"` // 空闲连接收割器进行空闲检查的频率
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL