Skip to content

Commit 1333935

Browse files
committed
FE: changed string quoting
1 parent 70ea1ea commit 1333935

File tree

5 files changed

+13
-20
lines changed

5 files changed

+13
-20
lines changed

forward_engineering/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"type": "ddl",
33
"ddlType": "plugin",
44
"namePrefix": "PostgreSQL",
5+
"mode": "pgsql",
56
"level": {
67
"container": true,
78
"entity": true,

forward_engineering/configs/templates.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
module.exports = {
22
createDatabase: 'CREATE DATABASE ${name}${template}${encoding}${locale}${collate}${characterClassification}${tablespace};\n',
33

4-
createSchema: 'CREATE SCHEMA${ifNotExist} ${name};\nSET search_path TO ${name};\n${comment}\n',
4+
createSchema: 'CREATE SCHEMA${ifNotExist} ${name};\nSET search_path TO ${name};\n\n${comment}\n',
55

66
comment: 'COMMENT ON ${object} ${objectName} IS ${comment};\n',
77

88
createTable:
99
'CREATE${temporary} TABLE${ifNotExist} ${name} (\n' +
1010
'${columnDefinitions}${keyConstraints}${checkConstraints}${foreignKeyConstraints}\n' +
11-
')${options};\n${comment}${columnDescriptions}',
11+
')${options};\n\n${comment}${columnDescriptions}',
1212

1313
columnDefinition: '${name} ${type}${collation}${primaryKey}${uniqueKey}${defaultValue}${notNull}',
1414

@@ -26,7 +26,7 @@ module.exports = {
2626
' ON${only} ${tableName}${using}${keys}${options};\n\n',
2727

2828
createView:
29-
'CREATE${orReplace}${temporary} VIEW ${name}${withOptions}\nAS ${selectStatement}${checkOption};\n${comment}\n',
29+
'CREATE${orReplace}${temporary} VIEW ${name}${withOptions}\nAS ${selectStatement}${checkOption};\n\n${comment}\n',
3030

3131
viewSelectStatement: 'SELECT ${keys}\n\tFROM ${tableName}',
3232

@@ -43,8 +43,8 @@ module.exports = {
4343
'\tLANGUAGE ${language}\n' +
4444
'AS $BODY$\n${body}\n$BODY$;\n',
4545

46-
createCompositeType: 'CREATE TYPE ${name} AS (\n\t${columnDefinitions}\n);\n${comment}',
47-
createEnumType: 'CREATE TYPE ${name} AS ENUM (${values});\n${comment}',
48-
createRangeType: 'CREATE TYPE ${name} AS RANGE (\n\tSUBTYPE=${subtype}${options}\n);\n${comment}',
49-
createDomainType: 'CREATE DOMAIN ${name} AS ${underlyingType}${notNull}${collate}${default}${constraints};\n${comment}'
46+
createCompositeType: 'CREATE TYPE ${name} AS (\n\t${columnDefinitions}\n);\n\n${comment}',
47+
createEnumType: 'CREATE TYPE ${name} AS ENUM (${values});\n\n${comment}',
48+
createRangeType: 'CREATE TYPE ${name} AS RANGE (\n\tSUBTYPE=${subtype}${options}\n);\n\n${comment}',
49+
createDomainType: 'CREATE DOMAIN ${name} AS ${underlyingType}${notNull}${collate}${default}${constraints};\n\n${comment}'
5050
};

forward_engineering/ddlProvider.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ module.exports = (baseProvider, options, app) => {
8282
assignTemplates,
8383
templates,
8484
commentIfDeactivated,
85-
getNamePrefixedWithSchemaName,
85+
wrapInQuotes,
8686
wrapComment,
8787
});
8888

forward_engineering/helpers/columnDefinitionHelper.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ module.exports = ({
44
assignTemplates,
55
templates,
66
commentIfDeactivated,
7-
getNamePrefixedWithSchemaName,
87
wrapComment,
8+
wrapInQuotes
99
}) => {
1010
const addLength = (type, length) => {
1111
return `${type}(${length})`;
@@ -60,12 +60,10 @@ module.exports = ({
6060
const isString = type => ['char', 'varchar', 'text', 'bit', 'varbit'].includes(type);
6161
const isDateTime = type => ['date', 'time', 'timestamp', 'interval'].includes(type);
6262

63-
const escapeQuotes = str => _.trim(str).replace(/(\')+/g, "'$1");
64-
6563
const decorateDefault = (type, defaultValue) => {
6664
const constantsValues = ['current_timestamp', 'null'];
6765
if ((isString(type) || isDateTime(type)) && !constantsValues.includes(_.toLower(defaultValue))) {
68-
return wrap(escapeQuotes(defaultValue), "'", "'");
66+
return wrap(defaultValue, "$$", "$$");
6967
} else {
7068
return defaultValue;
7169
}
@@ -77,7 +75,7 @@ module.exports = ({
7775
.map(columnData => {
7876
const comment = assignTemplates(templates.comment, {
7977
object: 'COLUMN',
80-
objectName: getNamePrefixedWithSchemaName(columnData.name, tableName),
78+
objectName: `${tableName}.${wrapInQuotes(columnData.name)}`,
8179
comment: wrapComment(columnData.comment),
8280
});
8381

forward_engineering/helpers/general.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,13 +177,7 @@ module.exports = ({ _, divideIntoActivatedAndDeactivated, commentIfDeactivated }
177177
);
178178
};
179179

180-
const wrapComment = comment => {
181-
if (_.includes(comment, "'")) {
182-
return `'${comment.replace("'", "''")}'`;
183-
}
184-
185-
return `'${comment}'`;
186-
};
180+
const wrapComment = comment => `$$${comment}$$`;
187181

188182
return {
189183
getFunctionArguments,

0 commit comments

Comments
 (0)