@or-sdk/pgsql 1.2.4 → 1.3.0-beta.3887.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/Pgsql.js CHANGED
@@ -55,6 +55,7 @@ exports.Pgsql = void 0;
55
55
  var base_1 = require("@or-sdk/base");
56
56
  var constants_1 = require("./constants");
57
57
  var utils_1 = require("./utils");
58
+ var getGenerateTableSchemaQuery_1 = require("./utils/getGenerateTableSchemaQuery");
58
59
  var Pgsql = (function (_super) {
59
60
  __extends(Pgsql, _super);
60
61
  function Pgsql(params) {
@@ -372,7 +373,7 @@ var Pgsql = (function (_super) {
372
373
  })];
373
374
  case 1:
374
375
  rows = (_c.sent()).rows;
375
- return [2, rows[0].code];
376
+ return [2, rows.map(function (x) { return x.code; }).join('\n')];
376
377
  }
377
378
  });
378
379
  });
@@ -390,6 +391,22 @@ var Pgsql = (function (_super) {
390
391
  });
391
392
  });
392
393
  };
394
+ Pgsql.prototype.generateDbDefinition = function (database) {
395
+ return __awaiter(this, void 0, void 0, function () {
396
+ var rows;
397
+ return __generator(this, function (_a) {
398
+ switch (_a.label) {
399
+ case 0: return [4, this.executeQuery({
400
+ database: database,
401
+ query: (0, getGenerateTableSchemaQuery_1.generateDbDefinitionsQuery)(),
402
+ })];
403
+ case 1:
404
+ rows = (_a.sent()).rows;
405
+ return [2, rows.map(function (x) { return x.code; }).join('\n')];
406
+ }
407
+ });
408
+ });
409
+ };
393
410
  return Pgsql;
394
411
  }(base_1.Base));
395
412
  exports.Pgsql = Pgsql;
