Complete API surface of the Beep.Skia.ERD assembly: 15 public types with their documented members. Follow the family guide for usage patterns.

Types in this assembly

ColumnInfo (class)

ConstraintInfo (class)

DDLExporter (class)

Exports ERD entities and relationships to DDL (Data Definition Language) statements. Supports standard SQL with basic dialect hints.

MemberKindDescription
DDLExporter(SQLDialect dialect = SQLDialect.ANSI)MethodInitializes a new instance of the DDLExporter class.
string ExportEntity(ERDEntity entity)MethodExports a single ERDEntity to a CREATE TABLE statement.
string ExportEntities(IEnumerable<ERDEntity> entities)MethodExports multiple entities to a complete DDL script.

DDLImporter (class)

Parses SQL CREATE TABLE statements into entity definitions. Dialect-aware parsing for SQL Server, PostgreSQL, MySQL, Oracle, and SQLite.

MemberKindDescription
DDLImporter(SQLDialect dialect = SQLDialect.ANSI) { _dialect = dialect; }MethodInitializes a new instance of the DDLImporter class.
List<TableInfo> Parse(string ddl)MethodParses DDL and returns table definitions.
List<ERDEntity> ImportToEntities(string ddl, SQLDialect dialect)MethodCreates ERDEntity instances from a DDL string.

ERDAttribute (class)

ERD Attribute: ellipse with optional underline (for key) and double ellipse (for multivalued).

MemberKindDescription
string NameTextPropertyGets or sets the name text.
bool IsKeyPropertyGets or sets the is key.
bool IsMultivaluedPropertyGets or sets the is multivalued.
ERDAttribute()MethodInitializes a new instance of the ERDAttribute class.

ERDControl (class)

Base class for ERD nodes (entities, relationships, attributes). Inherits MaterialControl; provides common sizing and port layout helpers.

MemberKindDescription
int InPortCountPropertyGets or sets the in port count.
int OutPortCountPropertyGets or sets the out port count.

ERDEntity (class)

ERD Entity: rectangle with title band and attribute list area.

MemberKindDescription
string EntityNamePropertyEntity name/title
string RowsTextPropertyOne row name per line or comma-separated
IReadOnlyList<string> RowsPropertyGets or sets the rows.
string RowIdsCsvPropertyGets or sets the row ids csv.
ERDEntity()MethodInitializes a new instance of the ERDEntity class.
new int InPortCountPropertyGets or sets the in port count.
new int OutPortCountPropertyGets or sets the out port count.
string ColumnsPropertyPublic JSON property exposing columns in a structured form for enterprise editors. On set, updates the internal rows and connection points.
string IndexesPropertyPublic JSON property exposing table indexes. Mirrors NodeProperties["Indexes"].
string ForeignKeysPropertyPublic JSON property exposing foreign keys. Mirrors NodeProperties["ForeignKeys"].
static ERDEntity FromTableInfo(DDLImporter.TableInfo table)MethodCreates an ERDEntity from a parsed DDL table definition.

ERDRelationship (class)

ERD Relationship: diamond shape with ports on left/right, optional degree text.

MemberKindDescription
string LabelPropertyGets or sets the label.
string DegreePropertyGets or sets the degree.
bool IdentifyingPropertyGets or sets the identifying.
ERDRelationship()MethodInitializes a new instance of the ERDRelationship class.

MigrationScriptGenerator (class)

Generates forward and rollback migration scripts from a SchemaComparisonResult. Dialect-aware DDL for SQL Server, PostgreSQL, MySQL, Oracle, SQLite, and ANSI.

MemberKindDescription
string GenerateForward(SchemaComparisonResult diff, DDLImporter.SQLDialect dialect = DDLImporter.SQLDialect.ANSI)MethodGenerates the script that migrates the source schema to the target schema.
string GenerateRollback(SchemaComparisonResult diff, DDLImporter.SQLDialect dialect = DDLImporter.SQLDialect.ANSI)MethodGenerates the script that reverses GenerateForward (target -> source).

SchemaChange (class)

A single schema difference. For altered columns, Column is the target definition and PreviousColumn is the source definition (used to build rollback scripts).

MemberKindDescription
SchemaChangeKind KindPropertyGets or sets the kind.
string TableNamePropertyGets or sets the table name.
DDLImporter.ColumnInfo? ColumnPropertyGets or sets the column.
DDLImporter.ColumnInfo? PreviousColumnPropertyGets or sets the previous column.
DDLImporter.ConstraintInfo? ConstraintPropertyGets or sets the constraint.
DDLImporter.TableInfo? TablePropertyGets or sets the table.
DDLImporter.TableInfo? PreviousTablePropertyGets or sets the previous table.
override string ToString()MethodGets or sets the to string.

SchemaChangeKind (enum)

Kind of schema change detected between a source (current) and target (desired) schema.

SchemaComparer (class)

Compares a source schema against a target schema and reports the changes needed to migrate source to target. Tables/columns are matched case-insensitively.

MemberKindDescription
SchemaComparisonResult Compare( IEnumerable<DDLImporter.TableInfo> source, IEnumerable<DDLImporter.TableInfo> target)MethodGets or sets the compare.

SchemaComparisonResult (class)

Result of comparing two schemas.

MemberKindDescription
List<SchemaChange> ChangesPropertyGets or sets the changes.
bool HasChangesPropertyGets or sets the has changes.
IEnumerable<SchemaChange> OfKind(SchemaChangeKind kind)MethodGets or sets the of kind.
string Summary()MethodHuman-readable one-line-per-change summary.

SQLDialect (enum)

TableInfo (class)