Skip to content

Commit 6a42f98

Browse files
authored
HCK-16273: update DDL generation for external schemas and databases (#78)
1 parent 23e802a commit 6a42f98

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

forward_engineering/configs/templates.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = {
22
createDatabase: '',
33
createSchema: 'CREATE SCHEMA${ifNotExist} "${name}"${authorization}${quota};\n',
44
createExternalSchema:
5-
'CREATE EXTERNAL SCHEMA${ifNotExist} "${name}" FROM ${source} DATABASE "${sourceDBName}"${sourceSchemaName}${region}${uri} IAM_ROLE "${iamRole}"${secretARN}${catalogRole}${createExternalDatabase};\n',
5+
"CREATE EXTERNAL SCHEMA${ifNotExist} \"${name}\" FROM ${source}\nDATABASE '${sourceDBName}'${sourceSchemaName}${region}${uri}\nIAM_ROLE '${iamRole}'${secretARN}${catalogRole}${createExternalDatabase};\n",
66

77
createTable:
88
'CREATE ${temporary}TABLE' +

forward_engineering/ddlProvider.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,13 +332,16 @@ module.exports = (baseProvider, options, app) => {
332332
iamRole: containerData.IAM_ROLE,
333333
secretARN: getARN(containerData.SECRET_ARN, containerData.fromSource),
334334
catalogRole:
335-
containerData.CATALOG_ROLE && containerData.source === 'Data catalog'
336-
? ` CATALOG_ROLE ${containerData.CATALOG_ROLE}`
335+
containerData.CATALOG_ROLE && containerData.fromSource === 'Data catalog'
336+
? `\nCATALOG_ROLE '${containerData.CATALOG_ROLE}'`
337337
: '',
338338
uri: getUri(containerData.URI, containerData.port, containerData.fromSource),
339-
region: containerData.source === 'Data catalog' ? containerData.region : '',
339+
region:
340+
containerData.fromSource === 'Data catalog' && containerData.region
341+
? `\nREGION '${containerData.region}'`
342+
: '',
340343
createExternalDatabase: containerData.createExternalDatabaseIfNotExists
341-
? ' CREATE EXTERNAL DATABASE IF NOT EXISTS'
344+
? '\nCREATE EXTERNAL DATABASE IF NOT EXISTS'
342345
: '',
343346
functions: Array.isArray(udfs) ? udfs.map(hydrateUdf(containerData.name)).filter(filterUdf) : [],
344347
procedures: Array.isArray(procedures)

0 commit comments

Comments
 (0)