Documentation
¶
Overview ¶
Package exporter provides functionality for exporting database migrations and schemas.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Format ExportFormat
Dialect plugins.Dialect
OutputDir string
AuthOnly bool
Plugins []plugins.Plugin // Plugin instances to export
}
Config configures the migration exporter.
type ExportFormat ¶
type ExportFormat string
ExportFormat defines the output format for migration exports.
const ( // FormatSQL exports migrations as plain SQL files. FormatSQL ExportFormat = "sql" // FormatGoose exports migrations in Goose format. FormatGoose ExportFormat = "goose" // FormatGolangMigrate exports migrations in golang-migrate format. FormatGolangMigrate ExportFormat = "golang-migrate" )
type Exporter ¶
type Exporter struct {
// contains filtered or unexported fields
}
Exporter handles exporting migrations to various formats.
func NewExporter ¶
NewExporter creates a new migration exporter with the provided configuration.
func (*Exporter) Export ¶
Export writes migrations to disk in the specified format.
All files are placed directly in OutputDir (flat layout) using a stable numeric prefix: base_offset + local_migration_version. This ensures that adding new migrations to auth or any plugin never renumbers another plugin's files, and that external plugins can coexist without central registration.
Export validates for offset collisions before writing any files.