Files
dots/JetBrains/WebStorm2025.1/extensions/com.intellij.database/schema.layouts/File per object with order.groovy
Leandro Afonso f0cdef9259 init
2025-09-27 18:39:59 +01:00

21 lines
571 B
Groovy

import com.intellij.database.model.DasObjectWithSource
import com.intellij.database.model.DasSchemaChild
LAYOUT.baseName { ctx -> baseName(ctx.object) }
LAYOUT.fileName { ctx -> String.format("%03d-%s.sql", ctx.count, ctx.baseName) }
def baseName(obj) {
for (def cur = obj; cur != null; cur = cur.dasParent) {
if (storeSeparately(cur)) return sanitize(cur.name)
}
return sanitize(obj.name)
}
def storeSeparately(obj) {
return obj instanceof DasObjectWithSource || obj instanceof DasSchemaChild
}
def sanitize(name) {
return name.replace('/', 'slash')
}