diff --git a/src/utils/exportSQL/generic.js b/src/utils/exportSQL/generic.js index 04d220839..37e9d42c2 100644 --- a/src/utils/exportSQL/generic.js +++ b/src/utils/exportSQL/generic.js @@ -194,7 +194,7 @@ export function jsonToMySQL(obj) { field.name }\` ${getTypeString(field, obj.database)}${field.notNull ? " NOT NULL" : ""}${ field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field, obj.database)}` : "" @@ -301,7 +301,7 @@ export function jsonToPostgreSQL(obj) { field.name }" ${getTypeString(field, obj.database, DB.POSTGRES)}${ field.notNull ? " NOT NULL" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field)}` : "" }${ field.check === "" || @@ -397,7 +397,7 @@ export function jsonToSQLite(obj) { `${field.comment === "" ? "" : `\t-- ${field.comment}\n`}\t"${ field.name }" ${getSQLiteType(field)}${field.notNull ? " NOT NULL" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${field.default !== "" ? ` DEFAULT ${parseDefault(field, obj.database)}` : ""}${ field.check === "" || !dbToTypes[obj.database][field.type].hasCheck @@ -437,7 +437,7 @@ export function jsonToMariaDB(obj) { field.name }\` ${getTypeString(field, obj.database, DB.MYSQL)}${field.notNull ? " NOT NULL" : ""}${ field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field, obj.database)}` : "" @@ -514,7 +514,7 @@ export function jsonToSQLServer(obj) { }] ${getTypeString(field, obj.database, DB.MSSQL)}${ field.notNull ? " NOT NULL" : "" }${field.increment ? " IDENTITY" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${ field.default !== "" ? ` DEFAULT ${parseDefault(field, obj.database)}` @@ -589,7 +589,7 @@ export function jsonToOracleSQL(obj) { }" ${getTypeString(field, obj.database, DB.ORACLESQL)}${ field.notNull ? " NOT NULL" : "" }${field.increment ? " GENERATED ALWAYS AS IDENTITY" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${ field.default !== "" ? ` DEFAULT ${parseDefault(field, obj.database)}` diff --git a/src/utils/exportSQL/mariadb.js b/src/utils/exportSQL/mariadb.js index 59255d411..016030428 100644 --- a/src/utils/exportSQL/mariadb.js +++ b/src/utils/exportSQL/mariadb.js @@ -29,7 +29,7 @@ export function toMariaDB(diagram) { (field) => `\t\`${field.name}\` ${parseType(field)}${field.unsigned ? " UNSIGNED" : ""}${field.notNull ? " NOT NULL" : ""}${ field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field, diagram.database)}` : "" diff --git a/src/utils/exportSQL/mssql.js b/src/utils/exportSQL/mssql.js index a2354d358..db1300038 100644 --- a/src/utils/exportSQL/mssql.js +++ b/src/utils/exportSQL/mssql.js @@ -42,7 +42,7 @@ export function toMSSQL(diagram) { return `\t[${field.name}] ${field.type}${field.size && isSized ? `(${field.size})` : ""}${ field.notNull ? " NOT NULL" : "" }${field.increment ? " IDENTITY" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${ field.default !== "" ? ` DEFAULT ${parseDefault(field, diagram.database)}` diff --git a/src/utils/exportSQL/mysql.js b/src/utils/exportSQL/mysql.js index f35dbda3f..5f55fce17 100644 --- a/src/utils/exportSQL/mysql.js +++ b/src/utils/exportSQL/mysql.js @@ -33,7 +33,7 @@ export function toMySQL(diagram) { : "" }${field.notNull ? " NOT NULL" : ""}${ field.increment ? " AUTO_INCREMENT" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field, diagram.database)}` : "" diff --git a/src/utils/exportSQL/oraclesql.js b/src/utils/exportSQL/oraclesql.js index 0a44c5650..1bfca3c2e 100644 --- a/src/utils/exportSQL/oraclesql.js +++ b/src/utils/exportSQL/oraclesql.js @@ -18,7 +18,7 @@ export function toOracleSQL(diagram) { : "" }${field.notNull ? " NOT NULL" : ""}${ field.increment ? " GENERATED ALWAYS AS IDENTITY" : "" - }${field.unique ? " UNIQUE" : ""}${ + }${field.unique && !field.primary ? " UNIQUE" : ""}${ field.default !== "" ? ` DEFAULT ${parseDefault(field, diagram.database)}` : "" diff --git a/src/utils/exportSQL/postgres.js b/src/utils/exportSQL/postgres.js index 3dc6c0e13..c4a459a3d 100644 --- a/src/utils/exportSQL/postgres.js +++ b/src/utils/exportSQL/postgres.js @@ -39,7 +39,7 @@ export function toPostgres(diagram) { }" ${field.type}${ field.size ? `(${field.size})` : "" }${field.isArray ? " ARRAY" : ""}${field.notNull ? " NOT NULL" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${field.increment ? " GENERATED BY DEFAULT AS IDENTITY" : ""}${ field.default?.trim() ? ` DEFAULT ${parseDefault(field, diagram.database)}` diff --git a/src/utils/exportSQL/sqlite.js b/src/utils/exportSQL/sqlite.js index 25ae186c7..e1cf3ab65 100644 --- a/src/utils/exportSQL/sqlite.js +++ b/src/utils/exportSQL/sqlite.js @@ -14,7 +14,7 @@ export function toSqlite(diagram) { `${exportFieldComment(field.comment)}\t"${ field.name }" ${field.type}${field.notNull ? " NOT NULL" : ""}${ - field.unique ? " UNIQUE" : "" + field.unique && !field.primary ? " UNIQUE" : "" }${field.default !== "" ? ` DEFAULT ${parseDefault(field, diagram.database)}` : ""}${ field.check === "" || !dbToTypes[diagram.database][field.type].hasCheck