chore(db-postgres): add name to all unique constraints
This commit is contained in:
@@ -157,7 +157,10 @@ export const buildTable = ({
|
|||||||
return acc
|
return acc
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
_localeParent: unique('locale_parent_id_unique').on(cols._locale, cols._parentID),
|
_localeParent: unique(`${localeTableName}_locale_parent_id_unique`).on(
|
||||||
|
cols._locale,
|
||||||
|
cols._parentID,
|
||||||
|
),
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
@@ -254,18 +257,13 @@ export const buildTable = ({
|
|||||||
|
|
||||||
if (hasLocalizedRelationshipField) {
|
if (hasLocalizedRelationshipField) {
|
||||||
result.localeIdx = index('locale_idx').on(cols.locale)
|
result.localeIdx = index('locale_idx').on(cols.locale)
|
||||||
result.parentPathOrderLocale = unique('parent_id_path_order_locale_unique').on(
|
result.parentPathOrderLocale = unique(
|
||||||
cols.parent,
|
`${relationshipsTableName}_parent_id_path_order_locale_unique`,
|
||||||
cols.path,
|
).on(cols.parent, cols.path, cols.order, cols.locale)
|
||||||
cols.order,
|
|
||||||
cols.locale,
|
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
result.parentPathOrder = unique('parent_id_path_order_unique').on(
|
result.parentPathOrder = unique(
|
||||||
cols.parent,
|
`${relationshipsTableName}_parent_id_path_order_unique`,
|
||||||
cols.path,
|
).on(cols.parent, cols.path, cols.order)
|
||||||
cols.order,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|||||||
@@ -189,6 +189,7 @@ export const traverseFields = ({
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (field.type === 'select' && field.hasMany) {
|
if (field.type === 'select' && field.hasMany) {
|
||||||
|
const selectTableName = `${newTableName}_${toSnakeCase(fieldName)}`
|
||||||
const baseColumns: Record<string, PgColumnBuilder> = {
|
const baseColumns: Record<string, PgColumnBuilder> = {
|
||||||
order: integer('order').notNull(),
|
order: integer('order').notNull(),
|
||||||
parent: parentIDColumnMap[parentIDColType]('parent_id')
|
parent: parentIDColumnMap[parentIDColType]('parent_id')
|
||||||
@@ -205,7 +206,11 @@ export const traverseFields = ({
|
|||||||
if (field.localized) {
|
if (field.localized) {
|
||||||
baseColumns.locale = adapter.enums.enum__locales('locale').notNull()
|
baseColumns.locale = adapter.enums.enum__locales('locale').notNull()
|
||||||
baseExtraConfig.parentOrderLocale = (cols) =>
|
baseExtraConfig.parentOrderLocale = (cols) =>
|
||||||
unique().on(cols.parent, cols.order, cols.locale)
|
unique(`${selectTableName}_parent_id_order_locale_unique`).on(
|
||||||
|
cols.parent,
|
||||||
|
cols.order,
|
||||||
|
cols.locale,
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
baseExtraConfig.parent = (cols) => index('parent_idx').on(cols.parent)
|
baseExtraConfig.parent = (cols) => index('parent_idx').on(cols.parent)
|
||||||
baseExtraConfig.order = (cols) => index('order_idx').on(cols.order)
|
baseExtraConfig.order = (cols) => index('order_idx').on(cols.order)
|
||||||
@@ -215,8 +220,6 @@ export const traverseFields = ({
|
|||||||
baseExtraConfig.value = (cols) => index('value_idx').on(cols.value)
|
baseExtraConfig.value = (cols) => index('value_idx').on(cols.value)
|
||||||
}
|
}
|
||||||
|
|
||||||
const selectTableName = `${newTableName}_${toSnakeCase(fieldName)}`
|
|
||||||
|
|
||||||
buildTable({
|
buildTable({
|
||||||
adapter,
|
adapter,
|
||||||
baseColumns,
|
baseColumns,
|
||||||
@@ -252,6 +255,7 @@ export const traverseFields = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
case 'array': {
|
case 'array': {
|
||||||
|
const arrayTableName = `${newTableName}_${toSnakeCase(field.name)}`
|
||||||
const baseColumns: Record<string, PgColumnBuilder> = {
|
const baseColumns: Record<string, PgColumnBuilder> = {
|
||||||
_order: integer('_order').notNull(),
|
_order: integer('_order').notNull(),
|
||||||
_parentID: parentIDColumnMap[parentIDColType]('_parent_id')
|
_parentID: parentIDColumnMap[parentIDColType]('_parent_id')
|
||||||
@@ -267,13 +271,16 @@ export const traverseFields = ({
|
|||||||
if (field.localized && adapter.payload.config.localization) {
|
if (field.localized && adapter.payload.config.localization) {
|
||||||
baseColumns._locale = adapter.enums.enum__locales('_locale').notNull()
|
baseColumns._locale = adapter.enums.enum__locales('_locale').notNull()
|
||||||
baseExtraConfig._parentOrderLocale = (cols) =>
|
baseExtraConfig._parentOrderLocale = (cols) =>
|
||||||
unique().on(cols._parentID, cols._order, cols._locale)
|
unique(`${arrayTableName}_parent_id_order_locale_unique`).on(
|
||||||
|
cols._parentID,
|
||||||
|
cols._order,
|
||||||
|
cols._locale,
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
baseExtraConfig._parentOrder = (cols) => unique().on(cols._parentID, cols._order)
|
baseExtraConfig._parentOrder = (cols) =>
|
||||||
|
unique(`${arrayTableName}_parent_id_order_unique`).on(cols._parentID, cols._order)
|
||||||
}
|
}
|
||||||
|
|
||||||
const arrayTableName = `${newTableName}_${toSnakeCase(field.name)}`
|
|
||||||
|
|
||||||
const { relationsToBuild: subRelationsToBuild } = buildTable({
|
const { relationsToBuild: subRelationsToBuild } = buildTable({
|
||||||
adapter,
|
adapter,
|
||||||
baseColumns,
|
baseColumns,
|
||||||
@@ -332,10 +339,19 @@ export const traverseFields = ({
|
|||||||
if (field.localized && adapter.payload.config.localization) {
|
if (field.localized && adapter.payload.config.localization) {
|
||||||
baseColumns._locale = adapter.enums.enum__locales('_locale').notNull()
|
baseColumns._locale = adapter.enums.enum__locales('_locale').notNull()
|
||||||
baseExtraConfig._parentPathOrderLocale = (cols) =>
|
baseExtraConfig._parentPathOrderLocale = (cols) =>
|
||||||
unique().on(cols._parentID, cols._path, cols._order, cols._locale)
|
unique(`${blockTableName}_parent_id_path_order_locale_unique`).on(
|
||||||
|
cols._parentID,
|
||||||
|
cols._path,
|
||||||
|
cols._order,
|
||||||
|
cols._locale,
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
baseExtraConfig._parentPathOrder = (cols) =>
|
baseExtraConfig._parentPathOrder = (cols) =>
|
||||||
unique().on(cols._parentID, cols._path, cols._order)
|
unique(`${blockTableName}_parent_id_path_order_unique`).on(
|
||||||
|
cols._parentID,
|
||||||
|
cols._path,
|
||||||
|
cols._order,
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
const { relationsToBuild: subRelationsToBuild } = buildTable({
|
const { relationsToBuild: subRelationsToBuild } = buildTable({
|
||||||
|
|||||||
Reference in New Issue
Block a user