drizzle

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

Package drizzle provides Drizzle ORM integration for pgsquash. It handles Drizzle-generated migrations, identity columns, and drizzle-kit patterns.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DrizzleConfig

type DrizzleConfig struct {
	Enabled               bool `json:"enabled"`
	PreferIdentityColumns bool `json:"prefer_identity_columns"` // Prefer IDENTITY over SERIAL
	PreserveDrizzleMeta   bool `json:"preserve_drizzle_meta"`   // Preserve __drizzle_migrations
	OptimizeSequences     bool `json:"optimize_sequences"`      // Optimize sequence configurations
}

DrizzleConfig holds Drizzle-specific configuration

type DrizzlePlugin

type DrizzlePlugin struct {
	*plugins.BasePlugin
	// contains filtered or unexported fields
}

DrizzlePlugin implements Drizzle ORM integration

func NewDrizzlePlugin

func NewDrizzlePlugin() *DrizzlePlugin

NewDrizzlePlugin creates a new Drizzle plugin instance

func (*DrizzlePlugin) ConvertSerialToIdentity

func (dp *DrizzlePlugin) ConvertSerialToIdentity(sql string) string

ConvertSerialToIdentity converts old SERIAL columns to modern IDENTITY This is an optional transformation for legacy Drizzle migrations

func (*DrizzlePlugin) Detect

func (dp *DrizzlePlugin) Detect(migrations []*types.Migration) bool

Detect checks if migrations contain Drizzle patterns Detection patterns:

  1. GENERATED ALWAYS AS IDENTITY (Drizzle's preferred pattern)
  2. __drizzle_migrations metadata table
  3. Drizzle folder structure (drizzle/TIMESTAMP_name/)
  4. snapshot.json metadata files
  5. Drizzle-specific SQL comments

func (*DrizzlePlugin) DetectPatterns

func (dp *DrizzlePlugin) DetectPatterns(sql string) []plugins.Pattern

DetectPatterns analyzes SQL for Drizzle-specific patterns

func (*DrizzlePlugin) EnrichStatement

func (dp *DrizzlePlugin) EnrichStatement(ctx context.Context, stmt *types.Statement) error

EnrichStatement adds Drizzle-specific metadata to parsed statements

func (*DrizzlePlugin) ExtractIdentityType

func (dp *DrizzlePlugin) ExtractIdentityType(sql string) (identityType string, found bool)

ExtractIdentityType extracts the IDENTITY type from SQL

func (*DrizzlePlugin) FixFunctionVolatility

func (dp *DrizzlePlugin) FixFunctionVolatility(ctx context.Context, functionSQL string) (string, error)

FixFunctionVolatility adds volatility markers to Drizzle-generated functions

func (*DrizzlePlugin) GetConflictingPlugins

func (dp *DrizzlePlugin) GetConflictingPlugins() []string

GetConflictingPlugins returns plugins that conflict with Drizzle

func (*DrizzlePlugin) GetConsolidationRules

func (dp *DrizzlePlugin) GetConsolidationRules() []plugins.ConsolidationRule

GetConsolidationRules returns Drizzle-specific consolidation rules

func (*DrizzlePlugin) GetRequiredExtensions

func (dp *DrizzlePlugin) GetRequiredExtensions() []string

GetRequiredExtensions returns PostgreSQL extensions required by Drizzle

func (*DrizzlePlugin) Initialize

func (dp *DrizzlePlugin) Initialize(ctx context.Context, config any) error

Initialize configures the Drizzle plugin

func (*DrizzlePlugin) InjectCompatibilityLayer

func (dp *DrizzlePlugin) InjectCompatibilityLayer(ctx context.Context) string

InjectCompatibilityLayer returns SQL for Drizzle compatibility during validation

func (*DrizzlePlugin) IsDrizzleGeneratedSQL

func (dp *DrizzlePlugin) IsDrizzleGeneratedSQL(sql string) bool

IsDrizzleGeneratedSQL checks if SQL appears to be Drizzle-generated

func (*DrizzlePlugin) PreserveIdentityColumns

func (dp *DrizzlePlugin) PreserveIdentityColumns(stmt *types.Statement) bool

PreserveIdentityColumns checks if statement defines IDENTITY columns that should be preserved

func (*DrizzlePlugin) ShouldPreserve

func (dp *DrizzlePlugin) ShouldPreserve(stmt *types.Statement) bool

ShouldPreserve determines if a statement should never be consolidated

func (*DrizzlePlugin) TransformSQL

func (dp *DrizzlePlugin) TransformSQL(ctx context.Context, sql string) (string, error)

TransformSQL performs Drizzle-specific SQL transformations

func (*DrizzlePlugin) ValidateSchema

func (dp *DrizzlePlugin) ValidateSchema(ctx context.Context, db *sql.DB) error

ValidateSchema performs Drizzle-specific schema validation

Jump to

Keyboard shortcuts

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