stepzen 0.45.0-beta.2 → 0.45.0-beta.4

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.
Files changed (36) hide show
  1. package/README.md +18 -46
  2. package/bin/dev.js +33 -2
  3. package/bin/run.js +34 -2
  4. package/lib/commands/import/db2.d.ts +3 -43
  5. package/lib/commands/import/db2.d.ts.map +1 -1
  6. package/lib/commands/import/db2.js +18 -131
  7. package/lib/commands/import/db2.js.map +1 -1
  8. package/lib/commands/import/index.d.ts.map +1 -1
  9. package/lib/commands/import/index.js +2 -1
  10. package/lib/commands/import/index.js.map +1 -1
  11. package/lib/commands/import/oracle.d.ts +3 -39
  12. package/lib/commands/import/oracle.d.ts.map +1 -1
  13. package/lib/commands/import/oracle.js +16 -120
  14. package/lib/commands/import/oracle.js.map +1 -1
  15. package/lib/generate/flags.d.ts +1 -0
  16. package/lib/generate/flags.d.ts.map +1 -1
  17. package/lib/generate/flags.js +3 -0
  18. package/lib/generate/flags.js.map +1 -1
  19. package/lib/generate/questions.d.ts +4 -0
  20. package/lib/generate/questions.d.ts.map +1 -1
  21. package/lib/generate/questions.js +24 -5
  22. package/lib/generate/questions.js.map +1 -1
  23. package/lib/generate/sql2sdl.d.ts +9 -3
  24. package/lib/generate/sql2sdl.d.ts.map +1 -1
  25. package/lib/generate/sql2sdl.js +56 -41
  26. package/lib/generate/sql2sdl.js.map +1 -1
  27. package/lib/shared/segment.d.ts +7 -0
  28. package/lib/shared/segment.d.ts.map +1 -1
  29. package/lib/shared/segment.js +54 -243
  30. package/lib/shared/segment.js.map +1 -1
  31. package/lib/shared/url-helpers.d.ts +4 -0
  32. package/lib/shared/url-helpers.d.ts.map +1 -1
  33. package/lib/shared/url-helpers.js +9 -0
  34. package/lib/shared/url-helpers.js.map +1 -1
  35. package/oclif.manifest.json +7 -69
  36. package/package.json +6 -6
@@ -2,65 +2,29 @@ import type { CommonImportOptions } from '../../generate/import-command.js';
2
2
  import type { DBIntrospectionOptions, OraclesqlImportOptions } from '../../generate/sql2sdl.js';
3
3
  import type { FlagsT } from '../../shared/types.js';
4
4
  import { ImportCommandBase } from '../../generate/import-command.js';
5
- type ParsedDsn = {
6
- driver: string;
7
- host: string;
8
- user?: string;
9
- password?: string;
10
- port?: number;
11
- db?: string;
12
- schema?: string;
13
- };
14
- type ParserSuccessResult = {
15
- success: true;
16
- value: ParsedDsn;
17
- };
18
- type ParserErrorResult = {
19
- success: false;
20
- message: string;
21
- };
22
- export type ParserResult = ParserSuccessResult | ParserErrorResult;
23
- export type OracleSQLAnswers = Pick<OraclesqlImportOptions, 'host' | 'user' | 'password' | 'database' | 'schema' | 'linkTypes'>;
5
+ export type OracleSQLAnswers = Pick<OraclesqlImportOptions, 'jdbcUrl' | 'schema' | 'linkTypes'>;
24
6
  export default class ImportOracle extends ImportCommandBase {
25
7
  get source(): "oracle";
26
8
  static description: string;
27
9
  static flags: {
28
- 'db-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
- 'db-user': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
- 'db-password': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
- 'db-database': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
32
10
  'db-schema': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
11
  'db-link-types': import("@oclif/core/interfaces").BooleanFlag<boolean>;
34
12
  'db-include': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
13
  'db-use-deprecated-2022-naming': import("@oclif/core/interfaces").BooleanFlag<boolean>;
36
14
  };
37
15
  static args: {
38
- dsn: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
16
+ jdbcUrl: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
39
17
  };
40
18
  protected import(commonOptions: CommonImportOptions): Promise<import("../../shared/types.js").ErrorOr<import("../../generate/helpers.js").IntrospectionServiceResponse>>;
41
19
  getImportOptionsFromFlags(flags: FlagsT<typeof ImportOracle>): {
42
- host: string | undefined;
43
- user: string | undefined;
44
- password: string | undefined;
45
- database: string | undefined;
46
20
  schema: string | undefined;
47
21
  linkTypes: boolean;
48
22
  include: "tables-only" | "views-only" | "tables-and-views" | undefined;
49
23
  introspectionOptions: DBIntrospectionOptions;
50
24
  };
51
25
  getImportOptionsFromDsn(possibleDsn: string): {
52
- host: string;
53
- user: string | undefined;
54
- password: string | undefined;
55
- database: string | undefined;
56
- schema: string | undefined;
26
+ jdbcUrl: string;
57
27
  };
58
28
  getImportOptionsInteractively(defaults?: Partial<OracleSQLAnswers>): Promise<OracleSQLAnswers>;
59
- parseDsn(dsn: string): ParserResult;
60
- isValidJdbcOracleUrl(dsnString: string): {
61
- status: boolean;
62
- message?: string;
63
- };
64
29
  }
