建表 懒人脚本 还可以拓展一下下
快速建表 重复生成时操作
使用nodejs 写文件
这里进行遍历扫描
由后缀定义类型
统一有4个固定的字段
const fs = require('fs');
var tableMap ={
user:'name,passwod,email',
admin:'name,passwod,email',
article:'user_id,type_id,article,view|int,like|int',
comment:'user_id,article_id,comment,like|int',
reply:'user_id,comment_id,reply,like|int',
token:'user_id,token,price|int',
}
function each({name,list}){
var tmp = list.map(e=>{
if(e.endsWith("_id")) return `${e} INT,`
if(e.endsWith("|int")) return `${e.replace('|int','')} INT,`
return `${e} VARCHAR(100),`
}).join("\n")
return `
DROP TABLE IF EXISTS ${name};
CREATE TABLE ${name} (
id INT AUTO_INCREMENT PRIMARY KEY,
${tmp}
status INT DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
`
}
var sql = []
Object.keys(tableMap).forEach((key) => {
sql.push(each( { name :key, list:tableMap[key].split(",") }))
});
// sql =table.map(e=>`DROP TABLE IF EXISTS ${e}`).join(";\n \n")
fs.writeFileSync('sql.sql', sql.join('\n'));