Comment on page
BigInt and BigDecimal
Checkpoint provides support for
BigInt
, Decimal
, BigDecimal
. It's also possible to define custom (or define existing) decimal types.BigInt and BigDecimal types are mapped to following MySQL types by default:
BigInt
->BIGINT
Decimal
->DECIMAL(10, 2)
BigDecimal
->DECIMAL(20, 8)
To use default (or custom) BigInt and BigDecimal type it needs to be predeclared in GraphQL schema using
scalar
keyword. Once it's declared it can be used as field's type.scalar BigInt
type User {
votes_count: BigInt
}
When writing to those fields make sure that you are using JavaScript type that
mysql
package understands and won't result in loss of precision. BigInt
and String
should be preferred.const checkpoint = new Checkpoint(config, writer, schema, {
decimalTypes: {
Decimal: {
p: 14,
d: 10
},
BigDecimal: {
p: 20,
d: 8
},
EvenBiggerDecimal: {
p: 40,
d: 16
}
}
});
Last modified 1yr ago