File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11{
22 "name" : " @secjs/database" ,
3- "version" : " 1.0.6 " ,
3+ "version" : " 1.0.7 " ,
44 "description" : " Handle your application database with factories, seeders and query builder in Node.js" ,
55 "license" : " MIT" ,
66 "author" : " João Lenon <lenon@secjs.com.br>" ,
Original file line number Diff line number Diff line change 88 */
99
1010import { ColumnBuilder } from './ColumnBuilder'
11+ import { String } from '@secjs/utils'
1112
1213export class TableBuilder {
1314 private columns : ColumnBuilder [ ] = [ ]
@@ -63,4 +64,35 @@ export class TableBuilder {
6364
6465 return column
6566 }
67+
68+ timestamps (
69+ useTimestamps = true ,
70+ defaultToNow = true ,
71+ useCamelCase = false ,
72+ ) : void {
73+ let createdAtName = 'created_at'
74+ let updatedAtName = 'updated_at'
75+
76+ if ( useCamelCase ) {
77+ createdAtName = String . toCamelCase ( createdAtName )
78+ updatedAtName = String . toCamelCase ( updatedAtName )
79+ }
80+
81+ const createdAtColumn = new ColumnBuilder ( createdAtName , 'date' )
82+ const updatedAtColumn = new ColumnBuilder ( updatedAtName , 'date' )
83+
84+ if ( defaultToNow ) {
85+ let now : number | Date = new Date ( )
86+
87+ if ( useTimestamps ) {
88+ now = Date . now ( )
89+ }
90+
91+ createdAtColumn . defaultTo ( now )
92+ updatedAtColumn . defaultTo ( now )
93+ }
94+
95+ this . columns . push ( createdAtColumn )
96+ this . columns . push ( updatedAtColumn )
97+ }
6698}
You can’t perform that action at this time.
0 commit comments