@@ -1 +1 @@
1
- {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (function (schema, table) { return "SELECT 'CREATE TABLE ' || '".concat(schema, ".").concat(table, "' || ' (' || '\n' || '' ||\n string_agg(column_list.column_expr, ', ' || '\n' || '') ||\n '' || ',\n' || 'PRIMARY KEY (' || (SELECT string_agg(a.attname, ', ') AS pk\n FROM\n pg_constraint AS c\n CROSS JOIN LATERAL UNNEST(c.conkey) AS cols(colnum) -- conkey is a list of the columns of the constraint; so we split it into rows so that we can join all column numbers onto their names in pg_attribute\n INNER JOIN pg_attribute AS a ON a.attrelid = c.conrelid AND cols.colnum = a.attnum\n WHERE\n c.contype = 'p' -- p = primary key constraint\n AND c.conrelid = '").concat(schema, ".").concat(table, "'::REGCLASS limit 1) || '));' code\n FROM (\n SELECT ' ' || column_name || ' ' || data_type ||\n coalesce('(' || character_maximum_length || ')', '') ||\n case when is_nullable = 'YES' then '' else ' NOT NULL' end as column_expr\n FROM information_schema.columns\n WHERE table_schema = '").concat(schema, "' AND table_name = '").concat(table, "'\n ORDER BY ordinal_position) column_list;"); });
3
+ exports.generateDbDefinitionsQuery = void 0;
4
+ exports.default = (function (schema, table) { return "\nwith tbl as (\n SELECT format(\n 'CREATE TABLE if not exists %I.%I (%s%s);',\n c.table_schema,\n c.table_name,\n \n -- 1. COLUMN DEFINITIONS (Your existing logic)\n string_agg(\n format(\n '%I %s%s',\n c.column_name,\n CASE \n WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'\n WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'\n WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'\n WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name\n WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'\n WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL \n THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'\n ELSE c.data_type \n END,\n CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||\n CASE \n WHEN c.column_default LIKE 'nextval(%' THEN ''\n WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default \n ELSE '' \n END\n ),\n ', ' ORDER BY c.ordinal_position\n ),\n\n -- 2. FOREIGN KEY DEFINITIONS (New Logic)\n COALESCE(\n (\n SELECT string_agg(\n format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)), \n ''\n )\n FROM pg_constraint con\n JOIN pg_class t ON con.conrelid = t.oid\n JOIN pg_namespace n ON t.relnamespace = n.oid\n WHERE n.nspname = c.table_schema \n AND t.relname = c.table_name\n AND con.contype = 'f' -- 'f' = Foreign Key\n ),\n ''\n )\n\n ) as code\n FROM information_schema.columns c\n WHERE c.table_schema = '".concat(schema, "' \n AND c.table_name = '").concat(table, "'\n GROUP BY c.table_schema, c.table_name\n),\n\nindexes as (SELECT \n regexp_replace(\n indexdef, \n 'CREATE (UNIQUE )?INDEX', \n 'CREATE \\1INDEX IF NOT EXISTS'\n ) || ';' as code\nFROM pg_indexes\nWHERE schemaname = '").concat(schema, "'\nand tablename = '").concat(table, "'\nORDER BY schemaname, tablename, indexname)\n\nselect code from tbl\nunion all\nselect code from indexes\n"); });
5
+ var generateDbDefinitionsQuery = function () { return "\nwith schemas as(\nSELECT 'CREATE SCHEMA IF NOT EXISTS ' || quote_ident(nspname) || ';' code\nFROM pg_namespace\nWHERE nspname NOT LIKE 'pg_%' \n AND nspname != 'information_schema'\nORDER BY nspname\n),\n\nfk_info AS (\n -- Calculate FK definitions and counts per table beforehand\n SELECT \n n.nspname as schema_name,\n t.relname as table_name,\n count(*) as fk_count,\n string_agg(\n format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)), \n ''\n ) as fk_defs\n FROM pg_constraint con\n JOIN pg_class t ON con.conrelid = t.oid\n JOIN pg_namespace n ON t.relnamespace = n.oid\n WHERE con.contype = 'f' -- Foreign Key\n GROUP BY n.nspname, t.relname\n),\n\ntables as (SELECT format(\n 'CREATE TABLE IF NOT EXISTS %I.%I (%s%s);',\n c.table_schema,\n c.table_name,\n \n -- 1. COLUMN DEFINITIONS\n string_agg(\n format(\n '%I %s%s',\n c.column_name,\n CASE \n WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'\n WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'\n WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'\n WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name\n WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'\n WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL \n THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'\n ELSE c.data_type \n END,\n CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||\n CASE \n WHEN c.column_default LIKE 'nextval(%' THEN ''\n WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default \n ELSE '' \n END\n ),\n ', ' ORDER BY c.ordinal_position\n ),\n\n -- 2. FOREIGN KEY DEFINITIONS (Joined from CTE)\n COALESCE(MAX(f.fk_defs), '')\n\n ) as code\nFROM information_schema.columns c\nLEFT JOIN fk_info f ON c.table_schema = f.schema_name AND c.table_name = f.table_name\nWHERE c.table_schema NOT IN ('information_schema', 'pg_catalog') \n AND c.table_schema NOT LIKE 'pg_toast%'\nGROUP BY c.table_schema, c.table_name\nORDER BY \n -- ORDER LOGIC: Tables with 0 FKs first, then 1, then 2...\n COALESCE(MAX(f.fk_count), 0) ASC, \n c.table_schema, \n c.table_name),\n\n\nindexes as (SELECT \n regexp_replace(\n indexdef, \n 'CREATE (UNIQUE )?INDEX', \n 'CREATE \\1INDEX IF NOT EXISTS'\n ) || ';' as code\nFROM pg_indexes\nWHERE schemaname NOT IN ('pg_catalog', 'information_schema')\n AND schemaname NOT LIKE 'pg_toast%'\nORDER BY schemaname, tablename, indexname) \n\n\n\nselect '--Create schemas' code\nunion all\nselect code from schemas\n\nunion all\nselect '\n\n--Create tables'\nunion all\nselect code from tables\n\nunion all\nselect '\n\n--Create indexes'\nunion all\nselect code from indexes\n\n"; };
6
+ exports.generateDbDefinitionsQuery = generateDbDefinitionsQuery;
4
7
  //# sourceMappingURL=getGenerateTableSchemaQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGenerateTableSchemaQuery.js","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":";;AAEA,mBAAe,UAAC,MAAc,EAAE,KAAa,IAAK,OAAA,qCAA8B,MAAM,cAAI,KAAK,onBASnE,MAAM,cAAI,KAAK,sVAMb,MAAM,iCAAuB,KAAK,sDACjB,EAhBG,CAgBH,EAAC"}
1
+ {"version":3,"file":"getGenerateTableSchemaQuery.js","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":";;;AACA,mBAAe,UAAC,MAAc,EAAE,KAAa,IAAK,OAAA,8gEAmDpB,MAAM,yCACV,KAAK,uPAWT,MAAM,iCACT,KAAK,iHAMvB,EAtEiD,CAsEjD,EAAC;AAEK,IAAM,0BAA0B,GAAG,cAAM,OAAA,8jGAmG/C,EAnG+C,CAmG/C,CAAC;AAnGW,QAAA,0BAA0B,8BAmGrC"}
package/dist/esm/Pgsql.js CHANGED
@@ -10,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { Base, makeList } from '@or-sdk/base';
11
11
  import { LIST_SCHEMAS_QUERY, SERVICE_KEY } from './constants';
12
12
  import { createSchemaQuery, getAddColumnsQuery, getCreateTableQuery, getDeleteRowsQuery, getDropSchemaQuery, getDropTableQuery, getEditRowQuery, getGenerateTableSchemaQuery, getGetPrimaryKeysQuery, getInsertQueries, getListTablesQuery, getSelectAllCountQuery, getSelectAllQuery, } from './utils';
13
+ import { generateDbDefinitionsQuery } from './utils/getGenerateTableSchemaQuery';
13
14
  export class Pgsql extends Base {
14
15
  constructor(params) {
15
16
  const { token, discoveryUrl, accountId, pgsqlUrl, version = 'master', isExternal, timeoutMs, transaction } = params;
@@ -225,7 +226,7 @@ export class Pgsql extends Base {
225
226
  database,
226
227
  query: getGenerateTableSchemaQuery(schema, table),
227
228
  });
228
- return rows[0].code;
229
+ return rows.map(x => x.code).join('\n');
229
230
  });
