1
0
mirror of https://github.com/lana-k/sqliteviz.git synced 2025-12-07 10:38:54 +08:00

add dataBase lib

This commit is contained in:
lana-k
2020-10-20 19:05:38 +02:00
parent aae47eff86
commit 5a8b2584ff
6 changed files with 56 additions and 69 deletions

View File

@@ -57,8 +57,7 @@ export default {
components: { TableDescription, TextField },
data () {
return {
schemaVisible: true,
worker: this.$store.state.worker
schemaVisible: true
}
},
computed: {
@@ -71,29 +70,7 @@ export default {
},
methods: {
changeDb () {
const dbName = this.$refs.dbfile.value.substr(this.$refs.dbfile.value.lastIndexOf('\\') + 1)
this.$store.commit('saveDbName', dbName)
const f = this.$refs.dbfile.files[0]
const r = new FileReader()
r.onload = () => {
this.worker.onmessage = () => {
const getSchemaSql = `
SELECT name, sql
FROM sqlite_master
WHERE type='table' AND name NOT LIKE 'sqlite_%';`
this.worker.onmessage = event => {
this.$store.commit('saveSchema', event.data.results[0].values)
}
this.worker.postMessage({ action: 'exec', sql: getSchemaSql })
}
this.$store.commit('saveDbFile', r.result)
try {
this.worker.postMessage({ action: 'open', buffer: r.result }, [r.result])
} catch (exception) {
this.worker.postMessage({ action: 'open', buffer: r.result })
}
}
r.readAsArrayBuffer(f)
this.$db.loadDb(this.$refs.dbfile.files[0])
}
}
}

View File

@@ -89,7 +89,6 @@ export default {
result: null,
view: 'table',
tableViewHeight: 0,
worker: this.$store.state.worker,
isUnsaved: !this.name
}
},
@@ -164,18 +163,10 @@ export default {
},
// Run a command in the database
execute (commands) {
this.worker.onmessage = (event) => {
// if it was more than one select - take only the first one
this.result = event.data.results[0]
if (!this.result) {
console.log(event.data.error)
// return
}
// this.$refs.output.innerHTML = ''
}
this.worker.postMessage({ action: 'exec', sql: commands })
// this.$refs.output.textContent = 'Fetching results...'
// this.$refs.output.textContent = 'Fetching results...' */
this.$db.execute(commands)
.then(result => { this.result = result })
.catch(err => alert(err))
},
execEditorContents () {
this.execute(this.query + ';')