@@ -45,8 +45,6 @@ import {
45
45
builder as serviceBuilder ,
46
46
} from '../service/service'
47
47
48
- // note a better way to do this is in https://github.com/redwoodjs/redwood/pull/3783/files
49
- const NON_EDITABLE_COLUMNS = [ 'id' , 'createdAt' , 'updatedAt' ]
50
48
// Any assets that should not trigger an overwrite error and require a --force
51
49
const SKIPPABLE_ASSETS = [ 'scaffold.css' ]
52
50
const PACKAGE_SET = 'Set'
@@ -59,12 +57,19 @@ const getIdName = (model) => {
59
57
return model . fields . find ( ( field ) => field . isId ) ?. name
60
58
}
61
59
62
- const filterAutoGeneratedColumnsForScaffold = ( column ) => {
60
+ const isAutoGeneratedColumnForScaffold = ( column ) => {
63
61
const autoGeneratedFunctions = [ 'now' , 'autoincrement' ]
64
- return ! (
62
+
63
+ const columnDefaultFunction =
64
+ typeof column . default === 'object' && 'name' in column . default
65
+ ? column . default ?. name
66
+ : ''
67
+
68
+ return (
65
69
column . isId ||
66
70
column . isUpdatedAt ||
67
- autoGeneratedFunctions . includes ( column ?. default ?. name )
71
+ column . name === 'createdAt' ||
72
+ autoGeneratedFunctions . includes ( columnDefaultFunction )
68
73
)
69
74
}
70
75
@@ -400,11 +405,9 @@ const modelRelatedVariables = (model) => {
400
405
isRelationalField,
401
406
}
402
407
} )
403
- const editableColumns = columns
404
- . filter ( ( column ) => {
405
- return NON_EDITABLE_COLUMNS . indexOf ( column . name ) === - 1
406
- } )
407
- . filter ( filterAutoGeneratedColumnsForScaffold )
408
+ const editableColumns = columns . filter (
409
+ ( column ) => ! isAutoGeneratedColumnForScaffold ( column ) ,
410
+ )
408
411
const fieldsToImport = Object . keys (
409
412
editableColumns . reduce ( ( accumulator , column ) => {
410
413
accumulator [ column . component ] = true
0 commit comments