230
231
  }
231
232
  getDBSize() {
@@ -236,5 +237,14 @@ export class Pgsql extends Base {
236
237
  });
237
238
  });
238
239
  }
240
+ generateDbDefinition(database) {
241
+ return __awaiter(this, void 0, void 0, function* () {
242
+ const { rows } = yield this.executeQuery({
243
+ database,
244
+ query: generateDbDefinitionsQuery(),
245
+ });
246
+ return rows.map(x => x.code).join('\n');
247
+ });
248
+ }
239
249
  }
240
250
  //# sourceMappingURL=Pgsql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAsC,QAAQ,EAAE,MAAM,cAAc,CAAC;AAElF,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAW9D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAAE,eAAe,EAAE,2BAA2B,EAC/D,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,GAC9D,MAAM,SAAS,CAAC;AAGjB,MAAM,OAAO,KAAM,SAAQ,IAAI;IAK7B,YAAY,MAAmB;QAC7B,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QACpH,KAAK,CAAC;YACJ,KAAK;YACL,YAAY;YACZ,UAAU,EAAE,WAAW;YACvB,SAAS;YACT,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAaY,WAAW,CAAI,MAAoB;;YAC9C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC9C,MAAM,CAAC,MAAM,KAAb,MAAM,CAAC,MAAM,GAAK,EAAE,EAAC;gBACpB,MAAM,CAAC,MAAc,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAChD,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;QACjC,CAAC;KAAA;IAED,UAAU,CAAC,IAAoB;QAC7B,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE;YACvC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC;IAC5B,CAAC;IAWY,YAAY;6DAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAoB;YACxE,OAAO,IAAI,CAAC,WAAW,CAA0B;gBAC/C,IAAI,EAAE;oBACJ,KAAK;oBACL,MAAM;oBACN,QAAQ;oBACR,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC1B;gBACD,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,OAAO;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,aAAa;;YACxB,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,CAAwB;gBAClE,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAe,SAAS,CAAC,CAAC;QAC3C,CAAC;KAAA;IAQY,cAAc;6DAAC,EAC1B,QAAQ,EACR,mBAAmB,GACE;YACrB,OAAO,IAAI,CAAC,WAAW,CAAyB;gBAC9C,IAAI,EAAE;oBACJ,QAAQ;oBACR,mBAAmB;iBACpB;gBACD,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;KAAA;IAwBY,YAAY;6DAAC,EACxB,QAAQ,EACR,UAAU,GAIX;YACC,OAAO,IAAI,CAAC,WAAW,CAAuB;gBAC5C,IAAI,EAAE;oBACJ,QAAQ;oBACR,UAAU;iBACX;gBACD,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,UAAU;6DAAC,EACtB,QAAQ,EACR,MAAM,GAAG,QAAQ,GAIlB;YACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAA0B;gBAChE,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBACjC,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,QAAQ,CAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACvD,CAAC;KAAA;IAQY,WAAW;6DAAC,EAAE,QAAQ,EAAyB;YAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAA2B;gBACjE,KAAK,EAAE,kBAAkB;gBACzB,QAAQ;aACT,CAAC,CAAC;YACH,OAAO,QAAQ,CAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC;KAAA;IAQY,YAAY;6DAAC,EACxB,QAAQ,EACR,MAAM,GAIP;YACC,OAAO,IAAI,CAAC,YAAY,CAAO;gBAC7B,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC;gBAChC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,UAAU;6DAAC,EACtB,QAAQ,EACR,MAAM,GAIP;YACC,OAAO,IAAI,CAAC,YAAY,CAAO;gBAC7B,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC;gBACjC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KAAA;IAQY,SAAS;6DAAC,EACrB,QAAQ,EACR,MAAM,EACN,KAAK,GAKN;YACC,OAAO,IAAI,CAAC,YAAY,CAAO;gBAC7B,KAAK,EAAE,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC;gBACvC,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KAAA;IAiBY,WAAW;6DAAC,EACvB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,OAAO,EACP,UAAU,GACM;YAChB,OAAO,IAAI,CAAC,YAAY,CAAO;gBAC7B,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;gBAC9D,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KAAA;IAgBY,UAAU;6DAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAkB;YAC1E,OAAO,IAAI,CAAC,YAAY,CAAO;gBAC7B,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;gBACjD,QAAQ;aACT,CAAC,CAAC;QACL,CAAC;KAAA;IAiBY,MAAM;6DAAC,EAClB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,EACJ,SAAS,GAAG,GAAG,EACf,OAAO,GACI;YACX,MAAM,GAAG,GAAG,EAAE,CAAC;YAEf,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;YAEjE,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAO;oBACrC,KAAK;oBACL,QAAQ;iBACT,CAAC,CAAC,CAAC;gBAEJ,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;gBACvG,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAeY,SAAS;6DAAC,EACrB,QAAQ,EACR,KAAK,EACL,OAAO,EACP,SAAS,GAAG,IAAI,EAChB,MAAM,GAAG,CAAC,EACV,KAAK,GACS;YACd,IAAI,KAAa,EAAE,IAAI,EAAE,MAAM,GAAU,EAAE,CAAC;YAC5C,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;gBAC/B,SAAS,GAAG,KAAK,CAAC;YACpB,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAqB;oBAC3D,KAAK,EAAE,sBAAsB,CAAC,KAAK,CAAC;oBACpC,QAAQ;iBACT,CAAC,CAAC;gBACH,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;YACxB,CAAC;YAED,GAAG,CAAC;gBACF,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAM;oBACvC,KAAK,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;oBAClD,QAAQ;iBACT,CAAC,CAAC,CAAC;gBACJ,MAAM,IAAI,SAAS,CAAC;gBACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1D,CAAC;gBACD,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACpC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;oBAChC,MAAM;gBACR,CAAC;YACH,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE;YAEtB,OAAO,QAAQ,CAAM,MAAM,CAAC,CAAC;QAC/B,CAAC;KAAA;IAQY,cAAc;6DAAC,EAC1B,QAAQ,EACR,MAAM,EACN,KAAK,GAKN;YACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAkB;gBACxD,QAAQ;gBACR,KAAK,EAAE,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC;aAC7C,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpB,CAAC;KAAA;IAgBY,OAAO;6DAAC,EACnB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,GAAG,EACH,KAAK,EACL,GAAG,EACH,WAAW,GACC;YACZ,OAAO,IAAI,CAAC,YAAY,CAAC;gBACvB,QAAQ;gBACR,KAAK,EAAE,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC;aACpE,CAAC,CAAC;QACL,CAAC;KAAA;IAgBY,UAAU;6DAAC,EACtB,QAAQ,EACR,MAAM,EACN,KAAK,EACL,IAAI,EACJ,WAAW,GACI;YACf,OAAO,IAAI,CAAC,YAAY,CAAC;gBACvB,QAAQ;gBACR,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC;aAC5D,CAAC,CAAC;QACL,CAAC;KAAA;IAYY,mBAAmB;6DAAC,EAC/B,QAAQ,EACR,MAAM,EACN,KAAK,GAKN;YACC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAoB;gBAC1D,QAAQ;gBACR,KAAK,EAAE,2BAA2B,CAAC,MAAM,EAAE,KAAK,CAAC;aAClD,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtB,CAAC;KAAA;IAQY,SAAS;;YACpB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAkB;gBAC7C,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;QACL,CAAC;KAAA;CACF"}
