mirror of
https://github.com/supabase/supabase.git
synced 2026-10-07 10:25:06 +03:00
adjust logic on setting default value to null when its an empty string
This commit is contained in:
1 parent
d0b2ab7b4c
commit
afe35bc3d3
2 files changed
+11
-5
No files matched your search
+4
-4
@@ -1,7 +1,7 @@
|
||||
import { FC, useEffect, useState } from 'react'
|
||||
import { isUndefined, isEmpty } from 'lodash'
|
||||
import { Dictionary } from '@supabase/grid'
|
||||
import { Checkbox, SidePanel, Space, Input, Divider } from '@supabase/ui'
|
||||
import { Checkbox, SidePanel, Input } from '@supabase/ui'
|
||||
import {
|
||||
PostgresColumn,
|
||||
PostgresRelationship,
|
||||
@@ -23,6 +23,7 @@ import {
|
||||
generateCreateColumnPayload,
|
||||
generateUpdateColumnPayload,
|
||||
} from './ColumnEditor.utils'
|
||||
import { TEXT_TYPES } from '../SidePanelEditor.constants'
|
||||
import { ColumnField, CreateColumnPayload, UpdateColumnPayload } from '../SidePanelEditor.types'
|
||||
|
||||
interface Props {
|
||||
@@ -71,9 +72,8 @@ const ColumnEditor: FC<Props> = ({
|
||||
}, [visible])
|
||||
|
||||
const onUpdateField = (changes: Partial<ColumnField>) => {
|
||||
// An <input> can't have null as its value, so we need to use ''
|
||||
// and convert this '' to null before saving it
|
||||
if (changes.defaultValue === '') {
|
||||
const isTextBasedColumn = TEXT_TYPES.includes(columnFields.format)
|
||||
if (!isTextBasedColumn && changes.defaultValue === '') {
|
||||
changes.defaultValue = null
|
||||
}
|
||||
|
||||
|
||||
+7
-1
@@ -27,9 +27,10 @@ import * as Tooltip from '@radix-ui/react-tooltip'
|
||||
import Column from './Column'
|
||||
import InformationBox from 'components/ui/InformationBox'
|
||||
import ForeignKeySelector from '../ForeignKeySelector/ForeignKeySelector'
|
||||
import { ColumnField } from '../SidePanelEditor.types'
|
||||
import { ImportContent } from './TableEditor.types'
|
||||
import { generateColumnField } from '../ColumnEditor/ColumnEditor.utils'
|
||||
import { ColumnField } from '../SidePanelEditor.types'
|
||||
import { TEXT_TYPES } from '../SidePanelEditor.constants'
|
||||
|
||||
interface Props {
|
||||
table?: Partial<PostgresTable>
|
||||
@@ -91,6 +92,11 @@ const ColumnManagement: FC<Props> = ({
|
||||
const onUpdateColumn = (columnToUpdate: ColumnField, changes: Partial<ColumnField>) => {
|
||||
const updatedColumns = columns.map((column: ColumnField) => {
|
||||
if (column.id === columnToUpdate.id) {
|
||||
const isTextBasedColumn = TEXT_TYPES.includes(columnToUpdate.format)
|
||||
if (!isTextBasedColumn && changes.defaultValue === '') {
|
||||
changes.defaultValue = null
|
||||
}
|
||||
|
||||
if ('name' in changes && !isUndefined(column.foreignKey)) {
|
||||
const foreignKey: PostgresRelationship = {
|
||||
...column.foreignKey,
|
||||
|
||||
Reference in new issue
Block a user