41 lines
922 B
TypeScript
41 lines
922 B
TypeScript
|
export type ORMType = "int" | "bigint" | "boolean" | "date" | "datetime" | "time" | "text" | "varchar";
|
||
|
|
||
|
export function getTypeByORM(type: ORMType): string {
|
||
|
const dbType = process.env.DB_TYPE;
|
||
|
|
||
|
const typeMap: Record<string, Record<ORMType, string>> = {
|
||
|
mysql: {
|
||
|
int: "int",
|
||
|
bigint: "bigint",
|
||
|
boolean: "tinyint",
|
||
|
date: "date",
|
||
|
datetime: "datetime",
|
||
|
time: "time",
|
||
|
text: "text",
|
||
|
varchar: "varchar",
|
||
|
},
|
||
|
postgres: {
|
||
|
int: "integer",
|
||
|
bigint: "bigint",
|
||
|
boolean: "boolean",
|
||
|
date: "date",
|
||
|
datetime: "timestamp",
|
||
|
time: "time",
|
||
|
text: "text",
|
||
|
varchar: "varchar",
|
||
|
},
|
||
|
sqlite: {
|
||
|
int: "integer",
|
||
|
bigint: "integer",
|
||
|
boolean: "integer",
|
||
|
date: "text",
|
||
|
datetime: "text",
|
||
|
time: "text",
|
||
|
text: "text",
|
||
|
varchar: "text",
|
||
|
},
|
||
|
};
|
||
|
|
||
|
return typeMap[dbType]?.[type] || type;
|
||
|
}
|