mysqlsyncr 1.0.44 → 1.0.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +44 -44
- package/src/compare.js +2 -2
- package/src/index.js +7 -2
- package/ui/.editorconfig +7 -7
- package/ui/.prettierrc.json +5 -5
- package/ui/README.md +40 -40
- package/ui/dist/spa/assets/{MainLayout-CJQ1jgg8.js → MainLayout-Cft1OeWe.js} +1 -1
- package/ui/dist/spa/assets/axios-CNk6rzlZ.js +1 -0
- package/ui/dist/spa/assets/index-DomDZ6ci.js +30 -0
- package/ui/dist/spa/assets/{index-BvnAI_tZ.css → index-kXpA8n8r.css} +2 -2
- package/ui/dist/spa/index.html +2 -2
- package/ui/eslint.config.js +73 -73
- package/ui/index.html +21 -21
- package/ui/jsconfig.json +2 -2
- package/ui/package.json +42 -42
- package/ui/postcss.config.js +29 -29
- package/ui/quasar.config.js +216 -216
- package/ui/src/App.vue +7 -7
- package/ui/src/assets/quasar-logo-vertical.svg +14 -14
- package/ui/src/boot/axios.js +6 -14
- package/ui/src/components/EssentialLink.vue +44 -44
- package/ui/src/components/FolderBrowser.vue +2 -3
- package/ui/src/css/app.scss +1 -1
- package/ui/src/css/quasar.variables.scss +25 -25
- package/ui/src/layouts/MainLayout.vue +13 -13
- package/ui/src/pages/ApplyChanges.vue +46 -46
- package/ui/src/pages/CompareDatabase.vue +57 -57
- package/ui/src/pages/DatabaseManager.vue +42 -42
- package/ui/src/pages/DumpDatabase.vue +41 -41
- package/ui/src/pages/ErrorNotFound.vue +27 -27
- package/ui/src/pages/MainComponent copy.vue +322 -322
- package/ui/src/pages/MainComponent.vue +36 -23
- package/ui/src/router/index.js +30 -30
- package/ui/src/router/routes.js +20 -20
- package/ui/src/stores/example-store.js +21 -21
- package/ui/src/stores/index.js +20 -20
- package/ui/dist/spa/assets/axios-DrqNXj9v.js +0 -1
- package/ui/dist/spa/assets/index-NGPmhjJD.js +0 -30
|
@@ -394,7 +394,6 @@
|
|
|
394
394
|
</template>
|
|
395
395
|
|
|
396
396
|
<script>
|
|
397
|
-
import axios from 'axios'
|
|
398
397
|
import FolderBrowser from '../components/FolderBrowser.vue'
|
|
399
398
|
|
|
400
399
|
|
|
@@ -456,7 +455,7 @@ export default {
|
|
|
456
455
|
async refreshDifferences() {
|
|
457
456
|
if (!this.isDbSetup) return
|
|
458
457
|
try {
|
|
459
|
-
const response = await
|
|
458
|
+
const response = await this.$api.post('/api/compare', {
|
|
460
459
|
config: {
|
|
461
460
|
host: this.host,
|
|
462
461
|
port: this.port,
|
|
@@ -473,7 +472,7 @@ export default {
|
|
|
473
472
|
},
|
|
474
473
|
async getDatabasesFromExistingDumps() {
|
|
475
474
|
try {
|
|
476
|
-
const response = await
|
|
475
|
+
const response = await this.$api.post(
|
|
477
476
|
`/api/getDatabasesFromExistingDumps`,
|
|
478
477
|
{
|
|
479
478
|
config: {
|
|
@@ -764,32 +763,46 @@ export default {
|
|
|
764
763
|
}))
|
|
765
764
|
},
|
|
766
765
|
async fetchAllDifferences() {
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
host: this.host,
|
|
770
|
-
port: this.port,
|
|
771
|
-
user: this.user,
|
|
772
|
-
password: this.password,
|
|
773
|
-
output: this.dbFolder,
|
|
774
|
-
},
|
|
775
|
-
})
|
|
776
|
-
this.differences = response.data
|
|
777
|
-
console.log('Differences in fetchAllDifferences:', this.differences)
|
|
778
|
-
},
|
|
779
|
-
async fetchDifferencesForSelectedDb() {
|
|
780
|
-
if (Object.keys(this.existingDatabases).length > 0) {
|
|
781
|
-
const selectedDbName = Object.keys(this.existingDatabases)[0]
|
|
782
|
-
const response = await axios.post('/api/compare', {
|
|
766
|
+
try {
|
|
767
|
+
const response = await this.$api.post('/api/compare', {
|
|
783
768
|
config: {
|
|
784
769
|
host: this.host,
|
|
785
770
|
port: this.port,
|
|
786
771
|
user: this.user,
|
|
787
772
|
password: this.password,
|
|
788
773
|
output: this.dbFolder,
|
|
789
|
-
|
|
790
|
-
},
|
|
774
|
+
},
|
|
791
775
|
})
|
|
792
776
|
this.differences = response.data
|
|
777
|
+
console.log('Differences in fetchAllDifferences:', this.differences)
|
|
778
|
+
} catch (error) {
|
|
779
|
+
console.error('Error fetching all differences:', error)
|
|
780
|
+
this.$q.notify({
|
|
781
|
+
type: 'negative',
|
|
782
|
+
message: error.response?.data?.message || 'Error fetching all differences',
|
|
783
|
+
position: 'top'
|
|
784
|
+
})
|
|
785
|
+
throw error
|
|
786
|
+
}
|
|
787
|
+
},
|
|
788
|
+
async fetchDifferencesForSelectedDb() {
|
|
789
|
+
if (Object.keys(this.existingDatabases).length > 0) {
|
|
790
|
+
const selectedDbName = Object.keys(this.existingDatabases)[0]
|
|
791
|
+
try {
|
|
792
|
+
const response = await this.$api.post('/api/compare', {
|
|
793
|
+
config: {
|
|
794
|
+
host: this.host,
|
|
795
|
+
port: this.port,
|
|
796
|
+
user: this.user,
|
|
797
|
+
password: this.password,
|
|
798
|
+
output: this.dbFolder,
|
|
799
|
+
database: selectedDbName,
|
|
800
|
+
},
|
|
801
|
+
})
|
|
802
|
+
this.differences = response.data
|
|
803
|
+
} catch (error) {
|
|
804
|
+
console.error('Error fetching differences for selected db:', error)
|
|
805
|
+
}
|
|
793
806
|
}
|
|
794
807
|
},
|
|
795
808
|
async createNewDump(overwrite = false) {
|
|
@@ -820,7 +833,7 @@ export default {
|
|
|
820
833
|
|
|
821
834
|
try {
|
|
822
835
|
|
|
823
|
-
let response = await
|
|
836
|
+
let response = await this.$api.post('/api/dump', {
|
|
824
837
|
config: {
|
|
825
838
|
host: this.host,
|
|
826
839
|
port: this.port,
|
|
@@ -904,7 +917,7 @@ export default {
|
|
|
904
917
|
}
|
|
905
918
|
|
|
906
919
|
|
|
907
|
-
const response = await
|
|
920
|
+
const response = await this.$api.post('/api/apply', {
|
|
908
921
|
config: {
|
|
909
922
|
host: this.host,
|
|
910
923
|
port: this.port,
|
package/ui/src/router/index.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { defineRouter } from '#q-app/wrappers'
|
|
2
|
-
import { createRouter, createMemoryHistory, createWebHistory, createWebHashHistory } from 'vue-router'
|
|
3
|
-
import routes from './routes'
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* If not building with SSR mode, you can
|
|
7
|
-
* directly export the Router instantiation;
|
|
8
|
-
*
|
|
9
|
-
* The function below can be async too; either use
|
|
10
|
-
* async/await or return a Promise which resolves
|
|
11
|
-
* with the Router instance.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
export default defineRouter(function (/* { store, ssrContext } */) {
|
|
15
|
-
const createHistory = process.env.SERVER
|
|
16
|
-
? createMemoryHistory
|
|
17
|
-
: (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory)
|
|
18
|
-
|
|
19
|
-
const Router = createRouter({
|
|
20
|
-
scrollBehavior: () => ({ left: 0, top: 0 }),
|
|
21
|
-
routes,
|
|
22
|
-
|
|
23
|
-
// Leave this as is and make changes in quasar.conf.js instead!
|
|
24
|
-
// quasar.conf.js -> build -> vueRouterMode
|
|
25
|
-
// quasar.conf.js -> build -> publicPath
|
|
26
|
-
history: createHistory(process.env.VUE_ROUTER_BASE)
|
|
27
|
-
})
|
|
28
|
-
|
|
29
|
-
return Router
|
|
30
|
-
})
|
|
1
|
+
import { defineRouter } from '#q-app/wrappers'
|
|
2
|
+
import { createRouter, createMemoryHistory, createWebHistory, createWebHashHistory } from 'vue-router'
|
|
3
|
+
import routes from './routes'
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* If not building with SSR mode, you can
|
|
7
|
+
* directly export the Router instantiation;
|
|
8
|
+
*
|
|
9
|
+
* The function below can be async too; either use
|
|
10
|
+
* async/await or return a Promise which resolves
|
|
11
|
+
* with the Router instance.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export default defineRouter(function (/* { store, ssrContext } */) {
|
|
15
|
+
const createHistory = process.env.SERVER
|
|
16
|
+
? createMemoryHistory
|
|
17
|
+
: (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory)
|
|
18
|
+
|
|
19
|
+
const Router = createRouter({
|
|
20
|
+
scrollBehavior: () => ({ left: 0, top: 0 }),
|
|
21
|
+
routes,
|
|
22
|
+
|
|
23
|
+
// Leave this as is and make changes in quasar.conf.js instead!
|
|
24
|
+
// quasar.conf.js -> build -> vueRouterMode
|
|
25
|
+
// quasar.conf.js -> build -> publicPath
|
|
26
|
+
history: createHistory(process.env.VUE_ROUTER_BASE)
|
|
27
|
+
})
|
|
28
|
+
|
|
29
|
+
return Router
|
|
30
|
+
})
|
package/ui/src/router/routes.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import DumpDatabase from 'pages/DumpDatabase.vue';
|
|
2
|
-
import CompareDatabase from 'pages/CompareDatabase.vue';
|
|
3
|
-
import ApplyChanges from 'pages/ApplyChanges.vue';
|
|
4
|
-
import MainComponent from 'pages/MainComponent.vue';
|
|
5
|
-
|
|
6
|
-
const routes = [
|
|
7
|
-
{
|
|
8
|
-
path: '/',
|
|
9
|
-
component: () => import('layouts/MainLayout.vue'),
|
|
10
|
-
children: [
|
|
11
|
-
{ path: '', component: MainComponent },
|
|
12
|
-
{ path: '/dump', component: DumpDatabase },
|
|
13
|
-
{ path: '/compare', component: CompareDatabase },
|
|
14
|
-
{ path: '/apply', component: ApplyChanges },
|
|
15
|
-
],
|
|
16
|
-
},
|
|
17
|
-
];
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export default routes;
|
|
1
|
+
import DumpDatabase from 'pages/DumpDatabase.vue';
|
|
2
|
+
import CompareDatabase from 'pages/CompareDatabase.vue';
|
|
3
|
+
import ApplyChanges from 'pages/ApplyChanges.vue';
|
|
4
|
+
import MainComponent from 'pages/MainComponent.vue';
|
|
5
|
+
|
|
6
|
+
const routes = [
|
|
7
|
+
{
|
|
8
|
+
path: '/',
|
|
9
|
+
component: () => import('layouts/MainLayout.vue'),
|
|
10
|
+
children: [
|
|
11
|
+
{ path: '', component: MainComponent },
|
|
12
|
+
{ path: '/dump', component: DumpDatabase },
|
|
13
|
+
{ path: '/compare', component: CompareDatabase },
|
|
14
|
+
{ path: '/apply', component: ApplyChanges },
|
|
15
|
+
],
|
|
16
|
+
},
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
export default routes;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { defineStore, acceptHMRUpdate } from 'pinia'
|
|
2
|
-
|
|
3
|
-
export const useCounterStore = defineStore('counter', {
|
|
4
|
-
state: () => ({
|
|
5
|
-
counter: 0
|
|
6
|
-
}),
|
|
7
|
-
|
|
8
|
-
getters: {
|
|
9
|
-
doubleCount: (state) => state.counter * 2
|
|
10
|
-
},
|
|
11
|
-
|
|
12
|
-
actions: {
|
|
13
|
-
increment() {
|
|
14
|
-
this.counter++
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
if (import.meta.hot) {
|
|
20
|
-
import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot))
|
|
21
|
-
}
|
|
1
|
+
import { defineStore, acceptHMRUpdate } from 'pinia'
|
|
2
|
+
|
|
3
|
+
export const useCounterStore = defineStore('counter', {
|
|
4
|
+
state: () => ({
|
|
5
|
+
counter: 0
|
|
6
|
+
}),
|
|
7
|
+
|
|
8
|
+
getters: {
|
|
9
|
+
doubleCount: (state) => state.counter * 2
|
|
10
|
+
},
|
|
11
|
+
|
|
12
|
+
actions: {
|
|
13
|
+
increment() {
|
|
14
|
+
this.counter++
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
if (import.meta.hot) {
|
|
20
|
+
import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot))
|
|
21
|
+
}
|
package/ui/src/stores/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { defineStore } from '#q-app/wrappers'
|
|
2
|
-
import { createPinia } from 'pinia'
|
|
3
|
-
|
|
4
|
-
/*
|
|
5
|
-
* If not building with SSR mode, you can
|
|
6
|
-
* directly export the Store instantiation;
|
|
7
|
-
*
|
|
8
|
-
* The function below can be async too; either use
|
|
9
|
-
* async/await or return a Promise which resolves
|
|
10
|
-
* with the Store instance.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
export default defineStore((/* { ssrContext } */) => {
|
|
14
|
-
const pinia = createPinia()
|
|
15
|
-
|
|
16
|
-
// You can add Pinia plugins here
|
|
17
|
-
// pinia.use(SomePiniaPlugin)
|
|
18
|
-
|
|
19
|
-
return pinia
|
|
20
|
-
})
|
|
1
|
+
import { defineStore } from '#q-app/wrappers'
|
|
2
|
+
import { createPinia } from 'pinia'
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
* If not building with SSR mode, you can
|
|
6
|
+
* directly export the Store instantiation;
|
|
7
|
+
*
|
|
8
|
+
* The function below can be async too; either use
|
|
9
|
+
* async/await or return a Promise which resolves
|
|
10
|
+
* with the Store instance.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export default defineStore((/* { ssrContext } */) => {
|
|
14
|
+
const pinia = createPinia()
|
|
15
|
+
|
|
16
|
+
// You can add Pinia plugins here
|
|
17
|
+
// pinia.use(SomePiniaPlugin)
|
|
18
|
+
|
|
19
|
+
return pinia
|
|
20
|
+
})
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as e,a}from"./index-NGPmhjJD.js";const i=a.create({baseURL:"https://api.example.com"}),t=e(({app:o})=>{o.config.globalProperties.$axios=a,o.config.globalProperties.$api=i});export{i as api,t as default};
|