@or-sdk/pgsql 1.2.4 → 1.3.0-beta.3886.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) {
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAkF;AAElF,yCAA8D;AAW9D,iCAUiB;AAGjB;IAA2B,yBAAI;IAK7B,eAAY,MAAmB;QAA/B,iBAaC;QAZS,IAAA,KAAK,GAAgG,MAAM,MAAtG,EAAE,YAAY,GAAkF,MAAM,aAAxF,EAAE,SAAS,GAAuE,MAAM,UAA7E,EAAE,QAAQ,GAA6D,MAAM,SAAnE,EAAE,KAA2D,MAAM,QAA/C,EAAlB,OAAO,mBAAG,QAAQ,KAAA,EAAE,UAAU,GAA6B,MAAM,WAAnC,EAAE,SAAS,GAAkB,MAAM,UAAxB,EAAE,WAAW,GAAK,MAAM,YAAX,CAAY;QACpH,QAAA,MAAK,YAAC;YACJ,KAAK,OAAA;YACL,YAAY,cAAA;YACZ,UAAU,EAAE,uBAAW;YACvB,SAAS,WAAA;YACT,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,OAAO;SACjB,CAAC,SAAC;QACH,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,KAAI,CAAC,WAAW,GAAG,WAAW,CAAC;;IACjC,CAAC;IAaY,2BAAW,GAAxB,UAA4B,MAAoB;;;gBAC9C,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC9C,MAAM,CAAC,MAAM,KAAb,MAAM,CAAC,MAAM,GAAK,EAAE,EAAC;oBACpB,MAAM,CAAC,MAAc,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAChD,CAAC;gBAED,WAAO,IAAI,CAAC,OAAO,CAAI,MAAM,CAAC,EAAC;;;KAChC;IAED,0BAAU,GAAV,UAAW,IAAoB;QAC7B,OAAO,IAAI,CAAC,cAAc;YACxB,CAAC,CAAC,UAAG,IAAI,CAAC,GAAG,cAAI,IAAI,CAAC,eAAe,CAAE;YACvC,CAAC,CAAC,UAAG,IAAI,CAAC,GAAG,aAAU,CAAC;IAC5B,CAAC;IAWY,4BAAY,GAAzB;4DAA6B,EAA6C;gBAA3C,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA;;gBACpD,WAAO,IAAI,CAAC,WAAW,CAA0B;wBAC/C,IAAI,EAAE;4BACJ,KAAK,OAAA;4BACL,MAAM,QAAA;4BACN,QAAQ,UAAA;4BACR,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;4BAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;yBAC1B;wBACD,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,OAAO;qBACf,CAAC,EAAC;;;KACJ;IAQY,6BAAa,GAA1B;;;;;4BACwB,WAAM,IAAI,CAAC,WAAW,CAAwB;4BAClE,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,WAAW;yBACnB,CAAC,EAAA;;wBAHM,SAAS,GAAK,CAAA,SAGpB,CAAA,UAHe;wBAKjB,WAAO,IAAA,eAAQ,EAAe,SAAS,CAAC,EAAC;;;;KAC1C;IAQY,8BAAc,GAA3B;4DAA4B,EAGL;gBAFrB,QAAQ,cAAA,EACR,mBAAmB,yBAAA;;gBAEnB,WAAO,IAAI,CAAC,WAAW,CAAyB;wBAC9C,IAAI,EAAE;4BACJ,QAAQ,UAAA;4BACR,mBAAmB,qBAAA;yBACpB;wBACD,MAAM,EAAE,KAAK;wBACb,KAAK,EAAE,WAAW;qBACnB,CAAC,EAAC;;;KACJ;IAwBY,4BAAY,GAAzB;4DAA0B,EAMzB;gBALC,QAAQ,cAAA,EACR,UAAU,gBAAA;;gBAKV,WAAO,IAAI,CAAC,WAAW,CAAuB;wBAC5C,IAAI,EAAE;4BACJ,QAAQ,UAAA;4BACR,UAAU,YAAA;yBACX;wBACD,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,WAAW;qBACnB,CAAC,EAAC;;;KACJ;IAQY,0BAAU,GAAvB;4DAAwB,EAMvB;;gBALC,QAAQ,cAAA,EACR,cAAiB,EAAjB,MAAM,mBAAG,QAAQ,KAAA;;;4BAKA,WAAM,IAAI,CAAC,YAAY,CAA0B;4BAChE,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC;4BACjC,QAAQ,UAAA;yBACT,CAAC,EAAA;;wBAHM,IAAI,GAAK,CAAA,SAGf,CAAA,KAHU;wBAIZ,WAAO,IAAA,eAAQ,EAAS,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,UAAU,EAAZ,CAAY,CAAC,CAAC,EAAC;;;;KACtD;IAQY,2BAAW,GAAxB;4DAAyB,EAAmC;;gBAAjC,QAAQ,cAAA;;;4BAChB,WAAM,IAAI,CAAC,YAAY,CAA2B;4BACjE,KAAK,EAAE,8BAAkB;4BACzB,QAAQ,UAAA;yBACT,CAAC,EAAA;;wBAHM,IAAI,GAAK,CAAA,SAGf,CAAA,KAHU;wBAIZ,WAAO,IAAA,eAAQ,EAAS,IAAI,CAAC,GAAG,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,WAAW,EAAb,CAAa,CAAC,CAAC,EAAC;;;;KACvD;IAQY,4BAAY,GAAzB;4DAA0B,EAMzB;gBALC,QAAQ,cAAA,EACR,MAAM,YAAA;;gBAKN,WAAO,IAAI,CAAC,YAAY,CAAO;wBAC7B,KAAK,EAAE,IAAA,yBAAiB,EAAC,MAAM,CAAC;wBAChC,QAAQ,UAAA;qBACT,CAAC,EAAC;;;KACJ;IAQY,0BAAU,GAAvB;4DAAwB,EAMvB;gBALC,QAAQ,cAAA,EACR,MAAM,YAAA;;gBAKN,WAAO,IAAI,CAAC,YAAY,CAAO;wBAC7B,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAM,CAAC;wBACjC,QAAQ,UAAA;qBACT,CAAC,EAAC;;;KACJ;IAQY,yBAAS,GAAtB;4DAAuB,EAQtB;gBAPC,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA;;gBAML,WAAO,IAAI,CAAC,YAAY,CAAO;wBAC7B,KAAK,EAAE,IAAA,yBAAiB,EAAC,MAAM,EAAE,KAAK,CAAC;wBACvC,QAAQ,UAAA;qBACT,CAAC,EAAC;;;KACJ;IAiBY,2BAAW,GAAxB;4DAAyB,EAMP;gBALhB,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA,EACL,OAAO,aAAA,EACP,UAAU,gBAAA;;gBAEV,WAAO,IAAI,CAAC,YAAY,CAAO;wBAC7B,KAAK,EAAE,IAAA,2BAAmB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;wBAC9D,QAAQ,UAAA;qBACT,CAAC,EAAC;;;KACJ;IAgBY,0BAAU,GAAvB;4DAAwB,EAAoD;gBAAlD,QAAQ,cAAA,EAAE,MAAM,YAAA,EAAE,KAAK,WAAA,EAAE,OAAO,aAAA;;gBACxD,WAAO,IAAI,CAAC,YAAY,CAAO;wBAC7B,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;wBACjD,QAAQ,UAAA;qBACT,CAAC,EAAC;;;KACJ;IAiBY,sBAAM,GAAnB;4DAAoB,EAOP;;gBANX,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,iBAAe,EAAf,SAAS,mBAAG,GAAG,KAAA,EACf,OAAO,aAAA;;;;wBAED,GAAG,GAAG,EAAE,CAAC;wBAET,OAAO,GAAG,IAAA,wBAAgB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;8BAEP,EAA7B,KAAA,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;;;6BAA7B,CAAA,cAA6B,CAAA;wBAA/C,WAAc,EAAb,KAAK,QAAA,EAAE,KAAK,QAAA;wBACtB,KAAA,CAAA,KAAA,GAAG,CAAA,CAAC,IAAI,CAAA;wBAAC,WAAM,IAAI,CAAC,YAAY,CAAO;gCACrC,KAAK,OAAA;gCACL,QAAQ,UAAA;6BACT,CAAC,EAAA;;wBAHF,cAAS,SAGP,EAAC,CAAC;wBAEJ,IAAI,OAAO,EAAE,CAAC;4BACZ,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;wBACvG,CAAC;;;wBAR0B,IAA6B,CAAA;;4BAW1D,WAAO,GAAG,EAAC;;;;KACZ;IAeY,yBAAS,GAAtB;4DAAuB,EAOP;;gBANd,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,OAAO,aAAA,EACP,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,cAAU,EAAV,MAAM,mBAAG,CAAC,KAAA,EACV,KAAK,WAAA;;;;wBAEoB,MAAM,GAAU,EAAE,CAAC;wBAC5C,IAAI,KAAK,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;4BAC/B,SAAS,GAAG,KAAK,CAAC;wBACpB,CAAC;6BAEG,OAAO,EAAP,cAAO;wBACQ,WAAM,IAAI,CAAC,YAAY,CAAqB;gCAC3D,KAAK,EAAE,IAAA,8BAAsB,EAAC,KAAK,CAAC;gCACpC,QAAQ,UAAA;6BACT,CAAC,EAAA;;wBAHM,SAAS,CAAA,SAGf,CAAA,KAHU;wBAIZ,KAAK,GAAG,MAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;wBACtB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;;4BAIV,WAAM,IAAI,CAAC,YAAY,CAAM;4BACvC,KAAK,EAAE,IAAA,yBAAiB,EAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;4BAClD,QAAQ,UAAA;yBACT,CAAC,EAAA;;wBAHF,CAAG,IAAI,GAAK,CAAA,SAGV,CAAA,KAHK,CAGJ,CAAC;wBACJ,MAAM,IAAI,SAAS,CAAC;wBACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;wBAC7B,IAAI,OAAO,EAAE,CAAC;4BACZ,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,KAAM,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;wBAC1D,CAAC;wBACD,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;4BACpC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;4BAChC,cAAM;wBACR,CAAC;;;4BACM,IAAI,CAAC,MAAM;;4BAEpB,WAAO,IAAA,eAAQ,EAAM,MAAM,CAAC,EAAC;;;;KAC9B;IAQY,8BAAc,GAA3B;4DAA4B,EAQ3B;;gBAPC,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA;;;4BAMY,WAAM,IAAI,CAAC,YAAY,CAAkB;4BACxD,QAAQ,UAAA;4BACR,KAAK,EAAE,IAAA,8BAAsB,EAAC,MAAM,EAAE,KAAK,CAAC;yBAC7C,CAAC,EAAA;;wBAHM,IAAI,GAAK,CAAA,SAGf,CAAA,KAHU;wBAIZ,WAAO,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAC;;;;KACnB;IAgBY,uBAAO,GAApB;4DAAqB,EAQP;gBAPZ,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA,EACL,GAAG,SAAA,EACH,KAAK,WAAA,EACL,GAAG,SAAA,EACH,WAAW,iBAAA;;gBAEX,WAAO,IAAI,CAAC,YAAY,CAAC;wBACvB,QAAQ,UAAA;wBACR,KAAK,EAAE,IAAA,uBAAe,EAAC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC;qBACpE,CAAC,EAAC;;;KACJ;IAgBY,0BAAU,GAAvB;4DAAwB,EAMP;gBALf,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA,EACL,IAAI,UAAA,EACJ,WAAW,iBAAA;;gBAEX,WAAO,IAAI,CAAC,YAAY,CAAC;wBACvB,QAAQ,UAAA;wBACR,KAAK,EAAE,IAAA,0BAAkB,EAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC;qBAC5D,CAAC,EAAC;;;KACJ;IAYY,mCAAmB,GAAhC;4DAAiC,EAQhC;;gBAPC,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,KAAK,WAAA;;;4BAMY,WAAM,IAAI,CAAC,YAAY,CAAoB;4BAC1D,QAAQ,UAAA;4BACR,KAAK,EAAE,IAAA,mCAA2B,EAAC,MAAM,EAAE,KAAK,CAAC;yBAClD,CAAC,EAAA;;wBAHM,IAAI,GAAK,CAAA,SAGf,CAAA,KAHU;wBAKZ,WAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAC;;;;KACrB;IAQY,yBAAS,GAAtB;;;;4BACS,WAAM,IAAI,CAAC,WAAW,CAAkB;4BAC7C,MAAM,EAAE,KAAK;4BACb,KAAK,EAAE,MAAM;yBACd,CAAC,EAAA;4BAHF,WAAO,SAGL,EAAC;;;;KACJ;IACH,YAAC;AAAD,CAAC,AAlfD,CAA2B,WAAI,GAkf9B;AAlfY,sBAAK"}
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 "\nSELECT 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\nFROM 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"); });
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,+5DAkDtB,MAAM,uCACV,KAAK,kDAE5B,EArDiD,CAqDjD,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;
@@ -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":"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"}
1
+ {"version":3,"file":"Pgsql.js","sourceRoot":"","sources":["../../src/Pgsql.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,155 @@
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
+ SELECT format(
3
+ 'CREATE TABLE if not exists %I.%I (%s%s);',
4
+ c.table_schema,
5
+ c.table_name,
6
+
7
+ -- 1. COLUMN DEFINITIONS (Your existing logic)
8
+ string_agg(
9
+ format(
10
+ '%I %s%s',
11
+ c.column_name,
12
+ CASE
13
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
14
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
15
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
16
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
17
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
18
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
19
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
20
+ ELSE c.data_type
21
+ END,
22
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
23
+ CASE
24
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
25
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
26
+ ELSE ''
27
+ END
28
+ ),
29
+ ', ' ORDER BY c.ordinal_position
30
+ ),
31
+
32
+ -- 2. FOREIGN KEY DEFINITIONS (New Logic)
33
+ COALESCE(
34
+ (
35
+ SELECT string_agg(
36
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
37
+ ''
38
+ )
39
+ FROM pg_constraint con
40
+ JOIN pg_class t ON con.conrelid = t.oid
41
+ JOIN pg_namespace n ON t.relnamespace = n.oid
42
+ WHERE n.nspname = c.table_schema
43
+ AND t.relname = c.table_name
44
+ AND con.contype = 'f' -- 'f' = Foreign Key
45
+ ),
46
+ ''
47
+ )
48
+
49
+ ) as code
50
+ FROM information_schema.columns c
51
+ WHERE c.table_schema = '${schema}'
52
+ AND c.table_name = '${table}'
53
+ GROUP BY c.table_schema, c.table_name;
54
+ `;
55
+ export const generateDbDefinitionsQuery = () => `
56
+ with schemas as(
57
+ SELECT 'CREATE SCHEMA IF NOT EXISTS ' || quote_ident(nspname) || ';' code
58
+ FROM pg_namespace
59
+ WHERE nspname NOT LIKE 'pg_%'
60
+ AND nspname != 'information_schema'
61
+ ORDER BY nspname
62
+ ),
63
+
64
+ fk_info AS (
65
+ -- Calculate FK definitions and counts per table beforehand
66
+ SELECT
67
+ n.nspname as schema_name,
68
+ t.relname as table_name,
69
+ count(*) as fk_count,
70
+ string_agg(
71
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
72
+ ''
73
+ ) as fk_defs
74
+ FROM pg_constraint con
75
+ JOIN pg_class t ON con.conrelid = t.oid
76
+ JOIN pg_namespace n ON t.relnamespace = n.oid
77
+ WHERE con.contype = 'f' -- Foreign Key
78
+ GROUP BY n.nspname, t.relname
79
+ ),
80
+
81
+ tables as (SELECT format(
82
+ 'CREATE TABLE IF NOT EXISTS %I.%I (%s%s);',
83
+ c.table_schema,
84
+ c.table_name,
85
+
86
+ -- 1. COLUMN DEFINITIONS
87
+ string_agg(
88
+ format(
89
+ '%I %s%s',
90
+ c.column_name,
91
+ CASE
92
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
93
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
94
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
95
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
96
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
97
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
98
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
99
+ ELSE c.data_type
100
+ END,
101
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
102
+ CASE
103
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
104
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
105
+ ELSE ''
106
+ END
107
+ ),
108
+ ', ' ORDER BY c.ordinal_position
109
+ ),
110
+
111
+ -- 2. FOREIGN KEY DEFINITIONS (Joined from CTE)
112
+ COALESCE(MAX(f.fk_defs), '')
113
+
114
+ ) as code
115
+ FROM information_schema.columns c
116
+ LEFT JOIN fk_info f ON c.table_schema = f.schema_name AND c.table_name = f.table_name
117
+ WHERE c.table_schema NOT IN ('information_schema', 'pg_catalog')
118
+ AND c.table_schema NOT LIKE 'pg_toast%'
119
+ GROUP BY c.table_schema, c.table_name
120
+ ORDER BY
121
+ -- ORDER LOGIC: Tables with 0 FKs first, then 1, then 2...
122
+ COALESCE(MAX(f.fk_count), 0) ASC,
123
+ c.table_schema,
124
+ c.table_name),
125
+
126
+
127
+ indexes as (SELECT
128
+ regexp_replace(
129
+ indexdef,
130
+ 'CREATE (UNIQUE )?INDEX',
131
+ 'CREATE \\1INDEX IF NOT EXISTS'
132
+ ) || ';' as code
133
+ FROM pg_indexes
134
+ WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
135
+ AND schemaname NOT LIKE 'pg_toast%'
136
+ ORDER BY schemaname, tablename, indexname)
137
+
138
+
139
+
140
+ select '--Create schemas' code
141
+ union all
142
+ select code from schemas
143
+
144
+ union all
145
+ select '\n\n--Create tables'
146
+ union all
147
+ select code from tables
148
+
149
+ union all
150
+ select '\n\n--Create indexes'
151
+ union all
152
+ select code from indexes
153
+
154
+ `;
18
155
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAkDtB,MAAM;wBACV,KAAK;;CAE5B,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,wBAqDE;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.3886.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);
@@ -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,156 @@
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
+ 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
+ export const generateDbDefinitionsQuery = () => `
58
+ with schemas as(
59
+ SELECT 'CREATE SCHEMA IF NOT EXISTS ' || quote_ident(nspname) || ';' code
60
+ FROM pg_namespace
61
+ WHERE nspname NOT LIKE 'pg_%'
62
+ AND nspname != 'information_schema'
63
+ ORDER BY nspname
64
+ ),
65
+
66
+ fk_info AS (
67
+ -- Calculate FK definitions and counts per table beforehand
68
+ SELECT
69
+ n.nspname as schema_name,
70
+ t.relname as table_name,
71
+ count(*) as fk_count,
72
+ string_agg(
73
+ format(', CONSTRAINT %I %s', con.conname, pg_get_constraintdef(con.oid)),
74
+ ''
75
+ ) as fk_defs
76
+ FROM pg_constraint con
77
+ JOIN pg_class t ON con.conrelid = t.oid
78
+ JOIN pg_namespace n ON t.relnamespace = n.oid
79
+ WHERE con.contype = 'f' -- Foreign Key
80
+ GROUP BY n.nspname, t.relname
81
+ ),
82
+
83
+ tables as (SELECT format(
84
+ 'CREATE TABLE IF NOT EXISTS %I.%I (%s%s);',
85
+ c.table_schema,
86
+ c.table_name,
87
+
88
+ -- 1. COLUMN DEFINITIONS
89
+ string_agg(
90
+ format(
91
+ '%I %s%s',
92
+ c.column_name,
93
+ CASE
94
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'bigint' THEN 'BIGSERIAL'
95
+ WHEN c.column_default LIKE 'nextval(%' AND c.data_type = 'integer' THEN 'SERIAL'
96
+ WHEN c.data_type = 'ARRAY' THEN regexp_replace(c.udt_name, '^_', '') || '[]'
97
+ WHEN c.data_type = 'USER-DEFINED' THEN c.udt_name
98
+ WHEN c.character_maximum_length IS NOT NULL THEN c.data_type || '(' || c.character_maximum_length || ')'
99
+ WHEN c.data_type IN ('numeric', 'decimal') AND c.numeric_precision IS NOT NULL AND c.numeric_scale IS NOT NULL
100
+ THEN c.data_type || '(' || c.numeric_precision || ',' || c.numeric_scale || ')'
101
+ ELSE c.data_type
102
+ END,
103
+ CASE WHEN c.is_nullable = 'NO' THEN ' NOT NULL' ELSE '' END ||
104
+ CASE
105
+ WHEN c.column_default LIKE 'nextval(%' THEN ''
106
+ WHEN c.column_default IS NOT NULL THEN ' DEFAULT ' || c.column_default
107
+ ELSE ''
108
+ END
109
+ ),
110
+ ', ' ORDER BY c.ordinal_position
111
+ ),
112
+
113
+ -- 2. FOREIGN KEY DEFINITIONS (Joined from CTE)
114
+ COALESCE(MAX(f.fk_defs), '')
115
+
116
+ ) as code
117
+ FROM information_schema.columns c
118
+ LEFT JOIN fk_info f ON c.table_schema = f.schema_name AND c.table_name = f.table_name
119
+ WHERE c.table_schema NOT IN ('information_schema', 'pg_catalog')
120
+ AND c.table_schema NOT LIKE 'pg_toast%'
121
+ GROUP BY c.table_schema, c.table_name
122
+ ORDER BY
123
+ -- ORDER LOGIC: Tables with 0 FKs first, then 1, then 2...
124
+ COALESCE(MAX(f.fk_count), 0) ASC,
125
+ c.table_schema,
126
+ c.table_name),
127
+
128
+
129
+ indexes as (SELECT
130
+ regexp_replace(
131
+ indexdef,
132
+ 'CREATE (UNIQUE )?INDEX',
133
+ 'CREATE \\1INDEX IF NOT EXISTS'
134
+ ) || ';' as code
135
+ FROM pg_indexes
136
+ WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
137
+ AND schemaname NOT LIKE 'pg_toast%'
138
+ ORDER BY schemaname, tablename, indexname)
139
+
140
+
141
+
142
+ select '--Create schemas' code
143
+ union all
144
+ select code from schemas
145
+
146
+ union all
147
+ select '\n\n--Create tables'
148
+ union all
149
+ select code from tables
150
+
151
+ union all
152
+ select '\n\n--Create indexes'
153
+ union all
154
+ select code from indexes
155
+
156
+ `;