diff --git a/packages/tools/src/structureTools.ts b/packages/tools/src/structureTools.ts index 5c1111d92..fc274295b 100644 --- a/packages/tools/src/structureTools.ts +++ b/packages/tools/src/structureTools.ts @@ -15,13 +15,62 @@ export function addTableDependencies(db: DatabaseInfo): DatabaseInfo { function fillTableExtendedInfo(db: DatabaseInfo) { return { ...db, - tables: db.tables.map(table => ({ - ...table, - columns: (table.columns || []).map(column => ({ - pureName: table.pureName, - schemaName: table.schemaName, + tables: (db.tables || []).map(obj => ({ + ...obj, + objectTypeField: 'tables', + columns: (obj.columns || []).map(column => ({ + pureName: obj.pureName, + schemaName: obj.schemaName, ...column, })), + primaryKey: obj.primaryKey + ? { + ...obj.primaryKey, + pureName: obj.pureName, + schemaName: obj.schemaName, + constraintType: 'primaryKey', + } + : undefined, + foreignKeys: (obj.foreignKeys || []).map(cnt => ({ + ...cnt, + pureName: obj.pureName, + schemaName: obj.schemaName, + constraintType: 'foreignKey', + })), + indexes: (obj.indexes || []).map(cnt => ({ + ...cnt, + pureName: obj.pureName, + schemaName: obj.schemaName, + constraintType: 'index', + })), + checks: (obj.checks || []).map(cnt => ({ + ...cnt, + pureName: obj.pureName, + schemaName: obj.schemaName, + constraintType: 'check', + })), + uniques: (obj.uniques || []).map(cnt => ({ + ...cnt, + pureName: obj.pureName, + schemaName: obj.schemaName, + constraintType: 'unique', + })), + })), + views: (db.views || []).map(obj => ({ + ...obj, + objectTypeField: 'views', + })), + procedures: (db.procedures || []).map(obj => ({ + ...obj, + objectTypeField: 'procedures', + })), + functions: (db.functions || []).map(obj => ({ + ...obj, + objectTypeField: 'functions', + })), + triggers: (db.triggers || []).map(obj => ({ + ...obj, + objectTypeField: 'triggers', })), }; } diff --git a/packages/types/dbinfo.d.ts b/packages/types/dbinfo.d.ts index 7c9c74cf2..5805ac534 100644 --- a/packages/types/dbinfo.d.ts +++ b/packages/types/dbinfo.d.ts @@ -70,6 +70,7 @@ export interface TableInfo extends DatabaseObjectInfo { foreignKeys: ForeignKeyInfo[]; dependencies?: ForeignKeyInfo[]; indexes?: IndexInfo[]; + uniques?: UniqueInfo[]; checks?: CheckInfo[]; } diff --git a/packages/web/public/global.css b/packages/web/public/global.css index 9e186f5d2..0c922ef9e 100644 --- a/packages/web/public/global.css +++ b/packages/web/public/global.css @@ -38,6 +38,10 @@ body { .flex { display: flex; } +.flexcol { + display: flex; + flex-direction: column; +} .nowrap { white-space: nowrap; } diff --git a/packages/web/src/appobj/AppObjectGroup.svelte b/packages/web/src/appobj/AppObjectGroup.svelte index 73f3a3127..134b8609b 100644 --- a/packages/web/src/appobj/AppObjectGroup.svelte +++ b/packages/web/src/appobj/AppObjectGroup.svelte @@ -1,4 +1,6 @@
+