tachybase_todo/packages/collections/src/fields/json-field.ts

19 lines
393 B
TypeScript
Raw Normal View History

2021-09-18 00:23:21 +08:00
import { DataTypes } from 'sequelize';
2021-09-27 15:28:32 +08:00
import { Field } from './field';
2021-09-18 00:23:21 +08:00
2021-09-27 15:28:32 +08:00
export class JsonField extends Field {
2021-09-18 00:23:21 +08:00
get dataType() {
return DataTypes.JSON;
}
}
2021-09-27 15:28:32 +08:00
export class JsonbField extends Field {
2021-09-18 00:23:21 +08:00
get dataType() {
const dialect = this.context.database.sequelize.getDialect();
if (dialect === 'postgres') {
return DataTypes.JSONB;
}
return DataTypes.JSON;
}
}