代码拉取完成,页面将自动刷新
"use strict";
const mockUtil = require("mockjs");
const fs = require("fs");
const path = require("path");
const mysql = require('mysql');
const { JSON } = require("mysql/lib/protocol/constants/types");
function intomysql() {
const connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : 'root',
port: '3306',
database: 'test'
});
connection.connect();
var sql = 'SHOW TABLES;';
//查
var tres=[]
connection.query(sql,function (err, result) {
if(err){
console.log('[SELECT ERROR] - ',err.message);
return;
}
for (let index = 0; index < result.length; index++) {
const element = result[index]['Tables_in_test'];
console.log('\x1B[32m',"已获取表:"+element);
var tableNamesql="SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_NAME = '"+element+"'";
connection.query(tableNamesql,function (err1, result1) {
var arr=[]
if(err1){
console.log('[SELECT ERROR] - ',err1.message);
return;
}
for (let index1 = 0; index1 < result1.length; index1++) {
const col = result1[index1]['COLUMN_NAME'];
arr.push("'"+col+"':'@ctitle'")
}
// console.log("{"+(arr).join(",")+"}");
fs.writeFile('./rules/'+element, "{"+(arr).join(",")+"}", (err, writeOfContent) => {
try {
} catch (e) {
console.log('写入内容失败', e)
}
})
})
}
connection.end();
});
}
function mockData(ruleFile) {
/**
* 处理生成PLSQL语句。
* 结果默认保存在datas目录下,结果名为 ruleFilename.sql
*/
let filename = path.win32.basename(ruleFile);
fs.exists(ruleFile, (exists) => {
if (exists) {
fs.readFile(ruleFile, 'utf8', (err, rule) => {
if (err) throw err;
let obj = eval("(" + rule + ")");
let results=generateMockDatas(100,filename,obj);
fs.writeFile("datas/" + filename + ".sql", results.join("\n"), "utf8", function(err) {
if (err) {
console.log(err);
}
});
});
} else {
console.log("could't found the file:" + ruleFile);
}
});
}
function mockDatas(ruleDirectory) {
/**
* 遍历文件夹下的所有文件,逐一处理生成PLSQL语句。
* 结果默认保存在datas目录下,结果名为 ruleFilename.sql
*/
fs.exists(ruleDirectory,(exists)=>{
if(exists){
fs.readdir(ruleDirectory,function(err,files){
files.forEach(function(file) {
mockData(ruleDirectory+"/"+file);
}, this);
});
}else{
console.log("the directory "+ruleDirectory+ " is not exists");
}
});
}
function printMockData(ruleFile) {
/**
* 处理生成PLSQL语句,结果输出到控制台。
*/
let filename = path.win32.basename(ruleFile);
fs.exists(ruleFile, (exists) => {
if (exists) {
fs.readFile(ruleFile, 'utf8', (err, rule) => {
if (err) throw err;
let obj = eval("(" + rule + ")");
let results=generateMockDatas(5,filename,obj);
console.log(results);
});
} else {
console.log("could't found the file:" + ruleFile);
}
});
}
function generateMockDatas(count, tableName, template) {
let result=[];
//处理规则
let Random = mockUtil.Random;
Random.guid();
Random.ctitle();
let i = 0;
while (i < count) {
let mockResult = mockUtil.mock(template);
let sql = ["insert into "];
sql.push(tableName);
let fields = [];
let values = [];
for (let e in mockResult) {
fields.push(e);
if (mockResult[e].constructor == Number) {
values.push(mockResult[e]);
} else {
values.push("'" + mockResult[e] + "'");
}
}
sql.push("(");
sql.push(fields.join(','));
sql.push(") values(");
sql.push(values.join(','));
sql.push(");");
result.push(sql.join(''));
i++;
}
return result;
}
exports.printMockData = printMockData;
exports.mockData = mockData;
exports.mockDatas = mockDatas;
exports.intomysql = intomysql;
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。