drizzle-orm
Version:
Drizzle ORM package for SQL databases
35 lines • 917 B
JavaScript
import { entityKind } from "../../entity.js";
import { MySqlColumnBuilderWithAutoIncrement, MySqlColumnWithAutoIncrement } from "./common.js";
class MySqlSerialBuilder extends MySqlColumnBuilderWithAutoIncrement {
static [entityKind] = "MySqlSerialBuilder";
constructor(name) {
super(name, "number", "MySqlSerial");
this.config.hasDefault = true;
this.config.autoIncrement = true;
}
/** @internal */
build(table) {
return new MySqlSerial(table, this.config);
}
}
class MySqlSerial extends MySqlColumnWithAutoIncrement {
static [entityKind] = "MySqlSerial";
getSQLType() {
return "serial";
}
mapFromDriverValue(value) {
if (typeof value === "string") {
return Number(value);
}
return value;
}
}
function serial(name) {
return new MySqlSerialBuilder(name ?? "");
}
export {
MySqlSerial,
MySqlSerialBuilder,
serial
};
//# sourceMappingURL=serial.js.map