datadepend

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 2022 License: Apache-2.0 Imports: 4 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Analyzer

type Analyzer struct {
	Options
}

Analyzer checks data-dependent changes.

func New

func New(opts Options) *Analyzer

New creates a new data-dependant analyzer with the given options.

func (*Analyzer) Analyze

func (a *Analyzer) Analyze(ctx context.Context, p *sqlcheck.Pass) error

Analyze runs data-depend analysis on MySQL changes.

func (*Analyzer) Diagnostics

func (a *Analyzer) Diagnostics(_ context.Context, p *sqlcheck.Pass) (diags []sqlcheck.Diagnostic)

Diagnostics runs the common analysis on the file and returns its diagnostics.

func (*Analyzer) Report

func (a *Analyzer) Report(p *sqlcheck.Pass, diags []sqlcheck.Diagnostic)

Report provides standard reporting for data-dependent changes. Drivers that decorate this Analyzer should call this function to get consistent reporting between dialects.

type ColumnHandler added in v0.5.0

type ColumnHandler func(*ColumnPass) ([]sqlcheck.Diagnostic, error)

ColumnHandler allows provide custom diagnostic for specific column rules.

type ColumnPass added in v0.5.0

type ColumnPass struct {
	*sqlcheck.Pass
	Change *sqlcheck.Change // Change context (statement).
	Table  *schema.Table    // The table this column belongs to.
	Column *schema.Column   // The diagnosed column.
}

ColumnPass wraps the information needed by the handler below to diagnose columns.

type Options

type Options struct {
	// UniqueIndex indicates if the analyzer should check for modification or
	// addition of unique indexes to tables that can cause migration to fail.
	UniqueIndex *bool `spec:"drop_schema,omitempty"`

	// NotNull indicates if the analyzer should check for modification
	// or addition of NOT NULL constraints to columns.
	NotNull *bool `spec:"not_null,omitempty"`

	// Underlying driver handlers.
	Handler struct {
		// AddNotNull is applied when a new non-nullable column was
		// added to an existing table.
		AddNotNull ColumnHandler
	}
}

Options defines the configuration options for the data-dependent changes checker.

Jump to

Keyboard shortcuts

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