更新
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
const config = require("./config")
|
||||
import mysqldump from 'mysqldump';
|
||||
|
||||
const Importer = require('mysql-import');
|
||||
|
||||
module.exports = class {
|
||||
constructor(app, sequelize) {
|
||||
this.app = app
|
||||
this.sequelize = sequelize
|
||||
this.file = this.app.root + '/' + config.database + '.sql'
|
||||
}
|
||||
|
||||
//备份数据库所有表
|
||||
async backup(file) {
|
||||
this.file = file || this.app.root + '/' + config.database + '.sql'
|
||||
console.log('备份数据库中...');
|
||||
await mysqldump({
|
||||
connection: {
|
||||
host : config.options.host,
|
||||
port : config.options.port,
|
||||
user : config.username,
|
||||
password: config.password,
|
||||
database: config.database,
|
||||
|
||||
},
|
||||
dumpToFile: this.file,
|
||||
});
|
||||
console.log('备份数据库完成:', this.file);
|
||||
}
|
||||
//还原备份sql文件
|
||||
async reduction() {
|
||||
console.time("reduction")
|
||||
//先备份旧数据
|
||||
await this.backup(this.app.root + '/' + 'extend/mysql/backup/' + Date.now() + '.sql')
|
||||
//清空数据库
|
||||
await this.sequelize.drop()
|
||||
//导入sql文件
|
||||
const importer = new Importer({
|
||||
host : config.options.host,
|
||||
port : config.options.port,
|
||||
user : config.username,
|
||||
password: config.password,
|
||||
database: config.database,
|
||||
});
|
||||
this.file = this.app.root + '/' + config.database + '.sql'
|
||||
await importer.import(this.file)
|
||||
console.timeEnd("reduction")
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user