65
- export {};
66
30
  //# sourceMappingURL=oracle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/commands/import/oracle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAU,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAQ1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAOlE,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,OAAO,EAAE,IAAI,CAAA;IACb,KAAK,EAAE,SAAS,CAAA;CACjB,CAAA;AACD,KAAK,iBAAiB,GAAG;IACvB,OAAO,EAAE,KAAK,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AACD,MAAM,MAAM,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAA;AAElE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,sBAAsB,EACtB,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CACnE,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;IACzD,IAAI,MAAM,aAET;IAED,MAAM,CAAC,WAAW,SAMkC;IAEpD,MAAM,CAAC,KAAK;;;;;;;;;MAUX;IAED,MAAM,CAAC,IAAI;;MASV;cAEe,MAAM,CAAC,aAAa,EAAE,mBAAmB;IAmFzD,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAY,CAAC;;;;;;;;;;IAmB5D,uBAAuB,CAAC,WAAW,EAAE,MAAM;;;;;;;IAoBrC,6BAA6B,CACjC,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACvC,OAAO,CAAC,gBAAgB,CAAC;IAgB5B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAwDnC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;CAqC7E"}
1
+ {"version":3,"file":"oracle.d.ts","sourceRoot":"","sources":["../../../src/commands/import/oracle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACvB,MAAM,2BAA2B,CAAA;AAClC,OAAO,KAAK,EAAU,MAAM,EAAC,MAAM,uBAAuB,CAAA;AAQ1D,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAA;AAQlE,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,sBAAsB,EACtB,SAAS,GAAG,QAAQ,GAAG,WAAW,CACnC,CAAA;AAED,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,iBAAiB;IACzD,IAAI,MAAM,aAET;IAED,MAAM,CAAC,WAAW,SAMkC;IAEpD,MAAM,CAAC,KAAK;;;;;MAMX;IAED,MAAM,CAAC,IAAI;;MAQV;cAEe,MAAM,CAAC,aAAa,EAAE,mBAAmB;IA0EzD,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YAAY,CAAC;;;;;;IAe5D,uBAAuB,CAAC,WAAW,EAAE,MAAM;;;IAerC,6BAA6B,CACjC,QAAQ,GAAE,OAAO,CAAC,gBAAgB,CAAM,GACvC,OAAO,CAAC,gBAAgB,CAAC;CAY7B"}
@@ -9,6 +9,7 @@ import { ImportQuestions } from '../../generate/questions.js';
9
9
  import { sql2sdl } from '../../generate/sql2sdl.js';
10
10
  import { readConfiguration } from '../../shared/configuration.js';
11
11
  import * as inquirer from '../../shared/inquirer.js';
12
+ import { isValidJdbcUrl } from '../../shared/url-helpers.js';
12
13
  import { rewriteLocalhostToHostGateway } from '../../shared/utils.js';
13
14
  export default class ImportOracle extends ImportCommandBase {
14
15
  get source() {
@@ -22,35 +23,27 @@ export default class ImportOracle extends ImportCommandBase {
22
23
  ` queries and mutations into your GraphQL schema.`;
23
24
  static flags = {
24
25
  ...ImportCommandBase.flags,
25
- 'db-host': ImportFlags.dbHost(),
26
- 'db-user': ImportFlags.dbUser(),
27
- 'db-password': ImportFlags.dbPassword(),
28
- 'db-database': ImportFlags.dbDatabase(),
29
26
  'db-schema': ImportFlags.dbSchema(),
30
27
  'db-link-types': ImportFlags.dbLinkTypes(),
31
28
  'db-include': ImportFlags.dbInclude(),
32
29
  'db-use-deprecated-2022-naming': ImportFlags.dbUseDeprecatedNaming(),
33
30
  };
34
31
  static args = {
35
- dsn: Args.string({
36
- description: chalk `{italic (optional)} Data Source Name (DSN) of an Oracle database.` +
32
+ jdbcUrl: Args.string({
33
+ description: chalk `{italic (optional)} JDBC URL of an Oracle database.` +
37
34
  chalk `\nExample: {bold 'jdbc:oracle:thin:user/password@//host:port/db?currentschema=schema'}` +
38
35
  chalk `\n` +
39
- chalk `\nFlags, such as {bold --db-host}, override the corresponding` +
40
- chalk ` parts of the DSN (if both are provided).`,
36
+ chalk `\nThe {bold --db-schema} flag overrides the schema part of the JDBC URL (if both are provided).`,
41
37
  }),
42
38
  };
43
39
  async import(commonOptions) {
44
40
  const { args, flags } = await this.parse(ImportOracle);
45
41
  const nonInteractiveOptions = {
46
- ...(args.dsn ? this.getImportOptionsFromDsn(args.dsn) : {}),
42
+ ...(args.jdbcUrl ? this.getImportOptionsFromDsn(args.jdbcUrl) : {}),
47
43
  ...this.getImportOptionsFromFlags(flags),
48
44
  };
49
45
  const requiredOptions = [
50
- 'host',
51
- 'user',
52
- 'password',
53
- 'database',
46
+ 'jdbcUrl',
54
47
  'schema',
55
48
  ];
56
49
  const hasRequiredOptions = requiredOptions.every(option => nonInteractiveOptions[option] !== undefined);
@@ -67,7 +60,7 @@ export default class ImportOracle extends ImportCommandBase {
67
60
  }
68
61
  else {
69
62
  if (flags['non-interactive']) {
70
- throw new CLIError('Please provide a Data Source Name (DSN) string for an Oracle database.' +
63
+ throw new CLIError('Please provide a JDBC URL for a Db2 database.' +
71
64
  chalk `\nSee more help with {bold stepzen import oracle --help}`);
72
65
  }
73
66
  // no parameters given: start an interactive prompt
@@ -92,15 +85,11 @@ export default class ImportOracle extends ImportCommandBase {
92
85
  };
93
86
  }
94
87
  const configuration = await readConfiguration();
95
- sql2sdlOptions.host = rewriteLocalhostToHostGateway(configuration, sql2sdlOptions.host);
88
+ sql2sdlOptions.jdbcUrl = rewriteLocalhostToHostGateway(configuration, sql2sdlOptions.jdbcUrl);
96
89
  return this.wrapInProgressAndTimeout(sql2sdl(sql2sdlOptions, configuration));
97
90
  }
98
91
  getImportOptionsFromFlags(flags) {
99
92
  const options = {
100
- host: flags['db-host'],
101
- user: flags['db-user'],
102
- password: flags['db-password'],
103
- database: flags['db-database'],
104
93
  schema: flags['db-schema'],
105
94
  linkTypes: flags['db-link-types'],
106
95
  include: flags['db-include'],
@@ -114,116 +103,23 @@ export default class ImportOracle extends ImportCommandBase {
114
103
  return pickBy(options, value => value !== undefined);
115
104
  }
116
105
  getImportOptionsFromDsn(possibleDsn) {
117
- possibleDsn = possibleDsn.replace('jdbc:', '');
118
- const parsed = this.parseDsn(possibleDsn);
119
- if (parsed.success) {
120
- const value = parsed.value;
106
+ // check the jdbc prefix
107
+ const parsed = isValidJdbcUrl(possibleDsn);
108
+ if (parsed.status) {
121
109
  const options = {
122
- host: value.host + (value.port ? `:${value.port}` : ''),
123
- user: value.user,
124
- password: value.password,
125
- database: value.db,
126
- schema: value.schema,
110
+ jdbcUrl: possibleDsn,
127
111
  };
128
- // Remove `undefined`-valued properties
129
- return pickBy(options, value => value !== undefined);
112
+ return options;
130
113
  }
131
- throw new CLIError(parsed.message);
114
+ throw new CLIError(parsed && parsed.message ? parsed.message : `Cannot parse DSN`);
132
115
  }
133
116
  async getImportOptionsInteractively(defaults = {}) {
134
117
  const questions = inquirer.overrideDefaults([
135
- ImportQuestions.dbHost(),
136
- ImportQuestions.dbUser(),
137
- ImportQuestions.dbPassword(),
138
- ImportQuestions.dbDatabase(),
139
- ImportQuestions.dbSchema({ required: true }),
118
+ ImportQuestions.jdbcUrl(),
119
+ ImportQuestions.dbSchema({ dbDriver: 'oracle', required: false }),
140
120
  ImportQuestions.dbLinkTypes(),
141
121
  ], defaults);
142
122
  return inquirer.prompt(`import-${this.source}`, questions);
143
123
  }
144
- parseDsn(dsn) {
145
- const isValidDsn = this.isValidJdbcOracleUrl(dsn);
146
- // No jdbc: prefix in the input
147
- if (isValidDsn.status) {
148
- const parsedDsn = { driver: 'jdbc:oracle:thin' };
149
- const [mainDsn, queryParams] = dsn.split('?');
150
- // Remove the 'oracle:thin:' prefix since the input doesn't have jdbc: at the front
151
- const urlWithoutPrefix = mainDsn.replace(/^oracle:thin:/i, '');
152
- if (urlWithoutPrefix.includes('@')) {
153
- const [userInfo, hostInfo] = urlWithoutPrefix.split('@//');
154
- // Extract user and password from userInfo, handling optional quotes around the password
155
- const userPasswordRegex = /([^/]+)\/("?[^"]+"?)/;
156
- const matches = userInfo.match(userPasswordRegex);
157
- if (matches) {
158
- parsedDsn.user = matches[1]; // Extracted user
159
- parsedDsn.password = matches[2].replaceAll('"', ''); // Extracted password, removing quotes if present
160
- }
161
- // Extract host, port, and database from hostInfo
162
- const separateHost = hostInfo.split('/');
163
- const hostPort = separateHost[0].split(':');
164
- parsedDsn.host = hostPort[0]; // Hostname
165
- parsedDsn.port = Number.parseInt(hostPort[1], 10); // Port number
166
- parsedDsn.db = separateHost[1]; // Database name
167
- }
168
- else {
169
- // Handle URL format with parameters
170
- const [hostInfo, dbInfo] = urlWithoutPrefix.split('/');
171
- const [host, port] = hostInfo.split(':');
172
- parsedDsn.host = host; // Hostname
173
- parsedDsn.port = Number.parseInt(port, 10); // Port number
174
- parsedDsn.db = dbInfo; // Database name
175
- }
176
- // Parse query params (if any)
177
- if (queryParams) {
178
- const params = new URLSearchParams(queryParams);
179
- parsedDsn.user = params.get('user') || parsedDsn.user;
180
- parsedDsn.password = params.get('password') || parsedDsn.password;
181
- parsedDsn.schema = params.get('currentschema') || parsedDsn.schema;
182
- }
183
- return { success: true, value: parsedDsn };
184
- }
185
- return {
186
- success: false,
187
- message: isValidDsn.message || 'Cannot parse DSN',
188
- };
189
- }
190
- isValidJdbcOracleUrl(dsnString) {
191
- const patterns = [
192
- /^oracle:thin:(\w+\/)?[^\s@]+@\/\/[\w.-]+:\d+\/[\w-]+(\?currentschema=[\w-]+)?$/, // With user/password in the path
193
- /^oracle:thin:@[\w.-]+:\d+\/\w+(\?user=\w+&password=[^&]+(&currentschema=\w+)?)?$/, // With user/password as query parameters
194
- ];
195
- // Check if the DSN string matches any of the patterns
196
- const isValid = patterns.some(pattern => pattern.test(dsnString));
197
- if (!isValid) {
198
- let message;
199
- if (dsnString.startsWith('oracle:thin:') === false) {
200
- message = `Missing 'oracle:thin:' prefix`;
201
- }
202
- else {
203
- const urlWithoutPrefix = dsnString.replace(/^oracle:thin:/i, '');
204
- if (urlWithoutPrefix.includes('@')) {
205
- const [userInfo, hostInfo] = urlWithoutPrefix.split('@//');
206
- if (!userInfo.includes('/')) {
207
- message = `User or password missing or improperly formatted in the provided URL`;
208
- }
209
- else if (!hostInfo.startsWith('//')) {
210
- message = `Host section must start with '//' after '@'`;
211
- }
212
- else if (!hostInfo.includes(':')) {
213
- message = `Host or port missing in the provided URL`;
214
- }
215
- else if (!hostInfo.includes('/')) {
216
- message = `Database name missing in the provided URL`;
217
- }
218
- }
219
- else {
220
- // Handle the format without user/password before @
221
- message = `Host section must start with '@' or '@//'`;
222
- }
223
- }
224
- return { status: false, message };
225
- }
226
- return { status: true };
227
- }
228
124
  }
229
125
  //# sourceMappingURL=oracle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/commands/import/oracle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oracle.js","sourceRoot":"","sources":["../../../src/commands/import/oracle.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const ImportFlags: {
6
6
  header: () => import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
7
  headerParam: () => import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
8
  dbHost: () => import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ jdbcUrl: () => import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
10
  dbUser: () => import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
11
  dbPassword: () => import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
12
  dbDatabase: () => import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
@@ -1 +1 @@
1
- {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/generate/flags.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;sBAoDL;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;;;;CAoCpC,CAAA"}
1
+ {"version":3,"file":"flags.d.ts","sourceRoot":"","sources":["../../src/generate/flags.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;sBAwDL;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC;;;;CAoCpC,CAAA"}
@@ -33,6 +33,9 @@ export const ImportFlags = {
33
33
  dbHost: () => Flags.string({
34
34
  description: 'Database host and optional port (as HOST[:PORT])',
35
35
  }),
36
+ jdbcUrl: () => Flags.string({
37
+ description: 'Full JDBC URL',
38
+ }),
36
39
  dbUser: () => Flags.string({
37
40
  description: 'Database user name',
38
41
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/generate/flags.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,qDAAqD;KACnE,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,IAAI,EAAE,GAAG;QACT,WAAW,EACT,oCAAoC;YACpC,IAAI;YACJ,YAAY;YACZ,4DAA4D;YAC5D,UAAU,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACJ,WAAW,EAAE,GAAG,EAAE,CAChB,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EACT,0CAA0C;YAC1C,8BAA8B,KAAK,CAAC,IAAI,CACtC,cAAc,CACf,yBAAyB;YAC1B,6CAA6C,KAAK,CAAC,IAAI,CACrD,YAAY,CACb,uEAAuE;YACxE,IAAI;YACJ,YAAY;YACZ,4DAA4D;YAC5D,qDAAqD;YACrD,6CAA6C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;QACvE,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IAEJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,oBAAoB;KAClC,CAAC;IACJ,UAAU,EAAE,GAAG,EAAE,CACf,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACJ,UAAU,EAAE,GAAG,EAAE,CACf,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACJ,QAAQ,EAAE,CAAC,OAA2B,EAAE,EAAE,EAAE,CAC1C,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,mDACX,IAAI,CAAC,OAAO,IAAI,QAClB,GAAG;KACJ,CAAC;IACJ,WAAW,EAAE,GAAG,EAAE,CAChB,KAAK,CAAC,OAAO,CAAC;QACZ,WAAW,EACT,mCAAmC;YACnC,gDAAgD;YAChD,IAAI,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE;KACvE,CAAC;IACJ,SAAS,EAAE,GAAG,EAAE,CACd,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EACT,qCAAqC;YACrC,6DAA6D;QAC/D,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,kBAAkB,CAAC;KAC3D,CAAC;IACJ,qBAAqB,EAAE,GAAG,EAAE,CAC1B,KAAK,CAAC,OAAO,CAAC;QACZ,WAAW,EACT,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,4BAA4B;YACjC,KAAK,CAAA,kEAAkE;YACvE,KAAK,CAAA,kBAAkB;YACvB,KAAK,CAAA,kEAAkE;YACvE,KAAK,CAAA,kCAAkC;YACvC,KAAK,CAAA,IAAI;YACT,KAAK,CAAA,gEAAgE;YACrE,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,4BAA4B;YACjC,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,+BAA+B;KACvC,CAAC;CACL,CAAA"}
1
+ {"version":3,"file":"flags.js","sourceRoot":"","sources":["../../src/generate/flags.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,qDAAqD;KACnE,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,IAAI,EAAE,GAAG;QACT,WAAW,EACT,oCAAoC;YACpC,IAAI;YACJ,YAAY;YACZ,4DAA4D;YAC5D,UAAU,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,EAAE;QACrE,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IACJ,WAAW,EAAE,GAAG,EAAE,CAChB,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EACT,0CAA0C;YAC1C,8BAA8B,KAAK,CAAC,IAAI,CACtC,cAAc,CACf,yBAAyB;YAC1B,6CAA6C,KAAK,CAAC,IAAI,CACrD,YAAY,CACb,uEAAuE;YACxE,IAAI;YACJ,YAAY;YACZ,4DAA4D;YAC5D,qDAAqD;YACrD,6CAA6C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;QACvE,QAAQ,EAAE,IAAI;QACd,iBAAiB,EAAE,IAAI;KACxB,CAAC;IAEJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,kDAAkD;KAChE,CAAC;IACJ,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,eAAe;KAC7B,CAAC;IACJ,MAAM,EAAE,GAAG,EAAE,CACX,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,oBAAoB;KAClC,CAAC;IACJ,UAAU,EAAE,GAAG,EAAE,CACf,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACJ,UAAU,EAAE,GAAG,EAAE,CACf,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACJ,QAAQ,EAAE,CAAC,OAA2B,EAAE,EAAE,EAAE,CAC1C,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EAAE,mDACX,IAAI,CAAC,OAAO,IAAI,QAClB,GAAG;KACJ,CAAC;IACJ,WAAW,EAAE,GAAG,EAAE,CAChB,KAAK,CAAC,OAAO,CAAC;QACZ,WAAW,EACT,mCAAmC;YACnC,gDAAgD;YAChD,IAAI,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE;KACvE,CAAC;IACJ,SAAS,EAAE,GAAG,EAAE,CACd,KAAK,CAAC,MAAM,CAAC;QACX,WAAW,EACT,qCAAqC;YACrC,6DAA6D;QAC/D,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,kBAAkB,CAAC;KAC3D,CAAC;IACJ,qBAAqB,EAAE,GAAG,EAAE,CAC1B,KAAK,CAAC,OAAO,CAAC;QACZ,WAAW,EACT,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,4BAA4B;YACjC,KAAK,CAAA,kEAAkE;YACvE,KAAK,CAAA,kBAAkB;YACvB,KAAK,CAAA,kEAAkE;YACvE,KAAK,CAAA,kCAAkC;YACvC,KAAK,CAAA,IAAI;YACT,KAAK,CAAA,gEAAgE;YACrE,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,4BAA4B;YACjC,KAAK,CAAA,+DAA+D;YACpE,KAAK,CAAA,+BAA+B;KACvC,CAAC;CACL,CAAA"}
@@ -6,6 +6,9 @@ export declare const ImportQuestions: {
6
6
  prefix: () => DistinctQuestion<{
7
7
  typePrefix?: string | undefined;
8
8
  }>;
9
+ jdbcUrl: () => DistinctQuestion<{
10
+ jdbcUrl?: string | undefined;
11
+ }>;
9
12
  dbHost: () => DistinctQuestion<{
10
13
  host: string;
11
14
  }>;
@@ -20,6 +23,7 @@ export declare const ImportQuestions: {
20
23
  }>;
21
24
  dbSchema: (opts?: {
22
25
  required?: boolean;
26
+ dbDriver?: string;
23
27
  }) => DistinctQuestion<{
24
28
  schema?: string | undefined;
25
29
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAM9C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;cAaK,MAAM;;;cAMN,MAAM;;;kBAMF,MAAM;;;kBAON,MAAM;;sBACxB;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC;;;;mBAkBD,OAAO;;;uBAOH,OAAO;;CAChD,CAAA"}
1
+ {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAA;AAM9C;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;cAqBK,MAAM;;;cAMN,MAAM;;;kBAMF,MAAM;;;kBAON,MAAM;;sBACxB;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAC;;;;mBA6BpB,OAAO;;;uBAOH,OAAO;;CAChD,CAAA"}
@@ -1,6 +1,6 @@
1
1
  // Copyright IBM Corp. 2020, 2024
2
2
  import chalk from 'chalk';
3
- import { parseHost } from '../shared/url-helpers.js';
3
+ import { isValidJdbcUrl, parseHost } from '../shared/url-helpers.js';
4
4
  /**
5
5
  * A helper to share interactive questions between several import commands.
6
6
  */
@@ -9,6 +9,12 @@ export const ImportQuestions = {
9
9
  name: 'typePrefix',
10
10
  message: 'Prefix to add to all generated type names (leave blank for none)',
11
11
  }),
12
+ jdbcUrl: () => ({
13
+ name: 'jdbcUrl',
14
+ message: 'What is your JDBC Url?',
15
+ validate: input => isValidJdbcUrl(input).status ||
16
+ `Could not parse "${input}" as a JDBC Url.`,
17
+ }),
12
18
  dbHost: () => ({
13
19
  name: 'host',
14
20
  message: 'What is your host? (and optional port as host:port)',
@@ -31,10 +37,23 @@ export const ImportQuestions = {
31
37
  }),
32
38
  dbSchema: (opts = {}) => ({
33
39
  name: 'schema',
34
- message: `What is your database schema${opts.required ? '' : ' (leave blank to use defaults)'}?`,
35
- validate: opts.required
36
- ? input => input.trim() !== '' || 'Schema must not be empty'
37
- : undefined,
40
+ message() {
41
+ const { dbDriver, required } = opts;
42
+ const isDb2OrOracle = dbDriver === 'db2' || dbDriver === 'oracle';
43
+ let message;
44
+ message = isDb2OrOracle
45
+ ? `What is your schema (Optional)`
46
+ : `What is your database schema`;
47
+ // Additional info for DB2 or Oracle
48
+ if (isDb2OrOracle && !required) {
49
+ message +=
50
+ ' If schema is not provided, it will take the default schema from JDBC URL connection.';
51
+ }
52
+ else if (!isDb2OrOracle && !required) {
53
+ message += ' (leave blank to use defaults)';
54
+ }
55
+ return message;
56
+ },
38
57
  }),
39
58
  dbLinkTypes: () => ({
40
59
  name: 'linkTypes',
@@ -1 +1 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,YAAY;QAClB,OAAO,EACL,kEAAkE;KACzB,CAAA;IAC/C,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,oBAAoB,KAAK,kBAAkB;KACrC,CAAA;IACxC,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,4BAA4B;KAClC,CAAA;IACxC,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,UAAU;KACwB,CAAA;IAC5C,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,iCAAiC;KAClB,CAAA;IAC5C,QAAQ,EAAE,CAAC,OAA6B,EAAE,EAAE,EAAE,CAC5C,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,+BACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gCACvB,GAAG;QACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACrB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,0BAA0B;YAC5D,CAAC,CAAC,SAAS;KAC0B,CAAA;IAC3C,WAAW,EAAE,GAAG,EAAE,CAChB,CAAC;QACC,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,iFAAiF;YACjF,MAAM,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE;QACxE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KAC4B,CAAA;IAC9C,aAAa,EAAE,GAAG,EAAE,CAClB,CAAC;QACC,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACgC,CAAA;CACnD,CAAA"}
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/generate/questions.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAIjC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,0BAA0B,CAAA;AAElE;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,YAAY;QAClB,OAAO,EACL,kEAAkE;KACzB,CAAA;IAC/C,OAAO,EAAE,GAAG,EAAE,CACZ,CAAC;QACC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,wBAAwB;QACjC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM;YAC5B,oBAAoB,KAAK,kBAAkB;KACL,CAAA;IAC5C,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,oBAAoB,KAAK,kBAAkB;KACrC,CAAA;IACxC,MAAM,EAAE,GAAG,EAAE,CACX,CAAC;QACC,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,uBAAuB;QAChC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,4BAA4B;KAClC,CAAA;IACxC,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,uBAAuB;QAChC,IAAI,EAAE,UAAU;KACwB,CAAA;IAC5C,UAAU,EAAE,GAAG,EAAE,CACf,CAAC;QACC,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAChB,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,iCAAiC;KAClB,CAAA;IAC5C,QAAQ,EAAE,CAAC,OAAgD,EAAE,EAAE,EAAE,CAC/D,CAAC;QACC,IAAI,EAAE,QAAQ;QACd,OAAO;YACL,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,IAAI,CAAA;YACjC,MAAM,aAAa,GAAG,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,QAAQ,CAAA;YACjE,IAAI,OAAe,CAAA;YACnB,OAAO,GAAG,aAAa;gBACrB,CAAC,CAAC,gCAAgC;gBAClC,CAAC,CAAC,8BAA8B,CAAA;YAClC,oCAAoC;YACpC,IAAI,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC/B,OAAO;oBACL,uFAAuF,CAAA;YAC3F,CAAC;iBAAM,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvC,OAAO,IAAI,gCAAgC,CAAA;YAC7C,CAAC;YAED,OAAO,OAAO,CAAA;QAChB,CAAC;KACsC,CAAA;IAC3C,WAAW,EAAE,GAAG,EAAE,CAChB,CAAC;QACC,IAAI,EAAE,WAAW;QACjB,OAAO,EACL,iFAAiF;YACjF,MAAM,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,EAAE;QACxE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KAC4B,CAAA;IAC9C,aAAa,EAAE,GAAG,EAAE,CAClB,CAAC;QACC,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,iBAAiB;QAC1B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACgC,CAAA;CACnD,CAAA"}
@@ -22,10 +22,10 @@ export type PostgresqlImportOptions = CommonSqlImportOptions & {
22
22
  dbType: 'postgresql';
23
23
  schema?: string;
24
24
  };
25
- export type Db2sqlImportOptions = CommonSqlImportOptions & {
25
+ export type Db2sqlImportOptions = Omit<CommonSqlImportOptions, 'host' | 'database' | 'user' | 'password'> & {
26
26
  dbType: 'db2';
27
27
  schema?: string;
28
- sslConnection: boolean;
28
+ jdbcUrl: string;
29
29
  };
30
30
  export type SnowflakeImportOptions = Omit<CommonSqlImportOptions, 'host'> & {
31
31
  dbType: 'snowflake';
@@ -38,8 +38,14 @@ export type PrestoImportOptions = Omit<CommonSqlImportOptions, 'database'> & {
38
38
  catalog: string;
39
39
  schema: string;
40
40
  };
41
- export type OraclesqlImportOptions = CommonSqlImportOptions & {
41
+ export type OraclesqlImportOptions = Omit<CommonSqlImportOptions, 'host' | 'database' | 'user' | 'password'> & {
42
42
  dbType: 'oracle';
43
+ jdbcUrl: string;
44
+ schema?: string;
45
+ };
46
+ export type JdbcParsedDsn = {
47
+ driver: string;
48
+ jdbcUrl: string;
43
49
  schema?: string;
44
50
  };
45
51
  export type SqlImportOptions = MysqlImportOptions | PostgresqlImportOptions | SnowflakeImportOptions | PrestoImportOptions | Db2sqlImportOptions | OraclesqlImportOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AAc5D,MAAM,MAAM,MAAM,GACd,OAAO,GACP,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,KAAK,GACL,QAAQ,CAAA;AACZ,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,kBAAkB,CAAA;IAC3D,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG;IACzD,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG;IAC1E,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAC3E,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,sBAAsB,GAAG;IAC5D,MAAM,EAAE,QAAQ,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,OAAO,YACT,gBAAgB,iBACV,oBAAoB,KAClC,QAAQ,QAAQ,4BAA4B,CAAC,CAqK/C,CAAA"}
1
+ {"version":3,"file":"sql2sdl.d.ts","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,oBAAoB,CAAA;AACrE,OAAO,KAAK,EAAC,4BAA4B,EAAC,MAAM,cAAc,CAAA;AAC9D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAA;AAc5D,MAAM,MAAM,MAAM,GACd,OAAO,GACP,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,KAAK,GACL,QAAQ,CAAA;AACZ,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,mBAAmB,GAAG;IACzD,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,kBAAkB,CAAA;IAC3D,oBAAoB,CAAC,EAAE,sBAAsB,CAAA;CAC9C,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG;IACxD,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,GAAG;IAC7D,MAAM,EAAE,YAAY,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,sBAAsB,EACtB,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAC1C,GAAG;IACF,MAAM,EAAE,KAAK,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,GAAG;IAC1E,MAAM,EAAE,WAAW,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,EAAE,UAAU,CAAC,GAAG;IAC3E,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,sBAAsB,EACtB,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAC1C,GAAG;IACF,MAAM,EAAE,QAAQ,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,uBAAuB,GACvB,sBAAsB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,CAAA;AAE1B,eAAO,MAAM,OAAO,YACT,gBAAgB,iBACV,oBAAoB,KAClC,QAAQ,QAAQ,4BAA4B,CAAC,CA6L/C,CAAA"}
@@ -55,60 +55,73 @@ export const sql2sdl = async (options, configuration) => {
55
55
  { property: 'WAREHOUSE', value: options.warehouse },
56
56
  ];
57
57
  }
58
- if (options.dbType === 'db2') {
59
- driverProperties = [{ property: 'SSL', value: `${options.sslConnection}` }];
60
- }
61
58
  // To prevent issues with configuration names in config.yaml and SDL,
62
59
  // consider the following: if you import two PostgreSQL databases under a single StepZen API,
63
60
  // each database will require a different configuration name in the config.yaml file.
64
61
  // This configuration name will be used in index.graphql, based on the folder name.
65
62
  const effectiveName = findNextAvailableSubfolder(options.source, options.name || options.dbType);
66
- const hostDetails = options.dbType === 'snowflake'
63
+ const hostDetails = options.dbType === 'snowflake' ||
64
+ options.dbType === 'db2' ||
65
+ options.dbType === 'oracle'
67
66
  ? { host: '', port: undefined }
68
67
  : parseHost(options.host);
69
68
  return queryIntrospectionService(getDBIntrospectionUrl(configuration), {
70
- operation: 'generateSDL',
69
+ operation: options.dbType === 'db2' || options.dbType === 'oracle'
70
+ ? 'getSDLFromDBJdbcUrl'
71
+ : 'generateSDL',
71
72
  variables: {
72
73
  driver: {
73
74
  type: 'DBDriver!',
74
75
  value: driver,
75
76
  },
76
- host: {
77
- type: 'String!',
78
- value: hostDetails.host,
79
- },
80
- port: {
81
- type: 'Int',
82
- value: hostDetails.port === undefined
83
- ? null
84
- : Number.parseInt(hostDetails.port, 10),
85
- },
86
- ...(getFeatureFlag(ENABLE_PRESTO_IMPORT)
77
+ ...(options.dbType === 'db2' || options.dbType === 'oracle'
87
78
  ? {
88
- database: {
89
- type: 'String',
90
- value: options.dbType === 'presto' ? null : options.database,
91
- },
92
- catalog: {
93
- type: 'String',
94
- value: options.dbType === 'presto' ? options.catalog : null,
79
+ jdbcURL: {
80
+ type: 'String!',
81
+ value: options.jdbcUrl,
95
82
  },
96
83
  }
97
84
  : {
98
- database: {
85
+ host: {
86
+ type: 'String!',
87
+ value: hostDetails.host,
88
+ },
89
+ port: {
90
+ type: 'Int',
91
+ value: hostDetails.port === undefined
92
+ ? null
93
+ : Number.parseInt(hostDetails.port, 10),
94
+ },
95
+ ...(getFeatureFlag(ENABLE_PRESTO_IMPORT)
96
+ ? {
97
+ database: {
98
+ type: 'String',
99
+ value: options.dbType === 'presto' ? null : options.database,
100
+ },
101
+ catalog: {
102
+ type: 'String',
103
+ value: options.dbType === 'presto' ? options.catalog : null,
104
+ },
105
+ }
106
+ : {
107
+ database: {
108
+ type: 'String!',
109
+ value: options.database,
110
+ },
111
+ }),
112
+ user: {
99
113
  type: 'String!',
100
- value: options
101
- .database,
114
+ value: options.user,
115
+ },
116
+ password: {
117
+ type: 'String!',
118
+ value: options.password,
119
+ },
120
+ driverProperties: {
121
+ type: '[DriverPropertyInput!]',
122
+ value: driverProperties,
102
123
  },
103
124
  }),
104
- user: {
105
- type: 'String!',
106
- value: options.user,
107
- },
108
- password: {
109
- type: 'String!',
110
- value: options.password,
111
- },
112
125
  onlyTypes: {
113
126
  type: 'Boolean',
114
127
  value: !options.linkTypes,
@@ -123,10 +136,6 @@ export const sql2sdl = async (options, configuration) => {
123
136
  naming,
124
137
  },
125
138
  },
126
- driverProperties: {
127
- type: '[DriverPropertyInput!]',
128
- value: driverProperties,
129
- },
130
139
  schema: {
131
140
  type: 'String',
132
141
  // The introspection service treats the schema value '' (empty string)
@@ -134,9 +143,15 @@ export const sql2sdl = async (options, configuration) => {
134
143
  // the default, it needs to get a `null` schema value.
135
144
  // However, when the user skips over the "schema" interactive question
136
145
  // (by pressing <Enter>) the value of schema would be ''.
137
- value: options.dbType === 'mysql' || options.schema === ''
138
- ? null
139
- : options.schema,
146
+ value: (() => {
147
+ if (options.dbType === 'mysql' || options.schema === '') {
148
+ return null;
149
+ }
150
+ if (options.dbType === 'oracle' || options.dbType === 'db2') {
151
+ return options.schema === undefined ? '' : options.schema;
152
+ }
153
+ return options.schema;
154
+ })(),
140
155
  },
141
156
  configName: {
142
157
  type: 'String!',
@@ -1 +1 @@
1
- {"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql2sdl.js","sourceRoot":"","sources":["../../src/generate/sql2sdl.ts"],"names":[],"mappings":"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"}