Documentation
¶
Index ¶
- func GenerateSchemaFromTable(tableInfo *types.TableInfo, migrator types.DatabaseSpecificMigrator) (*schema.Schema, error)
- func GenerateSchemasFromTablesWithRelations(migrator types.DatabaseMigrator) ([]*schema.Schema, error)
- type SchemaGenerator
- func (g *SchemaGenerator) GenerateFullPrismaFile(schemas []*schema.Schema, datasource *prisma.DatasourceStatement, ...) (string, error)
- func (g *SchemaGenerator) GeneratePrismaSchema(s *schema.Schema) (string, error)
- func (g *SchemaGenerator) SchemaToPrismaAST(s *schema.Schema) (*prisma.ModelStatement, error)
- type SchemaPersistence
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