inspect

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package inspect provides database schema inspection service. Supported drivers: mysql, pgx (PostgreSQL). The service queries information_schema tables to get schema metadata.

数据库 schema 检查服务包,提供表和列信息查询能力。 支持的驱动:mysql, pgx (PostgreSQL)。 服务通过查询 information_schema 表获取 schema 元数据。 Eg:

// 注册 Provider(依赖 sqlx)
app.Register(inspect.NewProvider())

// 使用检查服务
inspector := c.MustMake(datacontract.DBInspectorKey).(datacontract.DBInspector)
tables, _ := inspector.Tables(ctx)
columns, _ := inspector.Columns(ctx, "users")

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Provider

type Provider struct{}

Provider registers the database inspector contract.

Provider 注册数据库检查器契约。

func NewProvider

func NewProvider() *Provider

NewProvider creates a new inspect provider instance.

NewProvider 创建新的检查器 Provider 实例。

func (*Provider) Boot

Boot is a no-op for inspect provider.

Boot 检查器 Provider 无启动逻辑。

func (*Provider) DependsOn

func (p *Provider) DependsOn() []string

DependsOn returns the keys this provider depends on. Inspect provider depends on SQLX for database connection.

DependsOn 返回该 provider 依赖的 key。 Inspect provider 依赖 SQLX 获取数据库连接。

func (*Provider) IsDefer

func (p *Provider) IsDefer() bool

IsDefer returns false, inspector should be initialized immediately.

IsDefer 返回 false,检查器应立即初始化。

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name "orm.inspect".

Name 返回 Provider 名称 "orm.inspect"。

func (*Provider) Provides

func (p *Provider) Provides() []string

Provides returns the DB inspector contract key.

Provides 返回数据库检查器契约键。

func (*Provider) Register

func (p *Provider) Register(c runtimecontract.Container) error

Register binds the inspector service factory to the container. Note: This provider depends on SQLX provider being registered first.

Register 将检查器服务工厂绑定到容器。 注意:此 Provider 依赖 SQLX Provider 先注册。

type Service

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

Service implements datacontract.DBInspector interface.

Service 实现 datacontract.DBInspector 接口。

func (*Service) Columns

func (s *Service) Columns(ctx context.Context, table string) ([]datacontract.Column, error)

Columns returns all column info for a specific table. Core logic: Query driver-specific system tables (information_schema.columns).

Columns 返回指定表的所有列信息。 核心逻辑:查询驱动特定的系统表(information_schema.columns)。

func (*Service) Driver

func (s *Service) Driver() string

Driver returns the database driver name.

Driver 返回数据库驱动名称。

func (*Service) Ping

func (s *Service) Ping(ctx context.Context) error

Ping checks database connectivity.

Ping 检查数据库连接是否正常。

func (*Service) Tables

func (s *Service) Tables(ctx context.Context) ([]datacontract.Table, error)

Tables returns all table names in the database. Core logic: Query driver-specific system tables (information_schema.tables).

Tables 返回数据库中所有表的名称。 核心逻辑:查询驱动特定的系统表(information_schema.tables)。

Jump to

Keyboard shortcuts

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