nodejs-schema-rules
Version:
The CLI tool automatically generates basic validation rules for popular libraries such as JOI, ValidatorJS and @vinejs/vine based on your database table schema!
34 lines (30 loc) • 1.07 kB
text/typescript
import { DATABASE_MYSQL, DATABASE_POSTGRES, databaseClassMap } from "../utils/constants"
import {Database} from "../databases"
import { config } from "../config/config";
import { mySQLDataTypeTable, pgDataTypeTable, sqliteDataTypeTable } from "./sql";
export const databaseInt=async (databaeTpe:any)=>{
if(!Object.keys(databaseClassMap).includes(databaeTpe)){
throw new Error("The database type is invalid")
}
const databaseConfig=config.databases[databaeTpe]
const database=new Database(databaeTpe,databaseConfig).init()
await database.connect();
try {
await database.query(createTableSql(databaeTpe));
} catch (error:any) {
console.log("Test Error: ",error);
throw new Error(error.message)
}finally{
await database.end()
}
return true;
}
export const createTableSql=(dataType:any)=>{
if(dataType===DATABASE_MYSQL){
return mySQLDataTypeTable;
}else if(dataType===DATABASE_POSTGRES){
return pgDataTypeTable;
}else{
return sqliteDataTypeTable;
}
}