MCPcopy Create free account
hub / github.com/bytebase/bytebase / writeDropSchemaObjects

Function writeDropSchemaObjects

backend/plugin/schema/pg/metadata_migration.go:1488–1516  ·  view source on GitHub ↗
(out *strings.Builder, schemaName string, schemaMeta *storepb.SchemaMetadata)

Source from the content-addressed store, hash-verified

1486}
1487
1488func writeDropSchemaObjects(out *strings.Builder, schemaName string, schemaMeta *storepb.SchemaMetadata) error {
1489 if schemaMeta == nil {
1490 return nil
1491 }
1492 diff := buildDropSchemaObjectsDiff(schemaName, schemaMeta)
1493 if err := writeDropTableTriggers(out, diff); err != nil {
1494 return err
1495 }
1496 if err := writeDropTableForeignKeysForTableDrops(out, diff); err != nil {
1497 return err
1498 }
1499 if err := writeDropDependentObjects(out, diff); err != nil {
1500 return err
1501 }
1502 for _, sequenceDiff := range diff.SequenceChanges {
1503 if isSequenceOwnedByDroppedTable(diff, sequenceDiff.SchemaName, sequenceDiff.OldSequence) {
1504 continue
1505 }
1506 if err := writeSequenceDiff(out, sequenceDiff); err != nil {
1507 return err
1508 }
1509 }
1510 for _, enumDiff := range diff.EnumTypeChanges {
1511 if err := writeEnumTypeDiff(out, enumDiff); err != nil {
1512 return err
1513 }
1514 }
1515 return nil
1516}
1517
1518func buildDropSchemaObjectsDiff(schemaName string, schemaMeta *storepb.SchemaMetadata) *schema.MetadataDiff {
1519 diff := &schema.MetadataDiff{}

Callers 1

writeSchemaDiffFunction · 0.85

Calls 7

writeDropTableTriggersFunction · 0.85
writeEnumTypeDiffFunction · 0.85
writeSequenceDiffFunction · 0.70

Tested by

no test coverage detected