database

package
v0.1.53 Latest Latest
Warning

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

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ColumnSchema added in v0.1.5

type ColumnSchema struct {
	Name     string      `json:"name"`
	Type     string      `json:"type"`
	Nullable bool        `json:"nullable"`
	Default  interface{} `json:"default"`
	Key      string      `json:"key"`
	Extra    string      `json:"extra"`
}

type ConnectionConfig

type ConnectionConfig struct {
	Type      string `json:"type"`
	Host      string `json:"host"`
	Port      int    `json:"port"`
	Username  string `json:"username"`
	Password  string `json:"password"`
	Database  string `json:"database,omitempty"`
	Container string `json:"container,omitempty"`
}

type DatabaseInfo

type DatabaseInfo struct {
	Name   string `json:"name"`
	Size   string `json:"size,omitempty"`
	Tables int    `json:"tables,omitempty"`
}

type IndexSchema added in v0.1.5

type IndexSchema struct {
	Name    string   `json:"name"`
	Columns []string `json:"columns"`
	Unique  bool     `json:"unique"`
	Primary bool     `json:"primary"`
}

type Manager

type Manager struct{}

func NewManager

func NewManager() *Manager

func (*Manager) CreateDatabase

func (m *Manager) CreateDatabase(cfg *ConnectionConfig, dbName string) error

func (*Manager) CreateUser

func (m *Manager) CreateUser(cfg *ConnectionConfig, username, password, host string) error

func (*Manager) DeleteDatabase added in v0.1.5

func (m *Manager) DeleteDatabase(cfg *ConnectionConfig, dbName string) error

func (*Manager) DeleteUser added in v0.1.5

func (m *Manager) DeleteUser(cfg *ConnectionConfig, username, host string) error

func (*Manager) DescribeTable added in v0.1.5

func (m *Manager) DescribeTable(cfg *ConnectionConfig, database, table string) (*TableSchema, error)

func (*Manager) DropDatabase added in v0.1.5

func (m *Manager) DropDatabase(cfg *ConnectionConfig, dbName string) error

func (*Manager) DropUser added in v0.1.5

func (m *Manager) DropUser(cfg *ConnectionConfig, username string) error

func (*Manager) ExecuteQuery added in v0.1.5

func (m *Manager) ExecuteQuery(cfg *ConnectionConfig, database, query string) (*QueryResult, error)

func (*Manager) GrantPrivileges

func (m *Manager) GrantPrivileges(cfg *ConnectionConfig, username, database, host string) error

func (*Manager) ListDatabaseUsers added in v0.1.5

func (m *Manager) ListDatabaseUsers(cfg *ConnectionConfig, database string) ([]UserInfo, error)

func (*Manager) ListDatabases

func (m *Manager) ListDatabases(cfg *ConnectionConfig) ([]DatabaseInfo, error)

func (*Manager) ListTables

func (m *Manager) ListTables(cfg *ConnectionConfig, database string) ([]TableInfo, error)

func (*Manager) ListUsers

func (m *Manager) ListUsers(cfg *ConnectionConfig) ([]UserInfo, error)

func (*Manager) QueryTable added in v0.1.5

func (m *Manager) QueryTable(cfg *ConnectionConfig, database, table string, limit, offset int) (*QueryResult, error)

func (*Manager) RevokePrivileges added in v0.1.5

func (m *Manager) RevokePrivileges(cfg *ConnectionConfig, username, database string) error

func (*Manager) TestConnection

func (m *Manager) TestConnection(cfg *ConnectionConfig) error

type QueryResult added in v0.1.5

type QueryResult struct {
	Columns []string        `json:"columns"`
	Rows    [][]interface{} `json:"rows"`
	Count   int             `json:"count"`
}

type TableInfo

type TableInfo struct {
	Name   string `json:"name"`
	Rows   int64  `json:"rows,omitempty"`
	Size   string `json:"size,omitempty"`
	Engine string `json:"engine,omitempty"`
}

type TableSchema added in v0.1.5

type TableSchema struct {
	Columns []ColumnSchema `json:"columns"`
	Indexes []IndexSchema  `json:"indexes"`
}

type UserInfo

type UserInfo struct {
	Name string `json:"name"`
	Host string `json:"host,omitempty"`
}

Jump to

Keyboard shortcuts

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