fix(db): ignore patching already created db

This commit is contained in:
Alexey Kasyanchuk 2018-04-04 08:13:29 +03:00
parent 74f168695e
commit 0df20237bb
2 changed files with 16 additions and 2 deletions

View File

@ -193,8 +193,11 @@ const writeSphinxConfig = (path, dbPath) => {
} }
} }
let isInitDb = false
if (!fs.existsSync(`${dbPath}/database`)){ if (!fs.existsSync(`${dbPath}/database`)){
fs.mkdirSync(`${dbPath}/database`); fs.mkdirSync(`${dbPath}/database`);
isInitDb = true
} }
if(/^win/.test(process.platform)) if(/^win/.test(process.platform))
@ -203,6 +206,8 @@ const writeSphinxConfig = (path, dbPath) => {
fs.writeFileSync(`${path}/sphinx.conf`, config) fs.writeFileSync(`${path}/sphinx.conf`, config)
console.log(`writed sphinx config to ${path}`) console.log(`writed sphinx config to ${path}`)
console.log('db path:', dbPath) console.log('db path:', dbPath)
return {isInitDb}
} }
const sphinxPath = path.resolve(appPath('searchd')) const sphinxPath = path.resolve(appPath('searchd'))
@ -217,7 +222,7 @@ const startSphinx = (callback) => {
appConfig['dbPath'] = sphinxConfigDirectory appConfig['dbPath'] = sphinxConfigDirectory
} }
writeSphinxConfig(sphinxConfigDirectory, appConfig.dbPath) const { isInitDb } = writeSphinxConfig(sphinxConfigDirectory, appConfig.dbPath)
const config = `${sphinxConfigDirectory}/sphinx.conf` const config = `${sphinxConfigDirectory}/sphinx.conf`
const options = ['--config', config] const options = ['--config', config]
@ -226,6 +231,8 @@ const startSphinx = (callback) => {
options.push('--nodetach') options.push('--nodetach')
} }
sphinx = spawn(sphinxPath, options) sphinx = spawn(sphinxPath, options)
// remeber initizalizing of db
sphinx.isInitDb = isInitDb
const optimizeResolvers = {} const optimizeResolvers = {}

View File

@ -179,13 +179,20 @@ module.exports = (callback, mainWindow, sphinxApp) => {
callback() callback()
} }
sphinx.connect((mysqlError) => { sphinx.connect(async (mysqlError) => {
if(mysqlError) if(mysqlError)
{ {
console.log('error on sphinx connecting on db patching', mysqlError) console.log('error on sphinx connecting on db patching', mysqlError)
return return
} }
// init of db, we can set version to last
if(sphinxApp && sphinxApp.isInitDb)
{
console.log('new db, set version to last')
await query('insert into version(id, version) values(1, 3)')
}
sphinx.query('select * from version', (err, version) => { sphinx.query('select * from version', (err, version) => {
if(err) if(err)
{ {