1
+ {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,172 @@
1
- export default (schema, table) => `SELECT 'CREATE TABLE ' || '${schema}.${table}' || ' (' || '\n' || '' ||
2
- string_agg(column_list.column_expr, ', ' || '\n' || '') ||
3
- '' || ',\n' || 'PRIMARY KEY (' || (SELECT string_agg(a.attname, ', ') AS pk
4
- FROM
5
- pg_constraint AS c
6
- CROSS JOIN LATERAL UNNEST(c.conkey) AS cols(colnum) -- conkey is a list of the columns of the constraint; so we split it into rows so that we can join all column numbers onto their names in pg_attribute
7
- INNER JOIN pg_attribute AS a ON a.attrelid = c.conrelid AND cols.colnum = a.attnum
8
- WHERE
9
- c.contype = 'p' -- p = primary key constraint
10
- AND c.conrelid = '${schema}.${table}'::REGCLASS limit 1) || '));' code
11
- FROM (
12
- SELECT ' ' || column_name || ' ' || data_type ||
13
- coalesce('(' || character_maximum_length || ')', '') ||
14
- case when is_nullable = 'YES' then '' else ' NOT NULL' end as column_expr
15
- FROM information_schema.columns
16
- WHERE table_schema = '${schema}' AND table_name = '${table}'
17
- ORDER BY ordinal_position) column_list;`;
1
+ export default (schema, table) => `
2
+ with tbl as (
3
+ SELECT format(
4
+ 'CREATE TABLE if not exists %I.%I (%s%s);',
5
+ c.table_schema,
6
+ c.table_name,
7
+
8
+ -- 1. COLUMN DEFINITIONS (Your existing logic)
9
+ string_agg(
10
+ format(
11
+ '%I %s%s',
12
+ c.column_name,
13
+ CASE
14
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
15
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
16
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
17
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
18
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
19
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
20
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
21
+ ELSE c.data_type
22
+ END,
23
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
24
+ CASE
25
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
26
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
27
+ ELSE ''
28
+ END
29
+ ),
30
+ ', ' ORDER BY c.ordinal_position
31
+ ),
32
+
33
+ -- 2. FOREIGN KEY DEFINITIONS (New Logic)
34
+ COALESCE(
35
+ (
36
+ SELECT string_agg(
37
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
38
+ ''
39
+ )
40
+ FROM pg_constraint con
41
+ JOIN pg_class t ON con.conrelid = t.oid
42
+ JOIN pg_namespace n ON t.relnamespace = n.oid
43
+ WHERE n.nspname = c.table_schema
44
+ AND t.relname = c.table_name
45
+ AND con.contype = 'f' -- 'f' = Foreign Key
46
+ ),
47
+ ''
48
+ )
49
+
50
+ ) as code
51
+ FROM information_schema.columns c
52
+ WHERE c.table_schema = '${schema}'
53
+ AND c.table_name = '${table}'
54
+ GROUP BY c.table_schema, c.table_name
55
+ ),
56
+
57
+ indexes as (SELECT
58
+ regexp_replace(
59
+ indexdef,
60
+ 'CREATE (UNIQUE )?INDEX',
61
+ 'CREATE \\1INDEX IF NOT EXISTS'
62
+ ) || ';' as code
63
+ FROM pg_indexes
64
+ WHERE schemaname = '${schema}'
65
+ and tablename = '${table}'
66
+ ORDER BY schemaname, tablename, indexname)
67
+
68
+ select code from tbl
69
+ union all
70
+ select code from indexes
71
+ `;
72
+ export const generateDbDefinitionsQuery = () => `
73
+ with schemas as(
74
+ SELECT 'CREATE SCHEMA IF NOT EXISTS ' || quote_ident(nspname) || ';' code
75
+ FROM pg_namespace
76
+ WHERE nspname NOT LIKE 'pg_%'
77
+ AND nspname != 'information_schema'
78
+ ORDER BY nspname
79
+ ),
80
+
81
+ fk_info AS (
82
+ -- Calculate FK definitions and counts per table beforehand
83
+ SELECT
84
+ n.nspname as schema_name,
85
+ t.relname as table_name,
86
+ count(*) as fk_count,
87
+ string_agg(
88
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
89
+ ''
90
+ ) as fk_defs
91
+ FROM pg_constraint con
92
+ JOIN pg_class t ON con.conrelid = t.oid
93
+ JOIN pg_namespace n ON t.relnamespace = n.oid
94
+ WHERE con.contype = 'f' -- Foreign Key
95
+ GROUP BY n.nspname, t.relname
96
+ ),
97
+
98
+ tables as (SELECT format(
99
+ 'CREATE TABLE IF NOT EXISTS %I.%I (%s%s);',
100
+ c.table_schema,
101
+ c.table_name,
102
+
103
+ -- 1. COLUMN DEFINITIONS
104
+ string_agg(
105
+ format(
106
+ '%I %s%s',
107
+ c.column_name,
108
+ CASE
109
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
110
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
111
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
112
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
113
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
114
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
115
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
116
+ ELSE c.data_type
117
+ END,
118
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
119
+ CASE
120
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
121
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
122
+ ELSE ''
123
+ END
124
+ ),
125
+ ', ' ORDER BY c.ordinal_position
126
+ ),
127
+
128
+ -- 2. FOREIGN KEY DEFINITIONS (Joined from CTE)
129
+ COALESCE(MAX(f.fk_defs), '')
130
+
131
+ ) as code
132
+ FROM information_schema.columns c
133
+ LEFT JOIN fk_info f ON c.table_schema = f.schema_name AND c.table_name = f.table_name
134
+ WHERE c.table_schema NOT IN ('information_schema', 'pg_catalog')
135
+ AND c.table_schema NOT LIKE 'pg_toast%'
136
+ GROUP BY c.table_schema, c.table_name
137
+ ORDER BY
138
+ -- ORDER LOGIC: Tables with 0 FKs first, then 1, then 2...
139
+ COALESCE(MAX(f.fk_count), 0) ASC,
140
+ c.table_schema,
141
+ c.table_name),
142
+
143
+
144
+ indexes as (SELECT
145
+ regexp_replace(
146
+ indexdef,
147
+ 'CREATE (UNIQUE )?INDEX',
148
+ 'CREATE \\1INDEX IF NOT EXISTS'
149
+ ) || ';' as code
150
+ FROM pg_indexes
151
+ WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
152
+ AND schemaname NOT LIKE 'pg_toast%'
153
+ ORDER BY schemaname, tablename, indexname)
154
+
155
+
156
+
157
+ select '--Create schemas' code
158
+ union all
159
+ select code from schemas
160
+
161
+ union all
162
+ select '\n\n--Create tables'
163
+ union all
164
+ select code from tables
165
+
166
+ union all
167
+ select '\n\n--Create indexes'
168
+ union all
169
+ select code from indexes
170
+
171
+ `;
18
172
  //# sourceMappingURL=getGenerateTableSchemaQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGenerateTableSchemaQuery.js","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":"AAEA,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC,8BAA8B,MAAM,IAAI,KAAK;;;;;;;;;4BASnE,MAAM,IAAI,KAAK;;;;;;8BAMb,MAAM,uBAAuB,KAAK;+CACjB,CAAC"}
1
+ {"version":3,"file":"getGenerateTableSchemaQuery.js","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":"AACA,eAAe,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAmDpB,MAAM;0BACV,KAAK;;;;;;;;;;;sBAWT,MAAM;mBACT,KAAK;;;;;;CAMvB,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmG/C,CAAC"}
@@ -51,5 +51,6 @@ export declare class Pgsql extends Base {
51
51
  table: string;
52
52
  }): Promise<string>;
