Allow setting now() as default value

Fixes #742
This commit is contained in:
rijkvanzanten
2020-10-21 13:28:33 +02:00
parent fb8f1419a3
commit f583fae41a
2 changed files with 9 additions and 2 deletions

View File

@@ -99,8 +99,9 @@ async function createTables(database: Knex) {
if (columnInfo.default !== undefined) {
let defaultValue = columnInfo.default;
if (isObject(defaultValue) || Array.isArray(defaultValue))
if (isObject(defaultValue) || Array.isArray(defaultValue)) {
defaultValue = JSON.stringify(defaultValue);
}
if (defaultValue === '$now') {
defaultValue = database!.fn.now();

View File

@@ -260,7 +260,13 @@ export class FieldsService {
}
if (field.schema.default_value) {
column.defaultTo(field.schema.default_value);
const defaultValue = field.schema.default_value.toLowerCase();
if (defaultValue === 'now()') {
column.defaultTo(this.knex.fn.now());
} else {
column.defaultTo(field.schema.default_value);
}
}
if (field.schema.is_nullable !== undefined && field.schema.is_nullable === false) {