typesql-cli 0.16.0-experimental.0 → 0.16.0-experimental.2

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.
@@ -3,9 +3,11 @@ import { PostgresColumnSchema, PostgresDescribe } from './types';
3
3
  import { DatabaseClient, TypeSqlError } from '../types';
4
4
  import { Result, ResultAsync } from 'neverthrow';
5
5
  import { ColumnSchema } from '../mysql-query-analyzer/types';
6
+ import { ForeignKeyInfo } from '../sqlite-query-analyzer/query-executor';
6
7
  export declare function loadDbSchema(sql: Sql): ResultAsync<PostgresColumnSchema[], string>;
7
8
  export declare function mapToColumnSchema(col: PostgresColumnSchema): ColumnSchema;
8
9
  export declare const postgresDescribe: (sql: Sql, sqlQuery: string) => ResultAsync<PostgresDescribe, string>;
9
10
  export declare function postgresAnalyze(sql: Sql, sqlQuery: string): ResultAsync<string[], string>;
10
11
  export declare function createPostgresClient(databaseUri: string): Result<DatabaseClient, TypeSqlError>;
12
+ export declare function loadForeignKeys(sql: Sql): ResultAsync<ForeignKeyInfo[], TypeSqlError>;
11
13
  //# sourceMappingURL=postgres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAuB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAM,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAoDlF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,YAAY,CAWzE;AAED,eAAO,MAAM,gBAAgB,QAAS,GAAG,YAAY,MAAM,KAAG,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAuBjG,CAAA;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAezF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAM9F"}
1
+ {"version":3,"file":"postgres.d.ts","sourceRoot":"","sources":["../../../src/drivers/postgres.ts"],"names":[],"mappings":"AAAA,OAAiB,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,oBAAoB,EAAuB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAM,MAAM,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CA+DlF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,YAAY,CAYzE;AAED,eAAO,MAAM,gBAAgB,QAAS,GAAG,YAAY,MAAM,KAAG,WAAW,CAAC,gBAAgB,EAAE,MAAM,CAuBjG,CAAA;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAezF;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,CAAC,CAM9F;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,WAAW,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,CAqCrF"}
@@ -17,6 +17,7 @@ exports.loadDbSchema = loadDbSchema;
17
17
  exports.mapToColumnSchema = mapToColumnSchema;
18
18
  exports.postgresAnalyze = postgresAnalyze;
19
19
  exports.createPostgresClient = createPostgresClient;
20
+ exports.loadForeignKeys = loadForeignKeys;
20
21
  const postgres_1 = __importDefault(require("postgres"));
21
22
  const neverthrow_1 = require("neverthrow");
22
23
  const postgres_2 = require("../dialects/postgres");
@@ -34,7 +35,17 @@ function loadDbSchema(sql) {
34
35
  WHEN con.contype = 'p' THEN 'PRI' -- Primary key
35
36
  WHEN con.contype = 'u' THEN 'UNI' -- Unique constraint
36
37
  ELSE '' -- Otherwise, empty string
37
- END AS column_key
38
+ END AS column_key,
39
+ CASE
40
+ WHEN (
41
+ -- Check if the column is of type SERIAL
42
+ col.column_default LIKE 'nextval%'
43
+ OR
44
+ -- Check if the column is GENERATED ALWAYS AS IDENTITY
45
+ col.is_identity = 'YES'
46
+ ) THEN true
47
+ ELSE false
48
+ END AS autoincrement
38
49
  FROM
39
50
  information_schema.tables t
40
51
  JOIN
@@ -60,7 +71,8 @@ function loadDbSchema(sql) {
60
71
  column_name: row.column_name,
61
72
  type_id: row.type_id,
62
73
  is_nullable: row.is_nullable === 'YES',
63
- column_key: row.column_key
74
+ column_key: row.column_key,
75
+ autoincrement: row.autoincrement
64
76
  }));
65
77
  }), (reason) => {
66
78
  if (reason.errors && reason.errors.length > 0) {
@@ -77,7 +89,8 @@ function mapToColumnSchema(col) {
77
89
  notNull: !col.is_nullable,
78
90
  schema: col.table_schema,
79
91
  table: col.table_name,
80
- hidden: 0
92
+ hidden: 0,
93
+ autoincrement: col.autoincrement
81
94
  };
82
95
  return columnSchema;
83
96
  }
@@ -123,4 +136,38 @@ function createPostgresClient(databaseUri) {
123
136
  client: db
124
137
  });
125
138
  }