53
53
  getDBSize(): Promise<GetDBSizeResult>;
54
+ generateDbDefinition(database: string): Promise<string>;
54
55
  }
55
56
  //# sourceMappingURL=Pgsql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pgsql.d.ts","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pgsql.d.ts","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  declare const _default: (schema: string, table: string) => string;
2
2
  export default _default;
3
+ export declare const generateDbDefinitionsQuery: () => string;
3
4
  //# sourceMappingURL=getGenerateTableSchemaQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGenerateTableSchemaQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":"iCAEwB,MAAM,SAAS,MAAM;AAA7C,wBAgBgD"}
1
+ {"version":3,"file":"getGenerateTableSchemaQuery.d.ts","sourceRoot":"","sources":["../../../src/utils/getGenerateTableSchemaQuery.ts"],"names":[],"mappings":"iCACwB,MAAM,SAAS,MAAM;AAA7C,wBAsEE;AAEF,eAAO,MAAM,0BAA0B,cAmGtC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@or-sdk/pgsql",
3
- "version": "1.2.4",
3
+ "version": "1.3.0-beta.3887.0",
4
4
  "license": "Apache-2.0",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -26,6 +26,5 @@
26
26
  },
27
27
  "publishConfig": {
28
28
  "access": "public"
29
- },
30
- "gitHead": "9deea9f914551e435336bc856e77b4fdfd7bdd54"
29
+ }
31
30
  }
