Documentation
¶
Index ¶
- func MySQLResetRootPassword(ctx context.Context, password, root string) (err error)
- func MySQLSocket(root string) string
- func PostgresPort(root string) uint
- type ClickHouse
- func (r *ClickHouse) Close()
- func (r *ClickHouse) DatabaseCreate(ctx context.Context, name string) error
- func (r *ClickHouse) DatabaseDrop(ctx context.Context, name string) error
- func (r *ClickHouse) DatabaseExists(ctx context.Context, name string) (bool, error)
- func (r *ClickHouse) DatabaseSize(ctx context.Context, name string) (int64, error)
- func (r *ClickHouse) Databases(ctx context.Context) ([]Database, error)
- func (r *ClickHouse) Exec(ctx context.Context, query string, args ...any) (sql.Result, error)
- func (r *ClickHouse) Ping(ctx context.Context) error
- func (r *ClickHouse) Prepare(ctx context.Context, query string) (*sql.Stmt, error)
- func (r *ClickHouse) PrivilegesGrant(ctx context.Context, user, database string, host ...string) error
- func (r *ClickHouse) PrivilegesRevoke(ctx context.Context, user, database string, host ...string) error
- func (r *ClickHouse) Query(ctx context.Context, query string, args ...any) (*sql.Rows, error)
- func (r *ClickHouse) QueryRow(ctx context.Context, query string, args ...any) *sql.Row
- func (r *ClickHouse) UserCreate(ctx context.Context, user, password string, host ...string) error
- func (r *ClickHouse) UserDrop(ctx context.Context, user string, host ...string) error
- func (r *ClickHouse) UserPassword(ctx context.Context, user, password string, host ...string) error
- func (r *ClickHouse) UserPrivileges(ctx context.Context, user string, host ...string) ([]string, error)
- func (r *ClickHouse) Users(ctx context.Context) ([]User, error)
- type Database
- type ESDocument
- type ESIndex
- type Elasticsearch
- func (r *Elasticsearch) Close()
- func (r *Elasticsearch) DocumentCreate(ctx context.Context, index, body string) error
- func (r *Elasticsearch) DocumentDelete(ctx context.Context, index, id string) error
- func (r *Elasticsearch) DocumentGet(ctx context.Context, index, id string) (*ESDocument, error)
- func (r *Elasticsearch) DocumentUpdate(ctx context.Context, index, id, body string) error
- func (r *Elasticsearch) IndexCreate(ctx context.Context, name string) error
- func (r *Elasticsearch) IndexDelete(ctx context.Context, name string) error
- func (r *Elasticsearch) Indices(ctx context.Context) ([]ESIndex, error)
- func (r *Elasticsearch) Ping(ctx context.Context) error
- func (r *Elasticsearch) Search(ctx context.Context, index, query string, page, pageSize int) ([]ESDocument, int64, error)
- type MongoDB
- func (r *MongoDB) Close()
- func (r *MongoDB) DatabaseCreate(ctx context.Context, name string) error
- func (r *MongoDB) DatabaseDrop(ctx context.Context, name string) error
- func (r *MongoDB) Databases(ctx context.Context) ([]MongoDatabase, error)
- func (r *MongoDB) Ping(ctx context.Context) error
- func (r *MongoDB) UserCreate(ctx context.Context, user, password, database string) error
- func (r *MongoDB) UserDrop(ctx context.Context, user, database string) error
- func (r *MongoDB) UserPassword(ctx context.Context, user, password string) error
- func (r *MongoDB) Users(ctx context.Context) ([]MongoUser, error)
- type MongoDatabase
- type MongoUser
- type MySQL
- func (r *MySQL) Close()
- func (r *MySQL) DatabaseCreate(ctx context.Context, name string) error
- func (r *MySQL) DatabaseDrop(ctx context.Context, name string) error
- func (r *MySQL) DatabaseExists(ctx context.Context, name string) (bool, error)
- func (r *MySQL) DatabaseSize(ctx context.Context, name string) (int64, error)
- func (r *MySQL) Databases(ctx context.Context) ([]Database, error)
- func (r *MySQL) Exec(ctx context.Context, query string, args ...any) (sql.Result, error)
- func (r *MySQL) Ping(ctx context.Context) error
- func (r *MySQL) Prepare(ctx context.Context, query string) (*sql.Stmt, error)
- func (r *MySQL) PrivilegesGrant(ctx context.Context, user, database string, host ...string) error
- func (r *MySQL) PrivilegesRevoke(ctx context.Context, user, database string, host ...string) error
- func (r *MySQL) Query(ctx context.Context, query string, args ...any) (*sql.Rows, error)
- func (r *MySQL) QueryRow(ctx context.Context, query string, args ...any) *sql.Row
- func (r *MySQL) UserCreate(ctx context.Context, user, password string, host ...string) error
- func (r *MySQL) UserDrop(ctx context.Context, user string, host ...string) error
- func (r *MySQL) UserPassword(ctx context.Context, user, password string, host ...string) error
- func (r *MySQL) UserPrivileges(ctx context.Context, user string, host ...string) ([]string, error)
- func (r *MySQL) Users(ctx context.Context) ([]User, error)
- type Operator
- type Postgres
- func (r *Postgres) Close()
- func (r *Postgres) DatabaseComment(ctx context.Context, name, comment string) error
- func (r *Postgres) DatabaseCreate(ctx context.Context, name string) error
- func (r *Postgres) DatabaseDrop(ctx context.Context, name string) error
- func (r *Postgres) DatabaseExists(ctx context.Context, name string) (bool, error)
- func (r *Postgres) DatabaseSize(ctx context.Context, name string) (int64, error)
- func (r *Postgres) Databases(ctx context.Context) ([]Database, error)
- func (r *Postgres) Exec(ctx context.Context, query string, args ...any) (sql.Result, error)
- func (r *Postgres) Ping(ctx context.Context) error
- func (r *Postgres) Prepare(ctx context.Context, query string) (*sql.Stmt, error)
- func (r *Postgres) PrivilegesGrant(ctx context.Context, user, database string, host ...string) error
- func (r *Postgres) PrivilegesRevoke(ctx context.Context, user, database string, host ...string) error
- func (r *Postgres) Query(ctx context.Context, query string, args ...any) (*sql.Rows, error)
- func (r *Postgres) QueryRow(ctx context.Context, query string, args ...any) *sql.Row
- func (r *Postgres) UserCreate(ctx context.Context, user, password string, host ...string) error
- func (r *Postgres) UserDrop(ctx context.Context, user string, host ...string) error
- func (r *Postgres) UserPassword(ctx context.Context, user, password string, host ...string) error
- func (r *Postgres) UserPrivileges(ctx context.Context, user string, host ...string) ([]string, error)
- func (r *Postgres) Users(ctx context.Context) ([]User, error)
- type Redis
- func (r *Redis) Clear() error
- func (r *Redis) Close()
- func (r *Redis) Data(page, pageSize int) ([]RedisKV, int, error)
- func (r *Redis) Database() (int, error)
- func (r *Redis) Del(keys ...string) error
- func (r *Redis) Exec(command string, args ...any) (any, error)
- func (r *Redis) Expire(key string, ttl int64) error
- func (r *Redis) Get(key string) (*RedisKV, error)
- func (r *Redis) Rename(oldKey, newKey string) error
- func (r *Redis) Search(pattern string, page, pageSize int) ([]RedisKV, int, error)
- func (r *Redis) Select(db int) error
- func (r *Redis) SetKey(key, value, keyType string, ttl int64) error
- func (r *Redis) Size() (int, error)
- type RedisKV
- type SQLite
- type SQLiteColumn
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MySQLResetRootPassword ¶
MySQLResetRootPassword 重置 MySQL root密码
func MySQLSocket ¶ added in v3.3.0
MySQLSocket 探测本地 MySQL 的 unix socket 路径
func PostgresPort ¶ added in v3.3.2
PostgresPort 读取本地 PostgreSQL 端口
Types ¶
type ClickHouse ¶ added in v3.2.0
type ClickHouse struct {
// contains filtered or unexported fields
}
ClickHouse 通过 HTTP API 操作 ClickHouse
func NewClickHouse ¶ added in v3.2.0
func NewClickHouse(ctx context.Context, username, password, address string) (*ClickHouse, error)
NewClickHouse 创建 ClickHouse 连接(HTTP API)
func (*ClickHouse) Close ¶ added in v3.2.0
func (r *ClickHouse) Close()
func (*ClickHouse) DatabaseCreate ¶ added in v3.2.0
func (r *ClickHouse) DatabaseCreate(ctx context.Context, name string) error
func (*ClickHouse) DatabaseDrop ¶ added in v3.2.0
func (r *ClickHouse) DatabaseDrop(ctx context.Context, name string) error
func (*ClickHouse) DatabaseExists ¶ added in v3.2.0
func (*ClickHouse) DatabaseSize ¶ added in v3.2.0
func (*ClickHouse) Databases ¶ added in v3.2.0
func (r *ClickHouse) Databases(ctx context.Context) ([]Database, error)
func (*ClickHouse) PrivilegesGrant ¶ added in v3.2.0
func (*ClickHouse) PrivilegesRevoke ¶ added in v3.2.0
func (*ClickHouse) UserCreate ¶ added in v3.2.0
func (*ClickHouse) UserPassword ¶ added in v3.2.0
func (*ClickHouse) UserPrivileges ¶ added in v3.2.0
type ESDocument ¶ added in v3.2.0
type ESDocument struct {
ID string `json:"id"`
Index string `json:"index"`
Source string `json:"source"`
}
ESDocument 文档信息
type ESIndex ¶ added in v3.2.0
type ESIndex struct {
Name string `json:"name"`
Health string `json:"health"`
Status string `json:"status"`
DocsCount string `json:"docs_count"`
StoreSize string `json:"store_size"`
}
ESIndex 索引信息
type Elasticsearch ¶ added in v3.2.0
type Elasticsearch struct {
// contains filtered or unexported fields
}
Elasticsearch 通过 REST API 操作 Elasticsearch/OpenSearch
func NewElasticsearch ¶ added in v3.2.0
func NewElasticsearch(ctx context.Context, address, username, password string) (*Elasticsearch, error)
NewElasticsearch 创建 Elasticsearch 连接
func (*Elasticsearch) Close ¶ added in v3.2.0
func (r *Elasticsearch) Close()
func (*Elasticsearch) DocumentCreate ¶ added in v3.2.0
func (r *Elasticsearch) DocumentCreate(ctx context.Context, index, body string) error
DocumentCreate 创建文档(自动生成 ID)
func (*Elasticsearch) DocumentDelete ¶ added in v3.2.0
func (r *Elasticsearch) DocumentDelete(ctx context.Context, index, id string) error
DocumentDelete 删除文档
func (*Elasticsearch) DocumentGet ¶ added in v3.2.0
func (r *Elasticsearch) DocumentGet(ctx context.Context, index, id string) (*ESDocument, error)
DocumentGet 获取文档
func (*Elasticsearch) DocumentUpdate ¶ added in v3.2.0
func (r *Elasticsearch) DocumentUpdate(ctx context.Context, index, id, body string) error
DocumentUpdate 更新文档
func (*Elasticsearch) IndexCreate ¶ added in v3.2.0
func (r *Elasticsearch) IndexCreate(ctx context.Context, name string) error
IndexCreate 创建索引
func (*Elasticsearch) IndexDelete ¶ added in v3.2.0
func (r *Elasticsearch) IndexDelete(ctx context.Context, name string) error
IndexDelete 删除索引
func (*Elasticsearch) Indices ¶ added in v3.2.0
func (r *Elasticsearch) Indices(ctx context.Context) ([]ESIndex, error)
Indices 获取所有索引
func (*Elasticsearch) Ping ¶ added in v3.2.0
func (r *Elasticsearch) Ping(ctx context.Context) error
func (*Elasticsearch) Search ¶ added in v3.2.0
func (r *Elasticsearch) Search(ctx context.Context, index, query string, page, pageSize int) ([]ESDocument, int64, error)
Search 搜索文档
type MongoDB ¶ added in v3.2.0
type MongoDB struct {
// contains filtered or unexported fields
}
MongoDB 通过 mongosh CLI 操作 MongoDB
func NewMongoDB ¶ added in v3.2.0
NewMongoDB 创建 MongoDB 连接
func (*MongoDB) DatabaseCreate ¶ added in v3.2.0
DatabaseCreate 创建数据库(MongoDB 通过创建集合来显式创建数据库)
func (*MongoDB) DatabaseDrop ¶ added in v3.2.0
DatabaseDrop 删除数据库
func (*MongoDB) Databases ¶ added in v3.2.0
func (r *MongoDB) Databases(ctx context.Context) ([]MongoDatabase, error)
Databases 获取数据库列表
func (*MongoDB) UserCreate ¶ added in v3.2.0
UserCreate 创建用户
func (*MongoDB) UserPassword ¶ added in v3.2.0
UserPassword 修改用户密码
type MongoDatabase ¶ added in v3.2.0
MongoDatabase MongoDB 数据库信息
type MongoUser ¶ added in v3.2.0
type MongoUser struct {
User string `json:"user"`
DB string `json:"db"`
Roles []string `json:"roles"`
}
MongoUser MongoDB 用户信息
type MySQL ¶
type MySQL struct {
// contains filtered or unexported fields
}
func (*MySQL) DatabaseCreate ¶
func (*MySQL) DatabaseExists ¶
func (*MySQL) DatabaseSize ¶
func (*MySQL) PrivilegesGrant ¶
func (*MySQL) PrivilegesRevoke ¶
func (*MySQL) UserCreate ¶
func (*MySQL) UserPassword ¶
func (*MySQL) UserPrivileges ¶
type Operator ¶
type Operator interface {
Close()
Ping(ctx context.Context) error
Query(ctx context.Context, query string, args ...any) (*sql.Rows, error)
QueryRow(ctx context.Context, query string, args ...any) *sql.Row
Exec(ctx context.Context, query string, args ...any) (sql.Result, error)
Prepare(ctx context.Context, query string) (*sql.Stmt, error)
DatabaseCreate(ctx context.Context, name string) error
DatabaseDrop(ctx context.Context, name string) error
DatabaseExists(ctx context.Context, name string) (bool, error)
DatabaseSize(ctx context.Context, name string) (int64, error)
UserCreate(ctx context.Context, user, password string, host ...string) error
UserDrop(ctx context.Context, user string, host ...string) error
UserPassword(ctx context.Context, user, password string, host ...string) error
UserPrivileges(ctx context.Context, user string, host ...string) ([]string, error)
PrivilegesGrant(ctx context.Context, user, database string, host ...string) error
PrivilegesRevoke(ctx context.Context, user, database string, host ...string) error
Users(ctx context.Context) ([]User, error)
Databases(ctx context.Context) ([]Database, error)
}
Operator 数据库操作句柄 所有方法都跟随 ctx 取消,这样 CLI 和停机路径能中断卡在锁等待上的 SQL; 需要整体完成的多步操作由调用方(biz 用例层)在事务边界断开取消链
type Postgres ¶
type Postgres struct {
// contains filtered or unexported fields
}
func (*Postgres) DatabaseComment ¶
func (*Postgres) DatabaseCreate ¶
func (*Postgres) DatabaseDrop ¶
func (*Postgres) DatabaseExists ¶
func (*Postgres) DatabaseSize ¶
func (*Postgres) PrivilegesGrant ¶
func (*Postgres) PrivilegesRevoke ¶
func (*Postgres) UserCreate ¶
func (*Postgres) UserPassword ¶
func (*Postgres) UserPrivileges ¶
type Redis ¶
type Redis struct {
// contains filtered or unexported fields
}
type SQLite ¶ added in v3.2.0
type SQLite struct {
// contains filtered or unexported fields
}
SQLite 通过 database/sql 操作 SQLite 文件