139
+ function loadForeignKeys(sql) {
140
+ return neverthrow_1.ResultAsync.fromThrowable(() => __awaiter(this, void 0, void 0, function* () {
141
+ const result = yield sql `
142
+ SELECT
143
+ cl1.relname AS "fromTable",
144
+ cl2.relname AS "toTable",
145
+ att1.attname AS "fromColumn",
146
+ att2.attname AS "toColumn"
147
+ FROM
148
+ pg_constraint AS c
149
+ JOIN
150
+ pg_attribute AS att1 ON att1.attnum = ANY(c.conkey) AND att1.attrelid = c.conrelid
151
+ JOIN
152
+ pg_attribute AS att2 ON att2.attnum = ANY(c.confkey) AND att2.attrelid = c.confrelid
153
+ JOIN
154
+ pg_class AS cl1 ON cl1.oid = att1.attrelid
155
+ JOIN
156
+ pg_class AS cl2 ON cl2.oid = att2.attrelid
157
+ JOIN
158
+ pg_namespace AS ns1 ON ns1.oid = cl1.relnamespace
159
+ JOIN
160
+ pg_namespace AS ns2 ON ns2.oid = cl2.relnamespace
161
+ WHERE
162
+ c.contype = 'f'`;
163
+ return result;
164
+ }), (err) => {
165
+ const error = err;
166
+ const typesqlError = {
167
+ name: error.name,
168
+ description: error.message
169
+ };
170
+ return typesqlError;
171
+ })();
172
+ }
126
173
  //# sourceMappingURL=postgres.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/drivers/postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postgres.js","sourceRoot":"","sources":["../../../src/drivers/postgres.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export type PostgresColumnSchema = {
7
7
  type_id: number;
8
8
  is_nullable: boolean;
9
9
  column_key: 'PRI' | 'UNI' | '';
10
+ autoincrement?: boolean;
10
11
  };
11
12
  export type DescribeQueryColumn = {
12
13
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/drivers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAEf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAC/B,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACpD,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,MAAM,CAAC,UAAU,IAAI;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;CAC/E,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/drivers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,MAAM,oBAAoB,GAAG;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,KAAK,GAAG,KAAK,GAAG,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAEf,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAC/B,CAAA;AACD,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACpD,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAEpD,MAAM,MAAM,MAAM,CAAC,UAAU,IAAI;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC,MAAM,EAAE,oBAAoB,EAAE,CAAC,CAAC;CAC/E,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typesql-cli",
3
- "version": "0.16.0-experimental.0",
3
+ "version": "0.16.0-experimental.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-info.d.ts","sourceRoot":"","sources":["../../src/schema-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAsB,cAAc,EAAwF,MAAM,wCAAwC,CAAC;AAClL,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAS,MAAM,kBAAkB,CAAC;AAEjD,KAAK,UAAU,GAAG;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAA;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAatL;AAED,wBAAgB,UAAU,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAsBpG;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAY5H;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,CAW3G;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAkBjH;AA0BD,wBAAsB,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAYzG"}
1
+ {"version":3,"file":"schema-info.d.ts","sourceRoot":"","sources":["../../src/schema-info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAsB,cAAc,EAAwF,MAAM,wCAAwC,CAAC;AAClL,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvE,OAAO,EAAW,WAAW,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,MAAM,EAAS,MAAM,kBAAkB,CAAC;AAEjD,KAAK,UAAU,GAAG;IACjB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,WAAW,EAAE,cAAc,EAAE,CAAC;CAC9B,CAAA;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAatL;AAED,wBAAgB,UAAU,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAsBpG;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC,YAAY,EAAE,EAAE,YAAY,CAAC,CAY5H;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,cAAc,GAAG,WAAW,CAAC,cAAc,EAAE,EAAE,YAAY,CAAC,CAY3G;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,WAAW,CAAC,UAAU,EAAE,YAAY,CAAC,CAkBjH;AA0BD,wBAAsB,YAAY,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAYzG"}
package/schema-info.js CHANGED
@@ -80,8 +80,9 @@ function loadForeignKeys(databaseClient) {
80
80
  case 'd1':
81
81
  return (0, query_executor_1.loadForeignKeys)(databaseClient.client).asyncAndThen(res => (0, neverthrow_1.okAsync)(res));
82
82
  case 'mysql2':
83
- case 'pg':
84
83
  return (0, neverthrow_1.okAsync)([]);
84
+ case 'pg':
85
+ return (0, postgres_2.loadForeignKeys)(databaseClient.client);
85
86
  }
86
87
  }
87
88
  function loadSchemaInfo(databaseUri, client) {
@@ -1 +1 @@
1
- {"version":3,"file":"schema-info.js","sourceRoot":"","sources":["../../src/schema-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-info.js","sourceRoot":"","sources":["../../src/schema-info.ts"],"names":[],"mappings":"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"}