package/src/Pgsql.ts CHANGED
@@ -22,6 +22,7 @@ import {
22
22
  getInsertQueries,
23
23
  getListTablesQuery, getSelectAllCountQuery, getSelectAllQuery,
24
24
  } from './utils';
25
+ import { generateDbDefinitionsQuery } from './utils/getGenerateTableSchemaQuery';
25
26
 
26
27
 
27
28
  export class Pgsql extends Base {
@@ -58,7 +59,7 @@ export class Pgsql extends Base {
58
59
  public async makeRequest<T>(params: CalApiParams): Promise<T> {
59
60
  if (this.feature && this.feature !== 'master') {
60
61
  params.params ||= {};
61
- (params.params as any).feature = this.feature;
62
+ (params.params as Record<string, unknown>).feature = this.feature;
62
63
  }
63
64
 
64
65
  return this.callApi<T>(params);
@@ -507,7 +508,7 @@ export class Pgsql extends Base {
507
508
  query: getGenerateTableSchemaQuery(schema, table),
508
509
  });
509
510
 
510
- return rows[0].code;
511
+ return rows.map(x => x.code).join('\n');
511
512
  }
512
513
 
513
514
  /**
@@ -522,4 +523,18 @@ export class Pgsql extends Base {
522
523
  route: 'size',
523
524
  });
524
525
  }
526
+
527
+ /**
528
+ * Generate database definition
529
+ * ```typescript
530
+ * const result = pgsql.generateDbDefinition('databaseName');
531
+ * ```
532
+ */
533
+ public async generateDbDefinition(database: string): Promise<string> {
534
+ const { rows } = await this.executeQuery<{ code: string; }>({
535
+ database,
536
+ query: generateDbDefinitionsQuery(),
537
+ });
538
+ return rows.map(x => x.code).join('\n');
539
+ }
525
540
  }
