generator

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateSchemaFromTable

func GenerateSchemaFromTable(tableInfo *types.TableInfo, migrator types.DatabaseSpecificMigrator) (*schema.Schema, error)

GenerateSchemaFromTable creates a schema from database table information

func GenerateSchemasFromTablesWithRelations

func GenerateSchemasFromTablesWithRelations(migrator types.DatabaseMigrator) ([]*schema.Schema, error)

GenerateSchemasFromTablesWithRelations generates schemas with relations inferred from foreign keys

Types

type SchemaGenerator

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

SchemaGenerator converts internal schema to Prisma format

func NewSchemaGenerator

func NewSchemaGenerator(migrator types.DatabaseSpecificMigrator) *SchemaGenerator

NewSchemaGenerator creates a new schema generator

func (*SchemaGenerator) GenerateFullPrismaFile

func (g *SchemaGenerator) GenerateFullPrismaFile(schemas []*schema.Schema, datasource *prisma.DatasourceStatement, generator *prisma.GeneratorStatement) (string, error)

GenerateFullPrismaFile generates a complete Prisma schema file with all models

func (*SchemaGenerator) GeneratePrismaSchema

func (g *SchemaGenerator) GeneratePrismaSchema(s *schema.Schema) (string, error)

GeneratePrismaSchema converts a Schema to Prisma schema string

func (*SchemaGenerator) SchemaToPrismaAST

func (g *SchemaGenerator) SchemaToPrismaAST(s *schema.Schema) (*prisma.ModelStatement, error)

SchemaToPrismaAST converts a Schema to Prisma AST

type SchemaPersistence

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

SchemaPersistence manages reading and writing schema files

func NewSchemaPersistence

func NewSchemaPersistence(schemaPath string, l logger.Logger, migrator types.DatabaseMigrator) *SchemaPersistence

NewSchemaPersistence creates a new schema persistence manager

func (*SchemaPersistence) GetSchemaFiles

func (sp *SchemaPersistence) GetSchemaFiles() map[string]string

GetSchemaFiles returns the mapping of model names to file paths

func (*SchemaPersistence) LoadSchemas

func (sp *SchemaPersistence) LoadSchemas() ([]*schema.Schema, error)

LoadSchemas loads all schemas and tracks their source files

func (*SchemaPersistence) RemoveSchema

func (sp *SchemaPersistence) RemoveSchema(modelName string) error

RemoveSchema removes a schema from its file

func (*SchemaPersistence) SaveSchema

func (sp *SchemaPersistence) SaveSchema(s *schema.Schema) error

SaveSchema saves a schema to the appropriate file

Jump to

Keyboard shortcuts

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