@@ -1,19 +1,173 @@
1
- /* eslint-disable max-len */
2
-
3
- export default (schema: string, table: string) => `SELECT 'CREATE TABLE ' || '${schema}.${table}' || ' (' || '\n' || '' ||
4
- string_agg(column_list.column_expr, ', ' || '\n' || '') ||
5
- '' || ',\n' || 'PRIMARY KEY (' || (SELECT string_agg(a.attname, ', ') AS pk
6
- FROM
7
- pg_constraint AS c
8
- CROSS JOIN LATERAL UNNEST(c.conkey) AS cols(colnum) -- conkey is a list of the columns of the constraint; so we split it into rows so that we can join all column numbers onto their names in pg_attribute
9
- INNER JOIN pg_attribute AS a ON a.attrelid = c.conrelid AND cols.colnum = a.attnum
10
- WHERE
11
- c.contype = 'p' -- p = primary key constraint
12
- AND c.conrelid = '${schema}.${table}'::REGCLASS limit 1) || '));' code
13
- FROM (
14
- SELECT ' ' || column_name || ' ' || data_type ||
15
- coalesce('(' || character_maximum_length || ')', '') ||
16
- case when is_nullable = 'YES' then '' else ' NOT NULL' end as column_expr
17
- FROM information_schema.columns
18
- WHERE table_schema = '${schema}' AND table_name = '${table}'
19
- ORDER BY ordinal_position) column_list;`;
1
+
2
+ export default (schema: string, table: string) => `
3
+ with tbl as (
4
+ SELECT format(
5
+ 'CREATE TABLE if not exists %I.%I (%s%s);',
6
+ c.table_schema,
7
+ c.table_name,
8
+
9
+ -- 1. COLUMN DEFINITIONS (Your existing logic)
10
+ string_agg(
11
+ format(
12
+ '%I %s%s',
13
+ c.column_name,
14
+ CASE
15
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
16
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
17
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
18
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
19
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
20
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
21
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
22
+ ELSE c.data_type
23
+ END,
24
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
25
+ CASE
26
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
27
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
28
+ ELSE ''
29
+ END
30
+ ),
31
+ ', ' ORDER BY c.ordinal_position
32
+ ),
33
+
34
+ -- 2. FOREIGN KEY DEFINITIONS (New Logic)
35
+ COALESCE(
36
+ (
37
+ SELECT string_agg(
38
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
39
+ ''
40
+ )
41
+ FROM pg_constraint con
42
+ JOIN pg_class t ON con.conrelid = t.oid
43
+ JOIN pg_namespace n ON t.relnamespace = n.oid
44
+ WHERE n.nspname = c.table_schema
45
+ AND t.relname = c.table_name
46
+ AND con.contype = 'f' -- 'f' = Foreign Key
47
+ ),
48
+ ''
49
+ )
50
+
51
+ ) as code
52
+ FROM information_schema.columns c
53
+ WHERE c.table_schema = '${schema}'
54
+ AND c.table_name = '${table}'
55
+ GROUP BY c.table_schema, c.table_name
56
+ ),
57
+
58
+ indexes as (SELECT
59
+ regexp_replace(
60
+ indexdef,
61
+ 'CREATE (UNIQUE )?INDEX',
62
+ 'CREATE \\1INDEX IF NOT EXISTS'
63
+ ) || ';' as code
64
+ FROM pg_indexes
65
+ WHERE schemaname = '${schema}'
66
+ and tablename = '${table}'
67
+ ORDER BY schemaname, tablename, indexname)
68
+
69
+ select code from tbl
70
+ union all
71
+ select code from indexes
72
+ `;
73
+
74
+ export const generateDbDefinitionsQuery = () => `
75
+ with schemas as(
76
+ SELECT 'CREATE SCHEMA IF NOT EXISTS ' || quote_ident(nspname) || ';' code
77
+ FROM pg_namespace
78
+ WHERE nspname NOT LIKE 'pg_%'
79
+ AND nspname != 'information_schema'
80
+ ORDER BY nspname
81
+ ),
82
+
83
+ fk_info AS (
84
+ -- Calculate FK definitions and counts per table beforehand
85
+ SELECT
86
+ n.nspname as schema_name,
87
+ t.relname as table_name,
88
+ count(*) as fk_count,
89
+ string_agg(
90
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
91
+ ''
92
+ ) as fk_defs
93
+ FROM pg_constraint con
94
+ JOIN pg_class t ON con.conrelid = t.oid
95
+ JOIN pg_namespace n ON t.relnamespace = n.oid
96
+ WHERE con.contype = 'f' -- Foreign Key
97
+ GROUP BY n.nspname, t.relname
98
+ ),
99
+
100
+ tables as (SELECT format(
101
+ 'CREATE TABLE IF NOT EXISTS %I.%I (%s%s);',
102
+ c.table_schema,
103
+ c.table_name,
104
+
105
+ -- 1. COLUMN DEFINITIONS
106
+ string_agg(
107
+ format(
108
+ '%I %s%s',
109
+ c.column_name,
110
+ CASE
111
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
112
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
113
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
114
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
115
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
116
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
117
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
118
+ ELSE c.data_type
119
+ END,
120
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
121
+ CASE
122
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
123
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
124
+ ELSE ''
125
+ END
126
+ ),
127
+ ', ' ORDER BY c.ordinal_position
128
+ ),
129
+
130
+ -- 2. FOREIGN KEY DEFINITIONS (Joined from CTE)
131
+ COALESCE(MAX(f.fk_defs), '')
132
+
133
+ ) as code
134
+ FROM information_schema.columns c
135
+ LEFT JOIN fk_info f ON c.table_schema = f.schema_name AND c.table_name = f.table_name
136
+ WHERE c.table_schema NOT IN ('information_schema', 'pg_catalog')
137
+ AND c.table_schema NOT LIKE 'pg_toast%'
138
+ GROUP BY c.table_schema, c.table_name
139
+ ORDER BY
140
+ -- ORDER LOGIC: Tables with 0 FKs first, then 1, then 2...
141
+ COALESCE(MAX(f.fk_count), 0) ASC,
142
+ c.table_schema,
143
+ c.table_name),
144
+
145
+
146
+ indexes as (SELECT
147
+ regexp_replace(
148
+ indexdef,
149
+ 'CREATE (UNIQUE )?INDEX',
150
+ 'CREATE \\1INDEX IF NOT EXISTS'
151
+ ) || ';' as code
152
+ FROM pg_indexes
153
+ WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
154
+ AND schemaname NOT LIKE 'pg_toast%'
155
+ ORDER BY schemaname, tablename, indexname)
156
+
157
+
158
+
159
+ select '--Create schemas' code
160
+ union all
161
+ select code from schemas
162
+
163
+ union all
164
+ select '\n\n--Create tables'
165
+ union all
166
+ select code from tables
167
+
168
+ union all
169
+ select '\n\n--Create indexes'
170
+ union all
171
+ select code from indexes
172
+
173
+ `;