Compare commits

...

2443 Commits

Author SHA1 Message Date
SPRINX0\prochazka
062d168c97 windows arm build for community is back 2025-07-30 10:44:33 +02:00
SPRINX0\prochazka
c9be5fb125 v6.6.1-premium-beta.5 2025-07-30 10:20:20 +02:00
SPRINX0\prochazka
06c6716ee1 v6.6.1-beta.4 2025-07-30 10:20:09 +02:00
SPRINX0\prochazka
e856d8fddf mongosh support only for premium 2025-07-30 10:19:57 +02:00
Pavel
6e8cdc24a3 feat: use getColleciton syntax for mongo 2025-07-29 16:33:39 +02:00
Pavel
461f1e39fa fix: use correct dbName in connection string 2025-07-29 16:12:56 +02:00
Pavel
4892dbce5e fix: use [''] syntax for mongosh col calls 2025-07-29 15:31:13 +02:00
SPRINX0\prochazka
9da32a13de v6.6.1-beta.3 2025-07-29 10:55:18 +02:00
SPRINX0\prochazka
9c6908da77 reverted change 2025-07-29 10:55:07 +02:00
SPRINX0\prochazka
ac081e6c86 v6.6.1-beta.2 2025-07-29 10:50:18 +02:00
SPRINX0\prochazka
cc9744156c removed windows ARM build 2025-07-29 10:50:09 +02:00
SPRINX0\prochazka
72a874c7f4 v6.6.1-beta.1 2025-07-29 09:58:42 +02:00
SPRINX0\prochazka
2809324b35 Merge branch 'master' into feature/mongosh 2025-07-29 09:57:20 +02:00
SPRINX0\prochazka
58e6c45c73 mongosh volatile packages 2025-07-29 09:56:25 +02:00
SPRINX0\prochazka
43aaf192a2 promo widget 2025-07-25 13:04:21 +02:00
SPRINX0\prochazka
c0574bc738 readme 2025-07-25 12:25:02 +02:00
SPRINX0\prochazka
27e5d639ef changelog 2025-07-25 09:27:45 +02:00
SPRINX0\prochazka
aa9fdd4fc9 changelog 2025-07-25 09:24:22 +02:00
SPRINX0\prochazka
7af6d9b2ce test wait 2025-07-25 09:22:55 +02:00
SPRINX0\prochazka
0e06d28335 v6.6.0 2025-07-25 09:21:25 +02:00
SPRINX0\prochazka
e3b86e4d41 v6.5.7-premium-beta.6 2025-07-25 08:39:12 +02:00
SPRINX0\prochazka
5b1bfe7379 v6.5.7-beta.5 2025-07-25 08:39:02 +02:00
CI workflows
76d07b967e chore: auto-update github workflows 2025-07-25 06:30:06 +00:00
CI workflows
4b1932fe52 Update pro ref 2025-07-25 06:29:48 +00:00
CI workflows
a56de91b1e chore: auto-update github workflows 2025-07-25 06:23:26 +00:00
CI workflows
6b4fb616bc Update pro ref 2025-07-25 06:23:11 +00:00
SPRINX0\prochazka
d24670e14e SYNC: chat & chart permission 2025-07-25 06:23:00 +00:00
CI workflows
13b3ae35ed chore: auto-update github workflows 2025-07-25 06:04:12 +00:00
CI workflows
6860e1f085 Update pro ref 2025-07-25 06:03:56 +00:00
SPRINX0\prochazka
74fa1c6628 SYNC: store connection definition in storagedb 2025-07-25 06:03:44 +00:00
SPRINX0\prochazka
85f847a4f3 SYNC: fix 2025-07-25 06:01:37 +00:00
CI workflows
39df72d163 chore: auto-update github workflows 2025-07-25 05:54:02 +00:00
CI workflows
5ca8786802 Update pro ref 2025-07-25 05:53:44 +00:00
SPRINX0\prochazka
ca145967dc SYNC: Merge branch 'feature/firestore' 2025-07-25 05:53:34 +00:00
Pavel
06a3ce7486 feat: update mongo getCollectionExportQueryScript 2025-07-24 20:55:24 +02:00
Pavel
9f85b6154d feat: look into cursor's firstBatch in mongosh res 2025-07-24 18:48:58 +02:00
SPRINX0\prochazka
732763689a v6.5.7-beta.4 2025-07-24 17:28:19 +02:00
SPRINX0\prochazka
0ea75f25f1 process workflows - upgrade node 2025-07-24 17:21:28 +02:00
SPRINX0\prochazka
eab27ce0bb node version 22 2025-07-24 17:20:52 +02:00
SPRINX0\prochazka
29fd381989 Merge branch 'master' into feature/mongosh 2025-07-24 17:14:59 +02:00
Pavel
06a845697a feat: mongosh for script and stream methods 2025-07-24 15:52:59 +02:00
CI workflows
b12587626d chore: auto-update github workflows 2025-07-24 10:11:39 +00:00
SPRINX0\prochazka
b49988032e firestore plugin build 2025-07-24 12:11:21 +02:00
SPRINX0\prochazka
a9b4152553 v6.5.7-premium-beta.3 2025-07-24 12:08:00 +02:00
CI workflows
63720045f1 chore: auto-update github workflows 2025-07-24 10:07:04 +00:00
CI workflows
aa7529192e Update pro ref 2025-07-24 10:06:46 +00:00
SPRINX0\prochazka
a162a15a27 v6.5.7-premium-beta.2 2025-07-24 11:01:28 +02:00
CI workflows
457a73efae chore: auto-update github workflows 2025-07-24 09:00:52 +00:00
CI workflows
91c3dd982b Update pro ref 2025-07-24 09:00:35 +00:00
Jan Prochazka
c171f93c93 SYNC: Merge pull request #5 from dbgate/feature/firestore 2025-07-24 09:00:23 +00:00
SPRINX0\prochazka
0cf9ddb1cd SYNC: try to fix test 2025-07-24 07:13:39 +00:00
SPRINX0\prochazka
2322537350 v6.5.7-premium-beta.1 2025-07-24 08:58:19 +02:00
SPRINX0\prochazka
6ce50109da gw server API 2025-07-24 08:55:21 +02:00
SPRINX0\prochazka
abe7fdf34d SYNC: simplker chat test 2025-07-24 06:52:58 +00:00
CI workflows
ecf2f5ed8c chore: auto-update github workflows 2025-07-24 06:50:30 +00:00
CI workflows
98b4934dd5 Update pro ref 2025-07-24 06:50:16 +00:00
SPRINX0\prochazka
0bc7c544ad SYNC: chat UX 2025-07-24 06:50:05 +00:00
SPRINX0\prochazka
1f7ad9d418 SYNC: fix 2025-07-24 06:31:57 +00:00
CI workflows
4b9d3b3dbc Update pro ref 2025-07-24 06:31:44 +00:00
SPRINX0\prochazka
571e332ed5 SYNC: fixed test 2025-07-24 06:31:34 +00:00
CI workflows
d78d22b188 chore: auto-update github workflows 2025-07-24 06:11:23 +00:00
CI workflows
d37638240a Update pro ref 2025-07-24 06:11:05 +00:00
SPRINX0\prochazka
ae7fd3f87b SYNC: open db chat ctx menu 2025-07-24 06:11:00 +00:00
Jan Prochazka
e82e63b288 SYNC: adidtional test 2025-07-24 06:10:57 +00:00
Jan Prochazka
0149d4e27b SYNC: database chat test 2025-07-24 06:10:54 +00:00
CI workflows
9fc9c71b6f chore: auto-update github workflows 2025-07-23 13:46:29 +00:00
CI workflows
b264f690d1 Update pro ref 2025-07-23 13:46:13 +00:00
Jan Prochazka
c07e19c898 SYNC: Merge pull request #6 from dbgate/feature/ai-assistant 2025-07-23 13:46:01 +00:00
Pavel
b8e50737d2 feat: basic mongosh support 2025-07-23 04:40:52 +02:00
SPRINX0\prochazka
082d0aa02f translations 2025-07-18 10:03:58 +02:00
SPRINX0\prochazka
ca26d0e450 translations 2025-07-18 10:01:24 +02:00
SPRINX0\prochazka
8cbe021ffc v6.5.6 2025-07-17 09:04:06 +02:00
SPRINX0\prochazka
7b39d8025b changelog 2025-07-17 09:03:18 +02:00
SPRINX0\prochazka
47bd35b151 fixed failing test 2025-07-17 08:44:22 +02:00
SPRINX0\prochazka
d7add54a3c v6.5.6-premium-beta.5 2025-07-17 08:19:37 +02:00
SPRINX0\prochazka
d3c937569b SYNC: anonymized cloud instance 2025-07-17 06:18:50 +00:00
SPRINX0\prochazka
94ca613201 v6.5.6-premium-beta.4 2025-07-16 15:52:09 +02:00
SPRINX0\prochazka
30f2f635be v6.5.6-premium-beta.3 2025-07-16 15:51:20 +02:00
SPRINX0\prochazka
57f4d31c21 SYNC: fix 2025-07-16 13:24:47 +00:00
SPRINX0\prochazka
90e4fd7ff5 SYNC: disable splitting queries with blank lines? #1162 2025-07-16 13:16:02 +00:00
SPRINX0\prochazka
17835832f2 v6.5.6-beta.2 2025-07-16 14:51:55 +02:00
SPRINX0\prochazka
949817f597 SYNC: SKIP_ALL_AUTH support 2025-07-16 12:48:38 +00:00
SPRINX0\prochazka
23065f2c4b SYNC: test fix 2025-07-16 12:26:08 +00:00
SPRINX0\prochazka
b623b06cf0 SYNC: bugfix 2025-07-16 12:02:19 +00:00
CI workflows
55c86d8ec7 chore: auto-update github workflows 2025-07-16 11:43:35 +00:00
CI workflows
e955617aa1 Update pro ref 2025-07-16 11:43:18 +00:00
SPRINX0\prochazka
6304610713 SYNC: hard limit for pie chart 2025-07-16 11:43:08 +00:00
SPRINX0\prochazka
47d20928e0 SYNC: try to fix tests 2025-07-16 11:24:06 +00:00
SPRINX0\prochazka
c9a4d02e0d SYNC: new object window screenshot 2025-07-16 11:03:07 +00:00
CI workflows
6513dfb42a chore: auto-update github workflows 2025-07-16 10:52:10 +00:00
CI workflows
3f0412453f Update pro ref 2025-07-16 10:51:29 +00:00
SPRINX0\prochazka
dcba319071 SYNC: disabled messages in new object modal 2025-07-16 10:51:19 +00:00
SPRINX0\prochazka
d19851fc0c SYNC: compare database in new object modal 2025-07-16 10:51:17 +00:00
SPRINX0\prochazka
d6eb06cb72 SYNC: export db window 2025-07-16 10:51:16 +00:00
SPRINX0\prochazka
473080d7ee SYNC: typo 2025-07-16 10:51:15 +00:00
SPRINX0\prochazka
c98a6adb09 SYNC: new object modal testid 2025-07-16 10:51:13 +00:00
SPRINX0\prochazka
2cd56d5041 SYNC: new object button refactor + diagram accesibility 2025-07-16 10:51:12 +00:00
SPRINX0\prochazka
982098672e SYNC: new object modal 2025-07-16 10:51:10 +00:00
SPRINX0\prochazka
445ecea3e6 SYNC: new object modal WIP 2025-07-16 10:51:09 +00:00
SPRINX0\prochazka
db977dfba4 SYNC: next screenshots 2025-07-15 08:32:33 +00:00
CI workflows
a3c12ab9f5 chore: auto-update github workflows 2025-07-15 08:22:58 +00:00
CI workflows
0f7e152650 Update pro ref 2025-07-15 08:22:41 +00:00
SPRINX0\prochazka
b55c7ba9a1 v6.5.6-premium-beta.1 2025-07-15 09:16:08 +02:00
CI workflows
8256c9f7ad chore: auto-update github workflows 2025-07-15 07:12:36 +00:00
CI workflows
59727d7b0b Update pro ref 2025-07-15 07:12:20 +00:00
SPRINX0\prochazka
2dd2210a73 SYNC: separate schemas mode usable for administration 2025-07-15 07:12:08 +00:00
SPRINX0\prochazka
25aafdbebc SYNC: chart screenshots for tutorial 2025-07-15 06:46:01 +00:00
SPRINX0\prochazka
cd5717169c login checker dummy implementation 2025-07-14 15:23:09 +02:00
CI workflows
a38ad5a11e chore: auto-update github workflows 2025-07-14 13:22:34 +00:00
CI workflows
66d9b56976 Update pro ref 2025-07-14 13:22:21 +00:00
SPRINX0\prochazka
ac40bd1e17 SYNC: checking logged users 2025-07-14 13:22:10 +00:00
SPRINX0\prochazka
16d2a9bf99 SYNC: renew license from set license page 2025-07-14 11:41:55 +00:00
SPRINX0\prochazka
b7e6838d26 refresh license fake 2025-07-14 12:28:49 +02:00
CI workflows
21d23b5baa chore: auto-update github workflows 2025-07-14 10:22:13 +00:00
CI workflows
69a2941d57 Update pro ref 2025-07-14 10:21:59 +00:00
SPRINX0\prochazka
3cc2abf8b9 SYNC: better handling of expired license in electron app 2025-07-14 10:21:49 +00:00
Jan Prochazka
6f4173650a v6.5.5 2025-07-04 09:08:49 +02:00
Jan Prochazka
0fcb8bdc0a SYNC: changelog 2025-07-04 07:05:28 +00:00
CI workflows
c0937cf412 chore: auto-update github workflows 2025-07-04 06:44:51 +00:00
CI workflows
d9ab3aab0f Update pro ref 2025-07-04 06:44:36 +00:00
CI workflows
c8652de78b chore: auto-update github workflows 2025-07-04 06:34:19 +00:00
CI workflows
86dc4e2bd5 Update pro ref 2025-07-04 06:34:04 +00:00
Jan Prochazka
1b9c56a9b9 SYNC: fixed data replicator test 2025-07-04 06:33:54 +00:00
Jan Prochazka
08ab504fac SYNC: fix 2025-07-04 06:33:52 +00:00
CI workflows
21c0842fae chore: auto-update github workflows 2025-07-04 06:11:12 +00:00
CI workflows
8d10feaa68 Update pro ref 2025-07-04 06:10:53 +00:00
Jan Prochazka
df2171f253 SYNC: fixed disabling/enabling auth methods for team premium 2025-07-04 06:10:43 +00:00
SPRINX0\prochazka
f5fcd94faf SYNC: fix 2025-07-03 15:36:58 +00:00
CI workflows
15c5dbef00 chore: auto-update github workflows 2025-07-03 15:28:56 +00:00
CI workflows
79df56c096 Update pro ref 2025-07-03 15:28:39 +00:00
SPRINX0\prochazka
d3fffd9530 SYNC: missing audit logs 2025-07-03 15:28:28 +00:00
SPRINX0\prochazka
527c9c8e6e loginchecker placeholder 2025-07-03 16:58:27 +02:00
CI workflows
d285be45cb chore: auto-update github workflows 2025-07-03 14:51:25 +00:00
CI workflows
0dda9c73f6 Update pro ref 2025-07-03 14:51:10 +00:00
SPRINX0\prochazka
d07bf270e7 SYNC: logi checker refactor 2025-07-03 14:50:59 +00:00
CI workflows
eb24dd5d9e chore: auto-update github workflows 2025-07-03 13:25:47 +00:00
CI workflows
ce693c7cd5 Update pro ref 2025-07-03 13:25:32 +00:00
CI workflows
3198890269 chore: auto-update github workflows 2025-07-03 13:11:26 +00:00
CI workflows
eacc93de43 Update pro ref 2025-07-03 13:11:07 +00:00
SPRINX0\prochazka
9795740257 SYNC: check licensed user count 2025-07-03 13:10:55 +00:00
SPRINX0\prochazka
4548f5d8aa fix 2025-07-03 14:09:29 +02:00
SPRINX0\prochazka
8dfd2fb519 markUserAsActive dummy method 2025-07-03 14:07:04 +02:00
CI workflows
83a40f83e1 chore: auto-update github workflows 2025-07-03 11:50:05 +00:00
CI workflows
5b2fcb3c6c Update pro ref 2025-07-03 11:49:50 +00:00
Jan Prochazka
bcd9adb66d Merge pull request #1159 from dbgate/feature/firebird-always-use-text-for-file
feat: add useServerDatabaseFile for firebird
2025-07-03 13:30:21 +02:00
Pavel
5e2dc114ab feat: add useServerDatabaseFile for firebird 2025-07-03 13:27:22 +02:00
SPRINX0\prochazka
1ced4531be auditlog dummy methods 2025-07-03 13:20:07 +02:00
CI workflows
05fe39c0ae chore: auto-update github workflows 2025-07-03 11:18:54 +00:00
CI workflows
3769b2b3ea Update pro ref 2025-07-03 11:18:38 +00:00
Jan Prochazka
f4d5480f6f SYNC: try to fix test 2025-07-02 14:09:25 +00:00
Jan Prochazka
ddf3c0810b SYNC: charts auto detect 2025-07-02 13:49:39 +00:00
Jan Prochazka
6afd6d0aa0 v6.5.5-premium-beta.5 2025-07-02 13:42:41 +02:00
CI workflows
59fe92eb04 chore: auto-update github workflows 2025-07-02 11:41:41 +00:00
CI workflows
0550f32434 Update pro ref 2025-07-02 11:41:25 +00:00
Jan Prochazka
b702cad549 SYNC: fixed chart test 2025-07-02 11:41:15 +00:00
Jan Prochazka
aa5c4d3c5e changelog 2025-07-02 13:29:37 +02:00
CI workflows
6a99445d97 chore: auto-update github workflows 2025-07-02 11:22:53 +00:00
CI workflows
c9880ef47d Update pro ref 2025-07-02 11:22:38 +00:00
CI workflows
c16452dfcb chore: auto-update github workflows 2025-07-02 11:12:38 +00:00
CI workflows
af802c02fc Update pro ref 2025-07-02 11:12:20 +00:00
Jan Prochazka
8028aafeff SYNC: split too different ydefs 2025-07-02 11:12:09 +00:00
Jan Prochazka
b7469062a1 SYNC: charts autodetector test 2025-07-02 08:57:39 +00:00
Jan Prochazka
33b707aa68 SYNC: chart autodetection improved 2025-07-02 08:50:33 +00:00
Jan Prochazka
cd3a1bebff SYNC: autodetect - with grouping field 2025-07-02 08:23:12 +00:00
Jan Prochazka
794dd5a797 SYNC: refactor 2025-07-02 08:23:10 +00:00
CI workflows
a1465432e8 chore: auto-update github workflows 2025-07-02 06:54:14 +00:00
CI workflows
e1f8af0909 Update pro ref 2025-07-02 06:53:57 +00:00
Jan Prochazka
88918be329 SYNC: chart - detect data types 2025-07-02 06:53:47 +00:00
CI workflows
a3fc1dbff0 chore: auto-update github workflows 2025-07-02 06:20:20 +00:00
CI workflows
626c9825cc Update pro ref 2025-07-02 06:20:02 +00:00
Jan Prochazka
c10a84fc79 SYNC: timeline chart type 2025-07-02 06:19:49 +00:00
SPRINX0\prochazka
f14e4fe197 SYNC: month match 2025-07-01 14:53:27 +00:00
CI workflows
6eb218db5e chore: auto-update github workflows 2025-07-01 14:30:39 +00:00
CI workflows
0e77e053b0 Update pro ref 2025-07-01 14:30:23 +00:00
SPRINX0\prochazka
b9a4128a3d SYNC: charts - grouping field support 2025-07-01 14:30:12 +00:00
CI workflows
16f480e1f3 chore: auto-update github workflows 2025-07-01 12:23:46 +00:00
CI workflows
7c42511133 Update pro ref 2025-07-01 12:23:32 +00:00
CI workflows
1b252a84c2 chore: auto-update github workflows 2025-07-01 12:14:57 +00:00
CI workflows
bf833cadff Update pro ref 2025-07-01 12:14:42 +00:00
CI workflows
b6f872882a chore: auto-update github workflows 2025-07-01 12:12:56 +00:00
CI workflows
a18d6fb441 Update pro ref 2025-07-01 12:12:39 +00:00
CI workflows
922e703e81 chore: auto-update github workflows 2025-07-01 10:59:50 +00:00
CI workflows
d7f5817b8b Update pro ref 2025-07-01 10:59:32 +00:00
SPRINX0\prochazka
92a8a4bfa6 SYNC: chart improvements 2025-07-01 10:59:20 +00:00
CI workflows
b480151fc3 chore: auto-update github workflows 2025-07-01 10:35:08 +00:00
CI workflows
37bdbc1bd5 Update pro ref 2025-07-01 10:34:52 +00:00
CI workflows
8eb669139b chore: auto-update github workflows 2025-07-01 10:11:57 +00:00
CI workflows
b485e8cacc Update pro ref 2025-07-01 10:11:39 +00:00
CI workflows
c4bab61c47 chore: auto-update github workflows 2025-07-01 08:45:43 +00:00
CI workflows
72be417ff1 Update pro ref 2025-07-01 08:45:27 +00:00
CI workflows
9be483d7a6 chore: auto-update github workflows 2025-07-01 08:35:12 +00:00
CI workflows
910f2cee2c Update pro ref 2025-07-01 08:34:48 +00:00
SPRINX0\prochazka
1e47ace527 SYNC: fixed diagram zoom GL#57 2025-07-01 07:14:55 +00:00
Jan Prochazka
912b06b145 v6.5.5-premium-beta.4 2025-06-30 14:35:30 +02:00
CI workflows
87d878e287 chore: auto-update github workflows 2025-06-30 12:33:45 +00:00
CI workflows
be886d6bce Update pro ref 2025-06-30 12:33:29 +00:00
Jan Prochazka
0683deb47e v6.5.5-premium-beta.3 2025-06-30 13:53:39 +02:00
CI workflows
114bb22e27 chore: auto-update github workflows 2025-06-30 11:46:31 +00:00
CI workflows
c327ebc3df Update pro ref 2025-06-30 11:46:18 +00:00
Jan Prochazka
92cbd1c69c SYNC: config fixed 2025-06-30 11:46:05 +00:00
CI workflows
7242515e48 chore: auto-update github workflows 2025-06-30 10:32:57 +00:00
CI workflows
401d1a0ac2 Update pro ref 2025-06-30 10:32:41 +00:00
Jan Prochazka
863e042a37 SYNC: fixed exporting chart for electron 2025-06-30 10:32:31 +00:00
Jan Prochazka
39e6c45ec6 v6.5.5-premium-beta.2 2025-06-30 09:25:54 +02:00
CI workflows
0d364d18c7 chore: auto-update github workflows 2025-06-30 06:56:17 +00:00
CI workflows
61444ea390 Update pro ref 2025-06-30 06:56:01 +00:00
CI workflows
106a935efb chore: auto-update github workflows 2025-06-30 06:28:20 +00:00
CI workflows
d175d8a853 Update pro ref 2025-06-30 06:28:04 +00:00
Jan Prochazka
ce6d19a77a SYNC: call adapt db info 2025-06-30 06:27:54 +00:00
CI workflows
0a29273924 chore: auto-update github workflows 2025-06-29 18:32:57 +00:00
CI workflows
5ede64de58 Update pro ref 2025-06-29 18:32:40 +00:00
Jan Prochazka
224c6ad798 SYNC: try to fix oracle test 2025-06-29 18:27:07 +00:00
Jan Prochazka
57b3a0dbe7 v6.5.5-premium-beta.1 2025-06-28 12:00:16 +02:00
CI workflows
f381f708e0 chore: auto-update github workflows 2025-06-27 13:27:16 +00:00
CI workflows
63bf149546 Update pro ref 2025-06-27 13:27:02 +00:00
SPRINX0\prochazka
cb5e671259 SYNC: audit log test 2025-06-27 13:26:51 +00:00
CI workflows
3e38173c4e chore: auto-update github workflows 2025-06-27 13:01:02 +00:00
CI workflows
efacb643fc Update pro ref 2025-06-27 13:00:45 +00:00
SPRINX0\prochazka
1bd153ea0b SYNC: audit log UX 2025-06-27 13:00:32 +00:00
CI workflows
bac3dc5f4c chore: auto-update github workflows 2025-06-27 11:08:55 +00:00
CI workflows
959a853d77 Update pro ref 2025-06-27 11:08:36 +00:00
SPRINX0\prochazka
90bbdd563b SYNC: Merge branch 'feature/audit-logs' 2025-06-27 11:08:23 +00:00
SPRINX0\prochazka
e3c6d05a0a SYNC: try to fix test 2025-06-27 10:32:01 +00:00
SPRINX0\prochazka
930b3d4538 SYNC: cloud test - use test login 2025-06-27 08:51:36 +00:00
SPRINX0\prochazka
74b78141b4 fake method 2025-06-27 10:02:33 +02:00
SPRINX0\prochazka
aa1108cd5b SYNC: try to fix build 2025-06-27 07:42:42 +00:00
SPRINX0\prochazka
f24b1a9db3 audit log fake methods 2025-06-26 16:49:10 +02:00
SPRINX0\prochazka
71b191e740 SYNC: try to fix test 2025-06-25 07:24:42 +00:00
SPRINX0\prochazka
8f6341b903 SYNC: removed baseUrl config 2025-06-25 07:02:07 +00:00
SPRINX0\prochazka
161586db7e SYNC: try to fix test 2025-06-24 15:13:32 +00:00
SPRINX0\prochazka
052262bef9 SYNC: try to fix test 2025-06-24 13:05:38 +00:00
SPRINX0\prochazka
a5a7144707 SYNC: try to fix test 2025-06-24 10:57:54 +00:00
SPRINX0\prochazka
d945e0426d SYNC: try to fix test 2025-06-24 10:29:47 +00:00
SPRINX0\prochazka
926970c4eb SYNC: added missing script 2025-06-24 09:23:53 +00:00
CI workflows
cce36e0f28 chore: auto-update github workflows 2025-06-24 08:33:21 +00:00
CI workflows
48c6dc5be5 Update pro ref 2025-06-24 08:33:05 +00:00
SPRINX0\prochazka
c641830825 SYNC: private cloud test 2025-06-24 08:32:52 +00:00
SPRINX0\prochazka
eba16cc15d SYNC: dbgate cloud redirect workflow 2025-06-24 07:22:43 +00:00
SPRINX0\prochazka
bd88b8411e SYNC: private cloud test 2025-06-23 14:59:05 +00:00
SPRINX0\prochazka
fc121e8750 missing file 2025-06-23 16:51:42 +02:00
CI workflows
d4142fe56a chore: auto-update github workflows 2025-06-23 14:31:30 +00:00
CI workflows
f76a3e72bb Update pro ref 2025-06-23 14:31:11 +00:00
SPRINX0\prochazka
2d400ae7eb SYNC: folder administration modal 2025-06-23 14:30:58 +00:00
SPRINX0\prochazka
edf1632cab SYNC: fixed connection for scripts 2025-06-23 11:29:04 +00:00
SPRINX0\prochazka
a648f1ee67 SYNC: SQL fixed database WIP 2025-06-23 11:10:46 +00:00
SPRINX0\prochazka
d004e6e86c SYNC: new cloud file 2025-06-23 09:05:42 +00:00
SPRINX0\prochazka
fa321d3e8d SYNC: create query on cloud shortcut 2025-06-23 08:52:07 +00:00
SPRINX0\prochazka
e1e53d323f SYNC: dbgate cloud menu refactor 2025-06-23 07:40:46 +00:00
SPRINX0\prochazka
ccb18ca302 v6.5.4 2025-06-20 17:03:39 +02:00
SPRINX0\prochazka
e170f36bc6 v6.5.4-premium-beta.1 2025-06-20 16:46:18 +02:00
SPRINX0\prochazka
4bd9cc51ee SYNC: try to fix e2e test 2025-06-20 14:41:03 +00:00
SPRINX0\prochazka
43ffbda1a4 SYNC: removed vorgotten test.only 2025-06-20 13:32:20 +00:00
SPRINX0\prochazka
8240485fd1 changelog 2025-06-20 15:05:18 +02:00
SPRINX0\prochazka
7f053c0567 v6.5.3 2025-06-20 15:01:47 +02:00
SPRINX0\prochazka
d2922eb0b7 SYNC: cloud connections fix 2025-06-20 12:57:09 +00:00
SPRINX0\prochazka
fec10d453f license detection fix 2025-06-20 14:36:00 +02:00
SPRINX0\prochazka
162040545d SYNC: improved about modal 2025-06-20 12:29:11 +00:00
CI workflows
f14577f8bf chore: auto-update github workflows 2025-06-20 11:57:27 +00:00
CI workflows
e5720bd1be Update pro ref 2025-06-20 11:57:15 +00:00
CI workflows
6d4959bac8 Update pro ref 2025-06-20 11:57:11 +00:00
SPRINX0\prochazka
d668128a34 SYNC: private cloud UX + fixes 2025-06-20 11:46:04 +00:00
SPRINX0\prochazka
f2af38da4c v6.5.3-premium-beta.1 2025-06-19 18:00:13 +02:00
CI workflows
4776d18fd7 chore: auto-update github workflows 2025-06-19 15:57:59 +00:00
CI workflows
cdd0be7b78 Update pro ref 2025-06-19 15:57:43 +00:00
SPRINX0\prochazka
cd505abb22 SYNC: charts fix 2025-06-19 15:57:31 +00:00
SPRINX0\prochazka
28439c010f SYNC: fixed all search column settings for alternative grids #1118 2025-06-19 12:43:15 +00:00
CI workflows
e85f43beb1 chore: auto-update github workflows 2025-06-19 12:08:31 +00:00
CI workflows
a06cbc0840 Update pro ref 2025-06-19 12:08:18 +00:00
SPRINX0\prochazka
adef9728f8 SYNC: charts UX, error handling, bucket count limit 2025-06-19 12:08:06 +00:00
CI workflows
ff1b688b6e chore: auto-update github workflows 2025-06-19 08:56:09 +00:00
CI workflows
3e7574a927 Update pro ref 2025-06-19 08:55:55 +00:00
SPRINX0\prochazka
f852ea90ad changelog 2025-06-18 11:31:53 +02:00
SPRINX0\prochazka
d8f6247c32 v6.5.2 2025-06-18 11:00:46 +02:00
SPRINX0\prochazka
9dc28393a5 links added 2025-06-18 10:50:44 +02:00
SPRINX0\prochazka
c442c98ecf SYNC: fixed test 2025-06-18 08:43:56 +00:00
SPRINX0\prochazka
71e0109927 v6.5.2-premium-beta.1 2025-06-18 10:21:57 +02:00
SPRINX0\prochazka
9c7dd5ed1c SYNC: close chart fix 2025-06-18 08:17:58 +00:00
CI workflows
83620848f2 chore: auto-update github workflows 2025-06-18 08:13:39 +00:00
CI workflows
d548a5b4f3 Update pro ref 2025-06-18 08:13:25 +00:00
CI workflows
b6e5307755 chore: auto-update github workflows 2025-06-18 08:05:11 +00:00
CI workflows
4c5dc5a145 Update pro ref 2025-06-18 08:04:54 +00:00
SPRINX0\prochazka
69ed9172b8 SYNC: chart UX 2025-06-18 08:04:41 +00:00
CI workflows
68551ae176 chore: auto-update github workflows 2025-06-18 07:48:21 +00:00
CI workflows
c97d9d35ba Update pro ref 2025-06-18 07:48:07 +00:00
SPRINX0\prochazka
e86cc97cdf SYNC: changed chart logic 2025-06-18 07:47:56 +00:00
SPRINX0\prochazka
9bff8608c1 SYNC: auto-detect charts is disabled by default #1145 2025-06-18 07:30:16 +00:00
SPRINX0\prochazka
a10fe6994a v6.5.1 2025-06-17 16:08:07 +02:00
SPRINX0\prochazka
67e6a37b59 v6.5.1-beta.1 2025-06-17 15:42:26 +02:00
SPRINX0\prochazka
3075a56735 fixed cloud login 2025-06-17 15:42:16 +02:00
SPRINX0\prochazka
7e4a862cc3 v6.5.0 2025-06-17 10:02:43 +02:00
SPRINX0\prochazka
ed2078ee3b handle license errors 2025-06-17 09:55:59 +02:00
SPRINX0\prochazka
f99c23a622 v6.4.3-premium-beta.10 2025-06-17 09:08:40 +02:00
SPRINX0\prochazka
41e7317764 v6.4.3-beta.9 2025-06-17 09:08:18 +02:00
SPRINX0\prochazka
e0a78c2399 equal behaviour for premium and community 2025-06-17 09:06:08 +02:00
SPRINX0\prochazka
95ad39d2d4 admin premium widget 2025-06-17 09:03:57 +02:00
CI workflows
b831f827b1 chore: auto-update github workflows 2025-06-16 11:25:21 +00:00
SPRINX0\prochazka
c5d8413d9c SYNC: fix 2025-06-16 11:25:08 +00:00
CI workflows
4648ea3424 Update pro ref 2025-06-16 11:25:04 +00:00
SPRINX0\prochazka
e05bd6f231 SYNC: front matter in chart screenshot 2025-06-16 11:24:49 +00:00
CI workflows
caadee7901 chore: auto-update github workflows 2025-06-16 10:58:30 +00:00
CI workflows
18c524117d Update pro ref 2025-06-16 10:58:11 +00:00
SPRINX0\prochazka
ad30fb8b04 SYNC: query result chart screenshot 2025-06-16 10:57:58 +00:00
SPRINX0\prochazka
a8077965a9 icon fix 2025-06-16 10:36:57 +02:00
SPRINX0\prochazka
532ab85ebb public cloud improvements 2025-06-16 10:32:49 +02:00
SPRINX0\prochazka
546227eb37 changelog 2025-06-16 09:55:15 +02:00
CI workflows
7ec3b262d3 chore: auto-update github workflows 2025-06-16 07:24:20 +00:00
CI workflows
c435000d24 Update pro ref 2025-06-16 07:24:03 +00:00
SPRINX0\prochazka
eaa60c281e SYNC: chart screenshot 2025-06-16 07:23:51 +00:00
Jan Prochazka
cd7cf63144 SYNC: copy to cloud folder works for connected DB 2025-06-15 08:22:58 +00:00
CI workflows
6a704aa079 chore: auto-update github workflows 2025-06-15 07:25:21 +00:00
CI workflows
d6b5a1cec8 Update pro ref 2025-06-15 07:25:03 +00:00
Jan Prochazka
9a24ad31cc SYNC: pie chart out labels 2025-06-15 07:24:50 +00:00
CI workflows
9331630b54 chore: auto-update github workflows 2025-06-15 06:58:43 +00:00
CI workflows
904e869d7f Update pro ref 2025-06-15 06:58:29 +00:00
Jan Prochazka
307fa4f5e6 SYNC: trim license 2025-06-15 06:58:15 +00:00
SPRINX0\prochazka
131d16d3ea v6.4.3-beta.8 2025-06-13 16:35:05 +02:00
SPRINX0\prochazka
dbc54c45dd v6.4.3-premium-beta.7 2025-06-13 16:34:50 +02:00
SPRINX0\prochazka
a96a84d509 SYNC: grayed scripts for non active database 2025-06-13 14:31:53 +00:00
SPRINX0\prochazka
3eb8863f67 SYNC: cloud connections in tab names 2025-06-13 13:25:34 +00:00
SPRINX0\prochazka
8737ab077b SYNC: fixed status bar color 2025-06-13 13:14:16 +00:00
SPRINX0\prochazka
50bb6a1d19 SYNC: prod cloud 2025-06-13 13:12:09 +00:00
SPRINX0\prochazka
4181b75af7 SYNC: connection color for cloud connections 2025-06-13 13:08:56 +00:00
CI workflows
620705c87a chore: auto-update github workflows 2025-06-13 12:14:41 +00:00
CI workflows
50b7b93529 Update pro ref 2025-06-13 12:14:22 +00:00
SPRINX0\prochazka
6f18f6bd5c SYNC: debug config 2025-06-13 12:14:07 +00:00
SPRINX0\prochazka
01d256eeee SYNC: don't show private cloud for web app 2025-06-13 11:52:03 +00:00
SPRINX0\prochazka
a1405412a8 debug config 2025-06-13 11:49:19 +02:00
SPRINX0\prochazka
58589b3a15 v6.4.3-premium-beta.6 2025-06-13 09:44:49 +02:00
SPRINX0\prochazka
2983266fdf Merge branch 'master' of https://github.com/dbgate/dbgate 2025-06-12 16:55:58 +02:00
SPRINX0\prochazka
e33df8f12d cloud content refactor 2025-06-12 16:55:55 +02:00
CI workflows
0e0e8e9d18 chore: auto-update github workflows 2025-06-12 13:30:21 +00:00
Jan Prochazka
37f8b54752 Merge pull request #1130 from dbgate/feature/firebird
Feature/firebird
2025-06-12 15:29:58 +02:00
SPRINX0\prochazka
e9a086ad23 SYNC: refresh cloud files improvements 2025-06-12 12:26:35 +00:00
SPRINX0\prochazka
7c06a8ac41 SYNC: fix refresh publis files 2025-06-12 12:13:33 +00:00
SPRINX0\prochazka
70801d958e SYNC: security rename 2025-06-12 11:51:22 +00:00
SPRINX0\prochazka
cf3f95c952 SYNC: security fixes 2025-06-12 11:49:53 +00:00
Pavel
d708616a6a feat: add createFirebirdInsertStream with datetime fields transform 2025-06-12 13:44:24 +02:00
Pavel
17711bc5c9 Revert "feat: transform rows suport for json lines reader"
This reverts commit b74b6b3284.
2025-06-12 13:29:48 +02:00
Pavel
1e2474921b Revert "feat: transform firebird model rows"
This reverts commit 5760ada3b4.
2025-06-12 13:29:46 +02:00
SPRINX0\prochazka
3f37b2b728 security fixes 2025-06-12 10:58:46 +02:00
SPRINX0\prochazka
18b11df672 security: prevent file traversal in uploads 2025-06-12 10:43:27 +02:00
SPRINX0\prochazka
c34f2d4da7 better UX when logging in in electron 2025-06-11 17:25:14 +02:00
SPRINX0\prochazka
d61792581a Merge branch 'master' of https://github.com/dbgate/dbgate 2025-06-11 17:02:40 +02:00
SPRINX0\prochazka
76d9a511b8 sql generate aliases automatically #1122 2025-06-11 17:02:38 +02:00
CI workflows
4248326697 chore: auto-update github workflows 2025-06-11 12:41:59 +00:00
SPRINX0\prochazka
a540b38151 don't generate artifacts for check build 2025-06-11 14:41:34 +02:00
SPRINX0\prochazka
8fb5ef0c1d v6.4.3-premium-beta.5 2025-06-11 14:39:00 +02:00
SPRINX0\prochazka
2da4979e59 UX fix 2025-06-11 14:29:59 +02:00
SPRINX0\prochazka
0146e4a1dd #1111 mssql - handle timestamp and computed columns in clonerows 2025-06-11 11:28:46 +02:00
SPRINX0\prochazka
34bdb72ffd #1118 2025-06-11 11:09:07 +02:00
SPRINX0\prochazka
2ef7c63047 copy column names #1119 2025-06-11 10:34:22 +02:00
SPRINX0\prochazka
95f5417761 fixed grid performance problem - limited length of cell string 2025-06-11 09:30:58 +02:00
SPRINX0\prochazka
4922ec4499 Merge branch 'master' into feature/firebird 2025-06-11 08:09:28 +02:00
SPRINX0\prochazka
20d947a199 readme for firebird 2025-06-10 16:46:16 +02:00
Pavel
c9444c5318 Merge branch 'master' into feature/firebird 2025-06-10 14:57:26 +02:00
SPRINX0\prochazka
871dc90ee4 fixed community build (missing JslChart.svelte) 2025-06-09 16:32:57 +02:00
Jan Prochazka
d1925945b4 skipped failed tests 2025-06-09 14:43:55 +02:00
Jan Prochazka
6625080fde Merge pull request #1139 from dbgate/feature/duckdb-1132
Feature/duckdb 1132
2025-06-09 10:52:58 +02:00
CI workflows
1110609e39 chore: auto-update github workflows 2025-06-09 08:39:51 +00:00
CI workflows
f21d2c7253 Update pro ref 2025-06-09 08:39:32 +00:00
SPRINX0\prochazka
9c1d330945 SYNC: data label formatter 2025-06-09 08:39:21 +00:00
SPRINX0\prochazka
cd7800056c SYNC: commented out charts test 2025-06-09 08:25:54 +00:00
CI workflows
7ff4bec3bc chore: auto-update github workflows 2025-06-09 08:16:27 +00:00
CI workflows
d305cf2167 Update pro ref 2025-06-09 08:16:07 +00:00
SPRINX0\prochazka
e77b83bd92 SYNC: chart labels for pie chart 2025-06-09 08:15:54 +00:00
CI workflows
171d58658a chore: auto-update github workflows 2025-06-09 07:16:15 +00:00
CI workflows
a6f6bc4c0a Update pro ref 2025-06-09 07:15:57 +00:00
Jan Prochazka
f03cffe3f8 SYNC: Merge pull request #4 from dbgate/feature/charts 2025-06-09 07:15:45 +00:00
Pavel
809dca184e chore: add start:api:watch script 2025-06-05 20:26:41 +02:00
Pavel
ecda226949 fix: correctly map DuckDBTimeValue to string 2025-06-05 20:26:33 +02:00
Pavel
ff1b58ebd8 fix: correctly map DuckDBDateValue to string 2025-06-05 20:26:17 +02:00
Pavel
5760ada3b4 feat: transform firebird model rows 2025-06-05 16:31:17 +02:00
Pavel
b74b6b3284 feat: transform rows suport for json lines reader 2025-06-05 16:28:50 +02:00
Pavel
e4cc4b6f58 fix: process blob values, update firebird dialect 2025-06-05 16:27:28 +02:00
Pavel
dd90851477 fix: update collumns object id 2025-06-05 14:24:33 +02:00
Pavel
da9b127468 fix: group indexes for firebird 2025-06-05 12:31:36 +02:00
Pavel
d6b05e44cb fix: skip all table renames for firebird 2025-06-05 11:51:17 +02:00
Pavel
58c1b5b98d fix:divide field length by 4 2025-06-05 11:35:00 +02:00
Pavel
c270cba8d6 fix: apply skipRenameTable filter correctly 2025-06-05 10:37:04 +02:00
Pavel
58f1f749fc fix: respect implicitNullDeclaration in alter database queries 2025-06-03 18:15:07 +02:00
Pavel
38d87a7c8f fix: update column deps for firebird 2025-06-03 17:39:49 +02:00
Pavel
4e13598708 fix: add custom create index to firebird dumper 2025-06-03 17:39:40 +02:00
Pavel
4177448d32 fix: correctly processing script outside of transactions for firebird 2025-06-03 17:19:02 +02:00
Pavel
e4911a6f82 feat: discard result support for firebird query 2025-06-03 17:18:44 +02:00
Pavel
159224700f fix: skip table rename for firebird 2025-06-03 16:52:51 +02:00
Pavel
696d4e7342 feat: skip change column for firebird 2025-06-03 16:36:40 +02:00
Pavel
ffb6cfaa4a feat: add writeTable to firebird 2025-06-03 14:20:54 +02:00
Pavel
b8899fcafa fix: always pass runDeployInTransaction to scipt 2025-06-03 14:11:01 +02:00
Pavel
aba829c991 feat: skip data modifiaciton for firebird 2025-06-03 13:56:24 +02:00
Pavel
8f4c61c259 fix: correct transaction syntax for firebird 2025-06-03 13:56:13 +02:00
Pavel
a19648a6e8 fix: correct runSqlInTransaction 2025-06-03 13:07:46 +02:00
Pavel
d5c0f7045e fix: add arguments to runSqlInTransaction 2025-06-03 12:44:04 +02:00
SPRINX0\prochazka
6f69205818 v6.4.3-premium-beta.4 2025-05-30 13:21:10 +02:00
SPRINX0\prochazka
8166da548c db2 config 2025-05-30 10:56:18 +02:00
SPRINX0\prochazka
d54f7293b7 db2 test container config 2025-05-30 08:16:18 +02:00
Pavel
225520a765 feat: add useTransaction option to deployDb 2025-05-29 22:52:38 +02:00
CI workflows
af1eccde8e chore: auto-update github workflows 2025-05-29 16:11:09 +00:00
CI workflows
5d37280643 Update pro ref 2025-05-29 16:10:50 +00:00
SPRINX0\prochazka
80597039f5 SYNC: charts 2025-05-29 16:10:38 +00:00
Pavel
2766aedc01 fix: correct databaseFile for engines with databseFileLocationOnServer 2025-05-29 15:26:58 +02:00
Pavel
da3e12cb7e feat: add indexes to firebird 2025-05-29 15:20:51 +02:00
Pavel
8baff1b0d2 fix: add object id condtion to firbeird uniques 2025-05-29 15:20:39 +02:00
Pavel
4ff5f9204e fix: correctly skip inc analysis 2025-05-29 15:15:57 +02:00
Pavel
515339bbd8 fix: add changeColumnDependencies to firebird 2025-05-29 14:57:38 +02:00
SPRINX0\prochazka
943634b0e2 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-05-29 14:56:12 +02:00
SPRINX0\prochazka
212b26b960 temporatily disable MognoDB profiler support 2025-05-29 14:56:07 +02:00
CI workflows
c0b41987aa chore: auto-update github workflows 2025-05-29 12:55:11 +00:00
CI workflows
b4ef640052 Update pro ref 2025-05-29 12:54:50 +00:00
SPRINX0\prochazka
db6b7f52eb removed charts & profiler 2025-05-29 14:54:08 +02:00
Pavel
55b4b9e02a feat: add script method to firebird driver 2025-05-29 14:53:54 +02:00
Pavel
4e6ae93b13 fix: add dropColumnDependencies to firebird 2025-05-29 14:53:34 +02:00
Pavel
c9a5fe5676 fix: make firebird singledatabase 2025-05-29 14:53:09 +02:00
Pavel
a5adfb7c7f feat: add uniques to firebird 2025-05-29 14:52:44 +02:00
CI workflows
1794b86041 chore: auto-update github workflows 2025-05-29 12:40:42 +00:00
SPRINX0\prochazka
f405124ce4 fix 2025-05-29 14:40:20 +02:00
CI workflows
25060c1477 chore: auto-update github workflows 2025-05-29 12:31:31 +00:00
SPRINX0\prochazka
6ad218f354 upload artifacts forr check build 2025-05-29 14:31:08 +02:00
CI workflows
d1c52548b0 chore: auto-update github workflows 2025-05-29 12:05:29 +00:00
SPRINX0\prochazka
9dc847b72f fix 2025-05-29 14:05:10 +02:00
CI workflows
5b04adb21f chore: auto-update github workflows 2025-05-29 12:00:15 +00:00
SPRINX0\prochazka
356d25e548 build app check 2025-05-29 13:59:53 +02:00
SPRINX0\prochazka
a9958af818 v6.4.3-beta.3 2025-05-29 13:21:17 +02:00
Jan Prochazka
fb359b7f87 Merge pull request #1120 from ProjectInfinity/command-palette-redesign
feat: redesign CommandPalette
2025-05-29 12:50:18 +02:00
SPRINX0\prochazka
7f087819a6 Merge branch 'feature/cloud' 2025-05-29 12:49:01 +02:00
SPRINX0\prochazka
e836fa3d38 show license - better UX 2025-05-29 12:44:31 +02:00
Pavel
9a69f1108d fix: skipIncrementalAnalysis for firebird 2025-05-29 11:22:16 +02:00
Pavel
2c5c58dc90 fix: map datatype to lowerase variants in firebird 2025-05-29 10:23:26 +02:00
SPRINX0\prochazka
cb50d2838a license limit modal 2025-05-28 17:37:55 +02:00
SPRINX0\prochazka
aff7125914 Revert "tmp change"
This reverts commit 45d82dce04.
2025-05-28 16:44:58 +02:00
SPRINX0\prochazka
45d82dce04 tmp change 2025-05-28 15:55:53 +02:00
SPRINX0\prochazka
7a3b27227a stats fixed 2025-05-28 13:21:52 +02:00
SPRINX0\prochazka
7b50a19b2c cloud file, folder operations 2025-05-28 10:46:35 +02:00
SPRINX0\prochazka
741b942dea cloud files WIP 2025-05-28 08:25:10 +02:00
Pavel
f7ca64a49d fix: remove container_name from workflows 2025-05-27 19:16:21 +02:00
Pavel
2f7b3455e5 feat: add views to firebird 2025-05-27 19:05:02 +02:00
Pavel
1568dfc183 feat: add object ids to firebird queries 2025-05-27 18:49:31 +02:00
SPRINX0\prochazka
d3a5df0007 delete conn on cloud, save file to cloud WIP 2025-05-27 16:46:53 +02:00
Pavel
c20cac621a fix: update firebird workflows 2025-05-27 12:52:46 +02:00
SPRINX0\prochazka
74560c3289 duplicate cloud connection 2025-05-26 17:59:03 +02:00
SPRINX0\prochazka
f94bf3f8ce cloud fixes 2025-05-26 17:24:13 +02:00
SPRINX0\prochazka
d26db7096d refactor - handle cloud listeners 2025-05-26 17:02:09 +02:00
SPRINX0\prochazka
afde0a7423 cloud connection save 2025-05-26 16:46:04 +02:00
SPRINX0\prochazka
cc930a3ff9 cloud connections expansion fix 2025-05-26 15:50:48 +02:00
SPRINX0\prochazka
60ecdadc74 cloud account in statusbar 2025-05-26 15:43:14 +02:00
SPRINX0\prochazka
82fc1850cf API rename 2025-05-26 14:43:10 +02:00
SPRINX0\prochazka
88f937f73e save new connection on cloud 2025-05-26 14:41:41 +02:00
SPRINX0\prochazka
b3497c7306 database content UX 2025-05-26 12:58:20 +02:00
SPRINX0\prochazka
366ab2e0cd refresh public cloud files only on session start 2025-05-26 12:23:38 +02:00
SPRINX0\prochazka
98e4fabd2e cloud fixes 2025-05-26 12:06:33 +02:00
SPRINX0\prochazka
716c3573fd fixed scroll 2025-05-26 09:58:25 +02:00
Pavel
842d8dd780 feat: add triggers to firebird tests 2025-05-23 01:00:18 +02:00
Pavel
c767dfb22e fix: add createSql to firebird triggers 2025-05-23 00:59:34 +02:00
Pavel
f94901c3b2 feat: handle implicit null declation in alter-table 2025-05-23 00:28:27 +02:00
SPRINX0\prochazka
c9638aefe9 show cloud API errors 2025-05-22 17:30:24 +02:00
SPRINX0\prochazka
8bd4721686 delete, rename folders 2025-05-22 17:09:25 +02:00
Pavel
808f7504c3 feat: add changeColumn, renameColumn, dropColumn to firebird dumper 2025-05-22 16:49:29 +02:00
Pavel
8ea7d3d5e8 fix: correctly show default value for firebird 2025-05-22 16:48:11 +02:00
Pavel
d4931890ae fix: use table name as pureName for firebird column 2025-05-22 15:50:40 +02:00
SPRINX0\prochazka
f4a879a452 encrypting cloud content 2025-05-22 15:48:59 +02:00
Pavel
78521ffdb4 fix: remove schemaName from firebird columns query 2025-05-22 15:44:15 +02:00
Pavel
8ea3f80b97 feat: add firebird to github workflows 2025-05-22 15:40:43 +02:00
Pavel
0d8d87857c fix: skip autoIncrement for firedb tests 2025-05-22 15:40:23 +02:00
Pavel
3a3a261d9c fix: correct firedb columns notNull query 2025-05-22 15:40:07 +02:00
Pavel
2e00daf63c fix: correct implicitNullDeclaration usage in dumper 2025-05-22 15:39:46 +02:00
SPRINX0\prochazka
1b8bb0c1fd fixes 2025-05-22 13:20:39 +02:00
SPRINX0\prochazka
5c33579544 cloud content fixes 2025-05-22 13:07:45 +02:00
SPRINX0\prochazka
f8081ff09e cloud database content 2025-05-22 10:43:46 +02:00
SPRINX0\prochazka
01b7eeeecf cloud widgets refactor 2025-05-22 10:29:36 +02:00
SPRINX0\prochazka
d2f4c374a9 smaller widget icon panel 2025-05-22 10:12:48 +02:00
SPRINX0\prochazka
07073eebe9 connecting to cloud database 2025-05-22 09:46:07 +02:00
SPRINX0\prochazka
590a4ae476 show cloud content 2025-05-21 17:09:16 +02:00
SPRINX0\prochazka
b553a81d47 load cloud folders 2025-05-21 14:48:28 +02:00
SPRINX0\prochazka
7d4e53e413 content cloud WIP 2025-05-20 16:43:06 +02:00
SPRINX0\prochazka
839b0f6f5e public cloud search 2025-05-20 13:04:57 +02:00
CI workflows
893c5da4ef chore: auto-update github workflows 2025-05-20 08:52:30 +00:00
CI workflows
f9b893edfa Update pro ref 2025-05-20 08:52:14 +00:00
SPRINX0\prochazka
b4fadb39bf cloud files - opening 2025-05-19 16:59:56 +02:00
SPRINX0\prochazka
310f8bf6f7 public cloud widget 2025-05-19 16:33:04 +02:00
CI workflows
903a26a330 chore: auto-update github workflows 2025-05-19 13:24:23 +00:00
CI workflows
41ebd39810 Update pro ref 2025-05-19 13:24:06 +00:00
SPRINX0\prochazka
281de5196e update cloud files 2025-05-19 10:39:35 +02:00
CI workflows
a9ab864cbb chore: auto-update github workflows 2025-05-19 08:11:23 +00:00
CI workflows
f3ff910821 Update pro ref 2025-05-19 08:11:00 +00:00
SPRINX0\prochazka
ba5179f1e8 Merge branch 'master' into feature/cloud 2025-05-16 13:56:34 +02:00
SPRINX0\prochazka
05e8f6ed78 v6.4.3-alpha.1 2025-05-16 13:55:45 +02:00
SPRINX0\prochazka
23150815a0 use default target schema in dbDeploy 2025-05-16 13:55:14 +02:00
SPRINX0\prochazka
a50f223fe3 cloud icons WIP 2025-05-16 13:54:08 +02:00
SPRINX0\prochazka
9329345d98 basic cloud signin workflow 2025-05-16 12:19:26 +02:00
SPRINX0\prochazka
c71c32b363 readme 2025-05-16 08:10:20 +02:00
SPRINX0\prochazka
5590aa7234 feedback URL 2025-05-16 08:04:44 +02:00
SPRINX0\prochazka
4a3491e0b5 feedback menu link 2025-05-16 08:03:08 +02:00
SPRINX0\prochazka
e8cb87ae3d feedback link 2025-05-16 08:00:33 +02:00
Pavel
2f6427af32 feat: set implicitNullDeclaration to true for firebird 2025-05-15 17:00:02 +02:00
CI workflows
5564047001 chore: auto-update github workflows 2025-05-15 14:08:12 +00:00
CI workflows
22577c5f87 Update pro ref 2025-05-15 14:07:52 +00:00
Jan Prochazka
4dc2627da2 cloud login WIP 2025-05-15 16:01:51 +02:00
Pavel
05aaf0de9f feat: add firebird to test engines 2025-05-15 15:05:44 +02:00
Pavel
951bfa23f3 feat: firebird use attachOrCreate on connect, add dbFileExtension and locaiton on server to tests 2025-05-15 15:04:54 +02:00
Pavel
7ac6cfcf25 feat: offsetFirstSkipRangeSyntax support 2025-05-15 13:32:07 +02:00
Pavel
06055a7c4c fix: remove schema from firebird 2025-05-15 13:22:01 +02:00
ProjectInfinity
b33198d1bf feat: redesign CommandPalette 2025-05-14 19:56:49 +02:00
SPRINX0\prochazka
f826b9eb6e 6.4.2 changelog 2025-05-14 14:59:49 +02:00
SPRINX0\prochazka
2b58121552 v6.4.2 2025-05-14 14:53:20 +02:00
SPRINX0\prochazka
762547d0e9 v4.6.2-beta.4 2025-05-14 13:53:26 +02:00
SPRINX0\prochazka
727523eb3f ts fix 2025-05-14 13:41:22 +02:00
SPRINX0\prochazka
5bbdb66eb2 v6.4.2-premium-beta.3 2025-05-14 13:32:29 +02:00
Jan Prochazka
c6eff4f90d Merge pull request #1105 from mbrevda/docker-lables
Add source label to container
2025-05-14 13:31:55 +02:00
Jan Prochazka
2559173c2c Merge pull request #1116 from dbgate/feature/fix-mysql-triggers-snapshot
fix: add triggers to mysql snapshot
2025-05-14 13:31:16 +02:00
SPRINX0\prochazka
8adea132ef Merge branch 'feature/scan-redis-keys' 2025-05-14 13:28:29 +02:00
SPRINX0\prochazka
9d924f8d1c optimalized loading redis keys info - using pipeline 2025-05-14 13:27:19 +02:00
SPRINX0\prochazka
1b297fed90 fix sorting 2025-05-14 13:00:08 +02:00
SPRINX0\prochazka
2c2a93c440 key count limit 2025-05-14 12:53:51 +02:00
SPRINX0\prochazka
bb076cce5d redis load key refactor 2025-05-14 12:44:53 +02:00
SPRINX0\prochazka
b16b02c3f1 tree loader 2025-05-14 10:32:42 +02:00
Nybkox
3e0f834796 feat: firebird FKs, PKs, procedures, funcs 2025-05-13 19:40:51 +02:00
SPRINX0\prochazka
0af38c6e0e redis load key refactor #1062 2025-05-13 17:38:56 +02:00
Nybkox
85f7011e03 fix: remove empty getFastSnapshot 2025-05-13 17:18:17 +02:00
SPRINX0\prochazka
e8d5412e14 survey link 2025-05-13 16:22:13 +02:00
Nybkox
170cf4753e fix: remove object conditions from modification queries 2025-05-13 14:10:00 +02:00
Nybkox
660e76145e fix: add schedulerEventsModifications query 2025-05-13 13:04:10 +02:00
Nybkox
31a6f7b621 fix: add triggersModifications query 2025-05-13 13:03:59 +02:00
Nybkox
f6699ad93b fix: add triggers to mysql snapshot 2025-05-13 12:35:24 +02:00
SPRINX0\prochazka
6e508e4454 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-05-13 09:51:09 +02:00
SPRINX0\prochazka
2b101844e9 Shell: Run script 2025-05-13 09:51:00 +02:00
SPRINX0\prochazka
fb036935e6 SYNC: Limit query result rows #1098 2025-05-12 13:55:53 +00:00
SPRINX0\prochazka
c3e09ddab0 SYNC: pgsql: added notice detail #1108 2025-05-12 11:06:16 +00:00
SPRINX0\prochazka
36ae07074d SYNC: View PostgreSQL server output #1108 2025-05-12 11:02:21 +00:00
SPRINX0\prochazka
a4518ce261 SYNC: handled double quote strings in MySQL #1107 2025-05-12 10:47:40 +00:00
SPRINX0\prochazka
861ea7ef94 v6.4.2-premium-beta.2 2025-05-12 10:31:39 +02:00
SPRINX0\prochazka
541af0b77e fixed loading keys in redis 2025-05-12 10:28:28 +02:00
Nybkox
3fd3de1828 feat: add firebird triggers 2025-05-07 00:29:42 +02:00
Nybkox
3e2840ca15 fix: add schema to tables 2025-05-07 00:13:40 +02:00
Nybkox
839ec9a456 feat: basic firebird analyser 2025-05-07 00:00:34 +02:00
Nybkox
bac8bd0006 feat: add firebird to to tests compose 2025-05-06 15:51:49 +02:00
SPRINX0\prochazka
8c1b51b7e9 v6.4.2-beta.1 2025-05-06 14:04:29 +02:00
SPRINX0\prochazka
a71c4fe7ec mognoDB bigint support 2025-05-06 12:51:37 +02:00
SPRINX0\prochazka
b9d4197b5c mongoDB - bigint support WIP 2025-05-05 17:16:46 +02:00
SPRINX0\prochazka
ce7559087e duckdb - fixed bigint processing 2025-05-05 16:24:55 +02:00
SPRINX0\prochazka
110d87e512 bigint support #1087 2025-05-05 16:04:21 +02:00
Moshe Brevda
cd817714cd Add source label to container 2025-05-05 12:39:30 +03:00
Jan Prochazka
23db345756 v6.4.1 2025-05-03 19:09:19 +02:00
Jan Prochazka
16990bd0c3 changelog fix 2025-05-03 19:03:06 +02:00
Jan Prochazka
2e3b770bea v6.4.1-beta.2 2025-05-03 17:30:48 +02:00
Jan Prochazka
28f62623bf SYNC: Added option to dump CREATE/DROP database in mysql dump #1103 2025-05-03 07:59:55 +00:00
Jan Prochazka
c9f3e8cb9f Update README.md 2025-05-01 07:27:03 +02:00
SPRINX0\prochazka
6b751eb715 SYNC: export connections modal screenshot 2025-04-30 08:49:34 +00:00
SPRINX0\prochazka
5d953da267 v6.4.0 2025-04-30 09:55:35 +02:00
SPRINX0\prochazka
e87ae31a51 changelog 2025-04-30 09:54:56 +02:00
SPRINX0\prochazka
9f029b892b SYNC: fixed opening data deployer from dataabase 2025-04-30 07:41:15 +00:00
SPRINX0\prochazka
40a9ced0f7 changelog 2025-04-30 09:30:54 +02:00
SPRINX0\prochazka
87fbd7e5da v6.3.4-premium-beta.5 2025-04-30 08:49:58 +02:00
SPRINX0\prochazka
bca5514a76 v6.3.4-beta.4 2025-04-30 08:46:18 +02:00
SPRINX0\prochazka
62ddbb20ac mongodb - filter by objectId imrpoved 2025-04-30 08:36:56 +02:00
SPRINX0\prochazka
9d376961f4 API: queryReader accepts systemConnection (fixes duckDb export filtered data) 2025-04-29 17:15:04 +02:00
SPRINX0\prochazka
e77aa00bcd duckdb doesn't support readonly sessions 2025-04-29 14:58:25 +02:00
SPRINX0\prochazka
465330820d upgraded tedious driver 2025-04-29 14:57:20 +02:00
SPRINX0\prochazka
ec9cbba67e v6.3.4-premium-beta.3 2025-04-29 14:36:53 +02:00
SPRINX0\prochazka
8961ea6fc9 Cancel script execution after first error #1070 2025-04-29 14:05:13 +02:00
SPRINX0\prochazka
ca7ca9da81 fixed JSON-to-Grid only works if there is no newline #1085 2025-04-29 13:26:20 +02:00
SPRINX0\prochazka
2a234f14df fixed: Selection rectangle remains visible after closing JSONB edit cell value form #1031 2025-04-29 13:14:58 +02:00
Jan Prochazka
3ff97bf628 Merge pull request #1101 from dbgate/feature/duckdb-2
Feature/duckdb 2
2025-04-29 12:57:48 +02:00
SPRINX0\prochazka
416d6f2aef SYNC: data deployer menu conditions 2025-04-29 10:55:29 +00:00
Nybkox
ecaafaca69 feat: use straming api for duckdb driver's readQuery 2025-04-29 11:11:21 +02:00
Nybkox
fdb14cd49b fix: typo in jsdoc types 2025-04-29 01:58:25 +02:00
Nybkox
070e955b89 fix: remove duplicated typecheck 2025-04-29 01:57:42 +02:00
Nybkox
9390ab3c6c fix: do not skip non-returnin statements 2025-04-29 01:32:55 +02:00
Nybkox
f67221ee01 feat: use streaming api for duckdb driver's stream method 2025-04-29 01:02:09 +02:00
Nybkox
e09294d9aa feat: add normalization to duck db types 2025-04-29 00:15:50 +02:00
SPRINX0\prochazka
5675acb71a v6.3.4-beta.2 2025-04-28 16:46:52 +02:00
SPRINX0\prochazka
0305a5dcef close tab with confirmation on double ctrl+W 2025-04-28 16:45:21 +02:00
SPRINX0\prochazka
5f03340454 fixed copy (NULL) value 2025-04-28 16:31:10 +02:00
SPRINX0\prochazka
0f69ba46c5 #1089 split queries using blank lines 2025-04-28 15:55:08 +02:00
SPRINX0\prochazka
71ecb6bd4e upgraded dbgate-query-splitter 2025-04-28 15:45:36 +02:00
Jan Prochazka
2b712cc808 Merge pull request #1091 from dbgate/feature/duckdb-2
Feature/duckdb 2
2025-04-28 15:44:26 +02:00
SPRINX0\prochazka
3a68b7b554 handler message errors 2025-04-28 15:14:09 +02:00
SPRINX0\prochazka
e41727a1fc fix 2025-04-28 14:19:48 +02:00
Jan Prochazka
857d0f3316 skip drop references test 2025-04-28 14:12:07 +02:00
Jan Prochazka
1f68f62689 duckdb analyser fixes 2025-04-28 14:07:42 +02:00
Jan Prochazka
09b43a8e95 fixed incorrect naming 2025-04-28 13:31:01 +02:00
Jan Prochazka
b8d765d229 duckdb: rename column + skiptests 2025-04-28 13:06:26 +02:00
Jan Prochazka
06a919ff8d alter table - flat tests 2025-04-28 12:36:18 +02:00
Jan Prochazka
ea1e7769b1 indexes tests 2025-04-28 10:48:23 +02:00
SPRINX0\prochazka
d5e6f99819 duckdb index columns 2025-04-28 10:47:27 +02:00
SPRINX0\prochazka
a5ab9726dd CRW fixes 2025-04-28 10:15:47 +02:00
SPRINX0\prochazka
6464fc56d8 reverted test commented 2025-04-28 10:01:37 +02:00
SPRINX0\prochazka
156e1b928c quick export - works for DuckDB 2025-04-28 09:37:44 +02:00
Jan Prochazka
edf17b8100 use JSON format form quick-exports 2025-04-25 16:45:51 +02:00
Jan Prochazka
5ab980ce1a export from duckdb works 2025-04-25 16:06:10 +02:00
SPRINX0\prochazka
f1d80fadc4 duckdb imports/exports WIP 2025-04-24 18:44:10 +02:00
SPRINX0\prochazka
d331d48ca2 scriptWriterEval 2025-04-24 16:36:07 +02:00
SPRINX0\prochazka
e740db11ed refgactor, code cleanup 2025-04-24 15:45:46 +02:00
SPRINX0\prochazka
6cff7b3c30 duckdb: catch syntax error in query 2025-04-24 15:16:39 +02:00
SPRINX0\prochazka
88cdd2fcbf not start server connection for single-database 2025-04-24 15:10:18 +02:00
SPRINX0\prochazka
55896be694 changed query workflow for duckdb 2025-04-24 14:56:25 +02:00
SPRINX0\prochazka
c4f17e42e1 handleQueryStream refactor 2025-04-24 13:53:41 +02:00
SPRINX0\prochazka
e8b11bd42a copied from master 2025-04-24 13:04:16 +02:00
SPRINX0\prochazka
a566fb3988 typo + bigint converted to numbers 2025-04-24 11:02:44 +02:00
SPRINX0\prochazka
de071b37eb duckdb fixes 2025-04-24 10:54:14 +02:00
SPRINX0\prochazka
7b4d408733 duckdb - removed dummy fast snapshot 2025-04-24 10:31:39 +02:00
SPRINX0\prochazka
06478d89ea Merge branch 'master' into feature/duckdb-2 2025-04-24 10:05:51 +02:00
CI workflows
7cedf4c620 chore: auto-update github workflows 2025-04-24 08:05:50 +00:00
CI workflows
ef1ea5eeee Update pro ref 2025-04-24 08:05:35 +00:00
SPRINX0\prochazka
96f222db94 cloud upgrade moved to pro repo 2025-04-24 10:03:14 +02:00
Jan Prochazka
065eb9b878 duckdb fixes 2025-04-24 09:52:30 +02:00
Jan Prochazka
ed583d80a3 test fix 2025-04-24 09:33:45 +02:00
SPRINX0\prochazka
7752db3916 Merge branch 'master' into feature/duckdb-2 2025-04-24 09:25:45 +02:00
SPRINX0\prochazka
e18254e4d8 SYNC: fixed e2e test 2025-04-24 07:21:26 +00:00
CI workflows
555fc97e8f chore: auto-update github workflows 2025-04-23 15:08:28 +00:00
CI workflows
f135adfdba Update pro ref 2025-04-23 15:08:04 +00:00
SPRINX0\prochazka
72b766f32a SYNC: test fix WIP 2025-04-23 15:07:50 +00:00
Jan Prochazka
5278861ccd fixed replicator for oracle 2025-04-23 15:54:02 +02:00
SPRINX0\prochazka
ebcf88070c test fixes 2025-04-23 15:29:11 +02:00
SPRINX0\prochazka
273811bbb8 changelog 2025-04-23 15:14:15 +02:00
CI workflows
26b53e725d chore: auto-update github workflows 2025-04-23 12:54:39 +00:00
CI workflows
5434ec85e2 Update pro ref 2025-04-23 12:54:18 +00:00
SPRINX0\prochazka
91f438aeff Merge branch 'master' of https://github.com/dbgate/dbgate 2025-04-23 14:53:32 +02:00
SPRINX0\prochazka
501f67ebe7 added storageModel 2025-04-23 14:53:26 +02:00
SPRINX0\prochazka
be52fef0bb SYNC: removed console log 2025-04-23 11:23:48 +00:00
CI workflows
2c0cf40a15 chore: auto-update github workflows 2025-04-23 11:18:49 +00:00
CI workflows
8566070d9b Update pro ref 2025-04-23 11:18:34 +00:00
Jan Prochazka
8f4118a6b8 SYNC: Merge pull request #3 from dbgate/feature/zip 2025-04-23 11:18:20 +00:00
SPRINX0\prochazka
54c53f0b56 v6.3.4-premium-beta.1 2025-04-15 10:21:20 +02:00
SPRINX0\prochazka
eafcee8c67 handled error when getting DB sever version 2025-04-15 10:20:31 +02:00
Jan Prochazka
5c8e1e0f4a export conns base 2025-04-11 10:34:13 +02:00
SPRINX0\prochazka
76043d5876 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-04-10 17:43:32 +02:00
SPRINX0\prochazka
936f3b0752 new storage fake method 2025-04-10 17:43:29 +02:00
SPRINX0\prochazka
9380608781 SYNC: archive UX 2025-04-09 14:30:40 +00:00
SPRINX0\prochazka
544b75bcd5 SYNC: fixed margin-right + in showing JSONL data 2025-04-09 12:19:14 +00:00
SPRINX0\prochazka
2ae63d2323 SYNC: text 2025-04-09 11:42:51 +00:00
SPRINX0\prochazka
f24717a3a3 SYNC: changelog 2025-04-09 11:26:30 +00:00
SPRINX0\prochazka
f0f5558f3e SYNC: pgdump custom args 2025-04-09 11:13:42 +00:00
SPRINX0\prochazka
3d8c732258 SYNC: #1092 - mysql backup arguments 2025-04-09 11:12:14 +00:00
SPRINX0\prochazka
f312237bd5 v6.3.3 2025-04-09 12:27:45 +02:00
SPRINX0\prochazka
952dde3fef changelog 2025-04-09 10:59:35 +02:00
CI workflows
e5387f6d06 chore: auto-update github workflows 2025-04-09 08:57:04 +00:00
CI workflows
93d6697b4e Update pro ref 2025-04-09 08:56:47 +00:00
SPRINX0\prochazka
bad2f3415a health status in sprinx format 2025-04-09 10:41:43 +02:00
SPRINX0\prochazka
d2f5d97282 v6.3.3-premium-beta.2 2025-04-09 10:36:41 +02:00
SPRINX0\prochazka
f8c3fef839 changelog 2025-04-09 10:31:26 +02:00
SPRINX0\prochazka
14b47a929f SYNC: handle subprocess errors 2025-04-09 07:40:54 +00:00
SPRINX0\prochazka
4b3c0466eb SYNC: fixed allocating port for native backup & restore #1092 2025-04-09 07:28:21 +00:00
Nybkox
041397b137 chore: remove test db file 2025-04-08 20:24:24 +02:00
Nybkox
6548c286a6 chore: remove unused code 2025-04-08 20:23:23 +02:00
Nybkox
ccf78285b6 feat: file open duckdb 2025-04-08 20:23:16 +02:00
Nybkox
5e9366fa92 feat: cli open duckdb 2025-04-08 20:22:41 +02:00
Nybkox
0e30cb1439 fix: set multipleSchema to true for duck db 2025-04-08 19:19:23 +02:00
Nybkox
b8d86518e7 feat: add new duck db command 2025-04-08 18:56:17 +02:00
SPRINX0\prochazka
725399ac7c SYNC: admin users screenshot 2025-04-08 16:09:13 +00:00
Nybkox
ca18994092 fix: update duckdb dialects 2025-04-08 18:07:22 +02:00
Nybkox
caefc438b9 chore: remove unused imports 2025-04-08 18:07:14 +02:00
Nybkox
0ece8c7dec feat: add listSchemas to duckdb 2025-04-08 18:07:09 +02:00
Nybkox
e7c42f3623 fix: remove temp duckdb connection cache 2025-04-08 18:06:46 +02:00
Nybkox
18faf89b89 fix: update listSchemas typing 2025-04-08 18:06:09 +02:00
SPRINX0\prochazka
3a750ae6a2 SYNC: changelog 2025-04-08 15:52:03 +00:00
SPRINX0\prochazka
48c614d8c3 SYNC: fixed map export 2025-04-08 15:37:30 +00:00
Jan Prochazka
c37d502c27 Merge pull request #1090 from dataspun/leaflet-map-scale
show scale bar on map
2025-04-08 17:30:05 +02:00
SPRINX0\prochazka
3fed7a081d v6.3.3-premium-beta.1 2025-04-08 17:28:45 +02:00
CI workflows
e75497d03b chore: auto-update github workflows 2025-04-08 15:24:36 +00:00
CI workflows
6d1421f1b7 Update pro ref 2025-04-08 15:24:21 +00:00
SPRINX0\prochazka
dd210be037 SYNC: encrypt superadmin password 2025-04-08 15:24:09 +00:00
CI workflows
7c7d6ad548 chore: auto-update github workflows 2025-04-08 15:12:13 +00:00
CI workflows
2f471c0e3f Update pro ref 2025-04-08 15:11:06 +00:00
SPRINX0\prochazka
cff219674f SYNC: fixed backup & restore under SSH tunnel #1092 2025-04-08 15:10:51 +00:00
SPRINX0\prochazka
e35f9eb75b SYNC: send encryption key to child processes 2025-04-08 14:30:36 +00:00
SPRINX0\prochazka
ef1eff2ecb SYNC: fixed testing compose 2025-04-08 12:58:23 +00:00
SPRINX0\prochazka
244ff61fb3 SYNC: fix 2025-04-08 12:24:15 +00:00
CI workflows
50e2623f19 chore: auto-update github workflows 2025-04-08 11:55:10 +00:00
CI workflows
fd0b997c13 Update pro ref 2025-04-08 11:54:49 +00:00
SPRINX0\prochazka
13d057e4f7 SYNC: filterable table control 2025-04-08 11:54:35 +00:00
Nybkox
d1a6be6ca6 fix: parse res to int in tests 2025-04-08 11:05:23 +02:00
Nybkox
edece02c13 feat: enable duckdb test on ci 2025-04-08 11:05:23 +02:00
Nybkox
d68cf4e44d fix: remove test throw 2025-04-08 11:05:23 +02:00
Nybkox
9d85a58634 fix: skipDeploy tests for duckdb 2025-04-08 11:05:23 +02:00
Nybkox
c4a4cd0957 fix: parse cnt as int 2025-04-08 11:05:23 +02:00
Nybkox
5af7615054 fix: convert dataType to stirng 2025-04-08 11:05:23 +02:00
Nybkox
a68a1334fc feat(duckdb): add rename sql object 2025-04-08 11:05:23 +02:00
Nybkox
dd3e38355c chore: remove test logging 2025-04-08 11:05:23 +02:00
SPRINX0\prochazka
890461bcf8 duckDb: singleConnection query 2025-04-08 11:05:23 +02:00
SPRINX0\prochazka
750265cb79 removed incorrect dataType of duckdb result 2025-04-08 11:05:23 +02:00
SPRINX0\prochazka
004de824ba Merge branch 'master' into feature/duckdb-2 2025-04-08 11:05:23 +02:00
SPRINX0\prochazka
fc43b35628 SYNC: fixed e2e tests 2025-04-08 08:42:31 +00:00
CI workflows
696653f945 chore: auto-update github workflows 2025-04-08 08:10:26 +00:00
CI workflows
157dca50e9 Update pro ref 2025-04-08 08:10:10 +00:00
Jan Prochazka
7d2130b229 SYNC: Merge pull request #2 from dbgate/feature/admin-ui 2025-04-08 08:09:56 +00:00
Jeremy
2cc81211af show scale bar on map 2025-04-07 12:48:31 -07:00
SPRINX0\prochazka
ea9a5b0eb0 column map modal validation 2025-04-03 17:16:02 +02:00
SPRINX0\prochazka
e60cee6a73 UX fix 2025-04-03 15:22:07 +02:00
SPRINX0\prochazka
a3ee60a464 fixed column map modal 2025-04-03 15:09:21 +02:00
Jan Prochazka
28595cbeb3 Merge pull request #1075 from dbgate/feature/json-wrap
feat: add jsonPreviewWrap option to settings
2025-04-03 14:49:54 +02:00
Jan Prochazka
dbdbf5210e Merge pull request #1082 from hansemschnokeloch/patch-1
Fix typo in Analyser.js
2025-04-03 12:35:02 +02:00
SPRINX0\prochazka
a4876f6f14 v6.3.2 2025-04-02 14:08:24 +02:00
SPRINX0\prochazka
9835ae7e50 v6.3.2-premium-beta.4 2025-04-02 13:35:11 +02:00
SPRINX0\prochazka
59f763162c SYNC: fixed zoom 2025-04-02 11:34:18 +00:00
SPRINX0\prochazka
a9412b418f changelog 2025-04-02 12:58:58 +02:00
SPRINX0\prochazka
742c5b76fe v6.3.2-premium-beta.3 2025-04-02 12:45:53 +02:00
SPRINX0\prochazka
7a85fc0179 fixed startup theme 2025-04-02 12:36:42 +02:00
SPRINX0\prochazka
73e73ffe58 SYNC: column search test+screenshot 2025-04-02 10:17:41 +00:00
SPRINX0\prochazka
3c5523894d v6.3.2-beta.2 2025-04-02 11:59:27 +02:00
SPRINX0\prochazka
4b9c76d3db Merge branch 'master' of https://github.com/dbgate/dbgate 2025-04-02 11:59:01 +02:00
SPRINX0\prochazka
0a694eea8a SYNC: fix 2025-04-02 09:58:53 +00:00
SPRINX0\prochazka
87f48dad79 v6.3.2-beta.1 2025-04-02 10:54:58 +02:00
SPRINX0\prochazka
68ef50ca46 real-time system theme switch #1084 2025-04-02 10:52:17 +02:00
SPRINX0\prochazka
8b1da33ffe ability to use dark mode from system #1084 2025-04-02 10:44:40 +02:00
SPRINX0\prochazka
9a9b18a3ef clickhouse: load views for users with limited permissions #1076 2025-04-02 09:48:35 +02:00
Nybkox
83f69d89ff WIP 2025-04-01 17:32:24 +02:00
SPRINX0\prochazka
0bd7d23114 SYNC: highlight columne header search controls 2025-04-01 12:55:33 +00:00
SPRINX0\prochazka
9b860a6aa6 SYNC: uniqied form and grid search in columns 2025-04-01 12:51:20 +00:00
SPRINX0\prochazka
4812519a4c SYNC: search in columns - show filtered column in grid 2025-04-01 12:41:35 +00:00
SPRINX0\prochazka
f3ce6ad467 SYNC: #1077 set custom connection prop from ENV vars 2025-04-01 10:47:43 +00:00
SPRINX0\prochazka
78d9b48854 SYNC: scrollable exported diagram 2025-04-01 10:37:15 +00:00
SPRINX0\prochazka
b37d0eba04 diagram export scirpt 2025-04-01 12:16:27 +02:00
CI workflows
5289b3f54c chore: auto-update github workflows 2025-04-01 08:41:47 +00:00
CI workflows
5c08fe0611 Update pro ref 2025-04-01 08:41:28 +00:00
SPRINX0\prochazka
4bc9b70882 SYNC: configurable export watermark 2025-04-01 08:41:16 +00:00
CI workflows
3f98f9ff39 chore: auto-update github workflows 2025-04-01 08:02:15 +00:00
CI workflows
e78a7bfbf1 Update pro ref 2025-04-01 08:01:56 +00:00
SPRINX0\prochazka
b8b1412bf8 SYNC: diagram improvements 2025-04-01 08:01:44 +00:00
CI workflows
a81d66ace3 chore: auto-update github workflows 2025-03-31 15:04:42 +00:00
CI workflows
dcfd72b7e7 Update pro ref 2025-03-31 15:04:25 +00:00
SPRINX0\prochazka
6467db4a21 SYNC: show diagram table counts WIP 2025-03-31 15:04:11 +00:00
SPRINX0\prochazka
f2570c97f3 SYNC: diagram - persist scroll when zooming 2025-03-31 12:42:43 +00:00
SPRINX0\prochazka
98ad518b5d SYNC: designer right-mouse drag scroll implementation 2025-03-31 12:20:01 +00:00
SPRINX0\prochazka
7a5e17a345 SYNC: fixed selecting in diagrams with zoom 2025-03-31 11:29:53 +00:00
SPRINX0\prochazka
fde257c722 SYNC: fixes 2025-03-31 11:14:59 +00:00
SPRINX0\prochazka
97357f082d removed diagramsettings 2025-03-31 12:24:12 +02:00
CI workflows
6875bd82fc chore: auto-update github workflows 2025-03-31 10:23:04 +00:00
CI workflows
b1f6cad741 Update pro ref 2025-03-31 10:22:44 +00:00
CI workflows
fb28fec60d chore: auto-update github workflows 2025-03-31 10:18:36 +00:00
CI workflows
500130be59 Update pro ref 2025-03-31 10:18:15 +00:00
SPRINX0\prochazka
101173c87c SYNC: diagram settings in premium 2025-03-31 10:16:12 +00:00
SPRINX0\prochazka
4fb1b0dbd1 SYNC: zoom diagram by wheel 2025-03-31 10:12:28 +00:00
SPRINX0\prochazka
4270d5e8ec SYNC: most important tables diagram setting 2025-03-31 08:37:23 +00:00
hansemschnokeloch
fe9f1146ce Fix typo in Analyser.js 2025-03-31 08:28:04 +02:00
SPRINX0\prochazka
6fce43a122 SYNC: fixed diagram references when using zoom 2025-03-28 15:24:33 +00:00
CI workflows
a8a8f9b3e5 chore: auto-update github workflows 2025-03-28 14:43:05 +00:00
SPRINX0\prochazka
0dd0125e9f SYNC: test for parseName + fix 2025-03-28 14:42:43 +00:00
SPRINX0\prochazka
d3d97b5924 SYNC: support OR in filterName 2025-03-28 14:09:05 +00:00
SPRINX0\prochazka
c8462fb50b SYNC: diagram column filter 2025-03-28 13:29:09 +00:00
SPRINX0\prochazka
c99ca9edcc SYNC: diagram style 2025-03-28 11:59:29 +00:00
CI workflows
fc7e96feb9 chore: auto-update github workflows 2025-03-28 11:50:55 +00:00
CI workflows
31dd7be296 Update pro ref 2025-03-28 11:50:38 +00:00
SPRINX0\prochazka
2899373e42 SYNC: diagram settings more visible 2025-03-28 11:50:28 +00:00
CI workflows
7640c3d0ef chore: auto-update github workflows 2025-03-28 08:57:26 +00:00
CI workflows
af7772f617 Update pro ref 2025-03-28 08:57:09 +00:00
SPRINX0\prochazka
a1670caf06 fix export diagram - body - overflow - scroll 2025-03-28 09:31:45 +01:00
SPRINX0\prochazka
61e35b9773 Redis - ability to skip SETNAME #1077 2025-03-28 08:55:01 +01:00
SPRINX0\prochazka
e4671ffdb3 exit connectProcess after connection test 2025-03-28 08:44:56 +01:00
SPRINX0\prochazka
3035f923cb Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-28 08:22:02 +01:00
SPRINX0\prochazka
97e83def48 end tab preview mode when change grid config 2025-03-28 08:21:57 +01:00
SPRINX0\prochazka
ba31deaebf SYNC: missing gitkeep file 2025-03-27 15:24:27 +00:00
SPRINX0\prochazka
bd571dc93d SYNC: slightly better dropdownmanu-layout algorithm 2025-03-26 15:13:31 +00:00
SPRINX0\prochazka
c1da8321ac themeshot name 2025-03-26 13:09:11 +01:00
SPRINX0\prochazka
0a1972b854 themeshot name 2025-03-26 12:59:08 +01:00
SPRINX0\prochazka
96f387e90b SEO friendly screenshot names 2025-03-26 12:46:33 +01:00
SPRINX0\prochazka
e034fc1019 SYNC: new themeshot 2025-03-26 09:08:26 +00:00
SPRINX0\prochazka
d539912762 SYNC: fragment shots 2025-03-26 08:13:02 +00:00
SPRINX0\prochazka
85b72af3bb Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-26 08:00:21 +01:00
SPRINX0\prochazka
3004f4b583 malformed changelog 2025-03-26 08:00:18 +01:00
SPRINX0\prochazka
78dbd7eacd SYNC: screenshot 2025-03-25 16:13:02 +00:00
SPRINX0\prochazka
add73e6f16 SYNC: filter - error 2025-03-25 15:53:59 +00:00
SPRINX0\prochazka
2c5a7d103d premium info in community 2025-03-25 15:10:59 +01:00
SPRINX0\prochazka
f8f855d5d2 changed web 2025-03-25 14:02:44 +01:00
Jan Prochazka
f2c109116c Merge branch 'master' of github.com:dbgate/dbgate 2025-03-24 17:34:42 +01:00
Jan Prochazka
41c63fab96 readme 2025-03-24 17:34:38 +01:00
Jan Prochazka
de94651fca SYNC: data duplicator screenshot+test 2025-03-24 13:07:40 +00:00
Jan Prochazka
611c468b70 changed URLs 2025-03-24 10:30:14 +01:00
CI workflows
fd2207e39e chore: auto-update github workflows 2025-03-23 13:37:52 +00:00
Jan Prochazka
10564442e2 try to fix process templates 2025-03-23 14:37:31 +01:00
Jan Prochazka
a44307ca2d SYNC: fix 2025-03-23 11:57:11 +00:00
CI workflows
cfea2ed954 Update pro ref 2025-03-23 11:57:05 +00:00
Jan Prochazka
62e59605ed SYNC: tableyaml screenshot 2025-03-23 11:56:53 +00:00
CI workflows
2644b1b7ac chore: auto-update github workflows 2025-03-23 10:18:52 +00:00
Jan Prochazka
6e4c6d0c54 condition for pushing e2e screenshots 2025-03-23 11:18:36 +01:00
Jan Prochazka
2b7d950a9f SYNC: next screenshots 2025-03-23 09:06:51 +00:00
CI workflows
5ece8d67f9 chore: auto-update github workflows 2025-03-23 08:31:04 +00:00
Jan Prochazka
8511b67811 Merge branch 'master' of github.com:dbgate/dbgate 2025-03-23 09:30:46 +01:00
Jan Prochazka
a0a444e476 ammend commit in images 2025-03-23 09:30:43 +01:00
Jan Prochazka
6fec92926d SYNC: ai assistant test - try to increase timeout 2025-03-23 07:47:24 +00:00
Jan Prochazka
2cbefb261b skip ai assistant test 2025-03-22 15:01:17 +01:00
CI workflows
4bebbb158c chore: auto-update github workflows 2025-03-22 13:34:42 +00:00
Jan Prochazka
8fe2172c0a Merge branch 'master' of github.com:dbgate/dbgate 2025-03-22 14:34:28 +01:00
Jan Prochazka
f52ef2d57e push to image repo 2025-03-22 14:34:25 +01:00
Jan Prochazka
3f1c005548 SYNC: switch on all tests 2025-03-22 10:47:58 +00:00
Jan Prochazka
821bd2b2d8 SYNC: filter themeshot 2025-03-22 09:11:13 +00:00
Nybkox
d8405feab3 feat: add jsonPreviewWrap option to settings 2025-03-18 20:54:22 +01:00
SPRINX0\prochazka
bd94437c05 v6.3.1 2025-03-18 13:49:28 +01:00
SPRINX0\prochazka
b290bdb473 v6.3.1-packer-beta.1 2025-03-18 13:42:48 +01:00
SPRINX0\prochazka
f8e2af4fd4 SYNC: set current version for azure build 2025-03-18 12:39:46 +00:00
SPRINX0\prochazka
97c8dfa5b9 changelog 2025-03-18 12:56:09 +01:00
SPRINX0\prochazka
37cce68e2e v6.3.0 2025-03-18 12:13:15 +01:00
SPRINX0\prochazka
1f87a71b98 changelog 2025-03-18 12:12:08 +01:00
SPRINX0\prochazka
5511ea1887 dark theme detect, startup with dark theme 2025-03-17 15:43:33 +01:00
SPRINX0\prochazka
e371081a1d Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-17 15:07:10 +01:00
SPRINX0\prochazka
70816b48e8 changelog 2025-03-17 15:07:08 +01:00
SPRINX0\prochazka
2c9fc7b4a7 SYNC: health 2025-03-17 13:11:59 +00:00
SPRINX0\prochazka
3bb4652a49 SYNC: health status 2025-03-17 12:57:47 +00:00
SPRINX0\prochazka
d5f8e01dd8 changelog for 6.3.0 2025-03-17 10:50:17 +01:00
CI workflows
27e0517f9a chore: auto-update github workflows 2025-03-14 14:44:48 +00:00
CI workflows
f59aeda28e Update pro ref 2025-03-14 14:44:35 +00:00
Jan Prochazka
a8a69f8c36 v6.2.2-beta.10 2025-03-14 15:33:23 +01:00
Jan Prochazka
4ae6b8328e v6.2.2-premium-beta.9 2025-03-14 15:33:09 +01:00
Jan Prochazka
6d4337e4ce Merge branch 'master' of github.com:dbgate/dbgate 2025-03-14 15:31:35 +01:00
Jan Prochazka
3df928caf4 deleted obsolete file 2025-03-14 15:31:31 +01:00
Jan Prochazka
faeb33fdc0 SYNC: libsql volatile package 2025-03-14 14:30:00 +00:00
Jan Prochazka
bacdeb20eb libSQL - premium only 2025-03-14 15:26:28 +01:00
Jan Prochazka
781c426b2f libSQL - targetType 2025-03-14 15:25:15 +01:00
Jan Prochazka
d5c9fb8dec refactor 2025-03-14 15:04:53 +01:00
CI workflows
78c372b9d8 chore: auto-update github workflows 2025-03-14 13:52:44 +00:00
Jan Prochazka
ea31069609 fix 2025-03-14 14:52:28 +01:00
CI workflows
3f9a3e8f64 chore: auto-update github workflows 2025-03-14 13:45:28 +00:00
Jan Prochazka
2f02715efd Merge pull request #1069 from dbgate/feature/libsql
feat: libsql basic support
2025-03-14 14:45:14 +01:00
Jan Prochazka
c94fa64a33 v6.2.2-premium-beta.8 2025-03-14 14:40:58 +01:00
CI workflows
e2cb666b3c chore: auto-update github workflows 2025-03-14 13:40:22 +00:00
CI workflows
9f24e0145b Update pro ref 2025-03-14 13:40:10 +00:00
Jan Prochazka
41413471aa v6.2.2-premium-beta.7 2025-03-14 14:26:07 +01:00
CI workflows
f8a11166f0 chore: auto-update github workflows 2025-03-14 13:25:42 +00:00
CI workflows
27517b3b47 Update pro ref 2025-03-14 13:25:29 +00:00
Jan Prochazka
834c0d92b4 v6.2.2-premium-beta.6 2025-03-14 14:01:39 +01:00
Jan Prochazka
e04215f0e1 commented out localization 2025-03-14 14:01:20 +01:00
Jan Prochazka
9fa8d98ae8 Merge branch 'master' of github.com:dbgate/dbgate 2025-03-14 12:09:31 +01:00
Jan Prochazka
31621f273b SYNC: commented dump tests 2025-03-14 11:07:13 +00:00
Jan Prochazka
41f158dac1 v6.2.2-premium-beta.5 2025-03-14 11:47:11 +01:00
CI workflows
e5687f3a7c chore: auto-update github workflows 2025-03-14 10:44:44 +00:00
CI workflows
1a5b684e1f Update pro ref 2025-03-14 10:44:30 +00:00
CI workflows
bf70c487ca chore: auto-update github workflows 2025-03-14 10:38:22 +00:00
CI workflows
4e1d34ba77 Update pro ref 2025-03-14 10:38:10 +00:00
Jan Prochazka
3a75ad61f3 SYNC: Merge branch 'feature/backup-restore' 2025-03-14 10:37:58 +00:00
Nybkox
c7db9ef481 fix: default options for libsql drive .script 2025-03-13 10:19:25 +01:00
Nybkox
fb709c9eb0 fix(libSql): support useTransaction flag for scripts 2025-03-13 09:44:39 +01:00
Nybkox
dfe4d2811a fix(ScriptDrivedDeployer): avoid nested transactions 2025-03-13 09:44:21 +01:00
Nybkox
6e4d16749b feat: lib sql server tests 2025-03-12 09:54:13 +01:00
Nybkox
75b2debf0a feat: libsql basic support 2025-03-11 15:11:35 +01:00
Jan Prochazka
ba9e124527 Merge pull request #1064 from nyaaao/cassandra-auth
feat: add support for plain-text auth for Cassandra
2025-03-11 12:29:28 +01:00
SPRINX0\prochazka
d684ab0e5e translation extractor 2025-03-07 17:33:51 +01:00
SPRINX0\prochazka
2e8205f458 fixed translation extractor 2025-03-07 17:33:07 +01:00
SPRINX0\prochazka
35855297eb SYNC: fix 2025-03-06 07:59:33 +00:00
SPRINX0\prochazka
d365ecce46 translations 2025-03-06 08:52:17 +01:00
SPRINX0\prochazka
f4edc45507 localization 2025-03-05 18:36:31 +01:00
SPRINX0\prochazka
d165d81df0 renamed some lang keys 2025-03-05 18:27:05 +01:00
SPRINX0\prochazka
ba0eba7132 SYNC: mognodb - correct handle stream errors 2025-03-05 17:09:48 +00:00
SPRINX0\prochazka
2b7f4281c2 SYNC: mongo import tests 2025-03-05 16:53:29 +00:00
SPRINX0\prochazka
0046575a4f SYNC: test CSV import 2025-03-05 16:10:52 +00:00
SPRINX0\prochazka
58b88d66be catch errors in base bulk importer 2025-03-05 16:56:18 +01:00
SPRINX0\prochazka
57f1019e51 SYNC: CSV with error import test 2025-03-05 15:35:34 +00:00
SPRINX0\prochazka
b40168182a SYNC: fixed SQLite E2E tests (use absolute folder) 2025-03-05 14:25:40 +00:00
SPRINX0\prochazka
0ece662d8c SYNC: CSV import test 2025-03-05 13:21:47 +00:00
SPRINX0\prochazka
9265e52d68 SYNC: backup table, truncate, drop table - tests for all DBs 2025-03-05 12:33:16 +00:00
SPRINX0\prochazka
3a04166747 fixed bulk import 2025-03-05 12:55:37 +01:00
SPRINX0\prochazka
75bf58359c import error reporting 2025-03-05 12:51:44 +01:00
SPRINX0\prochazka
e7f63e0460 confirm reload 2025-03-05 10:56:29 +01:00
SPRINX0\prochazka
1fdd1c6e88 Merge branch 'feature/localization' 2025-03-05 10:49:08 +01:00
SPRINX0\prochazka
391b9e91e9 gitignore 2025-03-05 10:44:08 +01:00
Nybkox
1e67ca3794 feat: default value for language select 2025-03-04 22:05:04 +01:00
Nybkox
ceebf6dbe1 chore: add logging to translations:check ok scenario 2025-03-04 22:05:04 +01:00
Nybkox
8d4f9fd953 fix: use simple languagnes names 2025-03-04 22:05:04 +01:00
Nybkox
1c3032068e feat: remove unused by default when extracting 2025-03-04 21:17:01 +01:00
Nybkox
7b4b72166f chore: move sortJsonKeys helper 2025-03-04 20:54:42 +01:00
Nybkox
707e5bb8b0 chore: update git ignore 2025-03-04 20:53:53 +01:00
Nybkox
ad5d364c57 chore: extract translations 2025-03-04 20:53:53 +01:00
Nybkox
138fadf672 feat: compile messages 2025-03-04 20:53:53 +01:00
Nybkox
82eabc41fe feat: sort translation json keys alphabetically 2025-03-04 20:53:52 +01:00
Nybkox
3e6aab6b00 feat: basic translations to ui 2025-03-04 20:53:52 +01:00
Nybkox
5396b3f1fb feat: add translations:check command 2025-03-04 20:53:52 +01:00
Nybkox
b1ba887922 feat: separate remove-unused command 2025-03-04 20:53:52 +01:00
Nybkox
93a1c593fe feat: add basic language switch to settings 2025-03-04 20:53:52 +01:00
Nybkox
b7044248cb feat: add translations api for fe 2025-03-04 20:53:52 +01:00
Nybkox
ea5e2f660b feat: add --removeUnused flag to extract translations 2025-03-04 20:53:52 +01:00
Nybkox
e9779a3d2f feat: add add-missing command to translations cli 2025-03-04 20:53:52 +01:00
Nybkox
1c6ec0f8e3 refactor: add index.js to translations-cli, add translations:extract to package.json 2025-03-04 20:53:52 +01:00
Nybkox
84bd81e525 feat: throw when found the same translation key with different default values 2025-03-04 20:53:52 +01:00
Nybkox
a84cbee9db feat: basic translations extract 2025-03-04 20:53:52 +01:00
CI workflows
97b16c8c0c chore: auto-update github workflows 2025-03-04 15:43:56 +00:00
CI workflows
0a6a35b022 Update pro ref 2025-03-04 15:43:43 +00:00
SPRINX0\prochazka
6565b4101b SYNC: try to fix local e2e tests 2025-03-04 15:43:27 +00:00
nyaaao
fbbcc1172d feat: add support for plain-text auth for Cassandra 2025-03-04 16:58:05 +02:00
SPRINX0\prochazka
53dc50c0dd Merge branch 'feature/impexp' 2025-03-04 15:55:10 +01:00
SPRINX0\prochazka
7b56485c74 report progress for quick exports 2025-03-04 15:51:43 +01:00
SPRINX0\prochazka
cfc9b809fc key hack - correct reporting progress rows 2025-03-04 15:30:18 +01:00
SPRINX0\prochazka
4015e2566e import/export progress reporter 2025-03-04 15:21:22 +01:00
SPRINX0\prochazka
1d474a967c report read row count, if written row count not available 2025-03-04 15:17:58 +01:00
SPRINX0\prochazka
bffc34485a report wwritten rows 2025-03-04 15:08:24 +01:00
SPRINX0\prochazka
3bf22a8606 import/export log messages 2025-03-04 14:29:52 +01:00
SPRINX0\prochazka
257ffa3cc4 show import/export error 2025-03-04 14:26:11 +01:00
SPRINX0\prochazka
0c104d5d29 progress indicator in exports 2025-03-04 13:55:36 +01:00
Jan Prochazka
2a59faec17 Merge pull request #1063 from nyaaao/cassandra-local-data-center-env
feat: configure cassandra local datacenter via environment variable
2025-03-04 12:55:20 +01:00
nyaaao
00534f7edd feat: allow specifying cassandra local datacenter via environment variable 2025-03-04 13:28:29 +02:00
SPRINX0\prochazka
4006f03444 removed invalid param 2025-03-04 10:06:05 +01:00
SPRINX0\prochazka
beca5c6e45 using stream.pipeline for better handling errors 2025-03-04 09:51:29 +01:00
SPRINX0\prochazka
69f781d3de handle copyStreamError 2025-03-04 08:58:04 +01:00
SPRINX0\prochazka
3f3160406f propagate error in mongo stream 2025-03-03 16:05:12 +01:00
CI workflows
8067cff9bd chore: auto-update github workflows 2025-03-03 14:15:13 +00:00
CI workflows
7d776bb2af Update pro ref 2025-03-03 14:14:57 +00:00
SPRINX0\prochazka
880bb0d7cb SYNC: Change or add option to disable Shift + Space for AI Assistant #1060 2025-03-03 14:14:41 +00:00
SPRINX0\prochazka
3aea01fb78 v6.2.2-packer-beta.4 2025-03-03 10:34:57 +01:00
SPRINX0\prochazka
7025f4701d Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-03 10:34:32 +01:00
CI workflows
9d98b06132 chore: auto-update github workflows 2025-03-03 09:34:17 +00:00
SPRINX0\prochazka
47cb83c1ff Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-03 10:34:12 +01:00
CI workflows
6ff8847251 Update pro ref 2025-03-03 09:34:01 +00:00
SPRINX0\prochazka
9d9367d127 v6.2.2-packer-beta.3 2025-03-03 10:21:24 +01:00
SPRINX0\prochazka
ae7c1ae666 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-03-03 10:21:08 +01:00
CI workflows
44fe3cb7bd chore: auto-update github workflows 2025-03-03 09:16:39 +00:00
CI workflows
bc783eb511 Update pro ref 2025-03-03 09:16:24 +00:00
SPRINX0\prochazka
0491bd5364 v6.2.2-packer-beta.2 2025-03-03 09:42:30 +01:00
SPRINX0\prochazka
cf47cccc97 v6.2.2-packer.1 2025-03-03 09:35:47 +01:00
CI workflows
c65ab35107 chore: auto-update github workflows 2025-03-03 08:33:14 +00:00
CI workflows
b8ea16f4d4 Update pro ref 2025-03-03 08:32:57 +00:00
Jan Prochazka
b40b5f0c1c v6.2.1 2025-02-28 10:55:29 +01:00
Jan Prochazka
b193e29fdb changelog 2025-02-28 10:55:07 +01:00
Jan Prochazka
1b602c134f v6.2.1-premium-beta.11 2025-02-28 10:31:38 +01:00
Jan Prochazka
e462c6d412 v6.2.1-premium-beta.10 2025-02-28 10:28:55 +01:00
Jan Prochazka
d0c83f3c96 Merge pull request #1058 from dbgate/feature/xml-fixes
Feature/xml fixes
2025-02-28 10:28:21 +01:00
Jan Prochazka
0547aa2095 xml format indent 2025-02-28 10:20:18 +01:00
Nybkox
322907b972 feat: add themes to xml view 2025-02-27 17:12:27 +01:00
Nybkox
189b9a7ad6 feat: add xml-formatter 2025-02-27 15:55:06 +01:00
SPRINX0\prochazka
1d02927f6b scroll in xml cell data view 2025-02-27 12:44:34 +01:00
CI workflows
2ad739419a chore: auto-update github workflows 2025-02-27 09:06:11 +00:00
SPRINX0\prochazka
093ace1a89 updated build version 2025-02-27 10:05:45 +01:00
SPRINX0\prochazka
4c982a762b v6.2.1-premium-beta.9 2025-02-27 09:33:08 +01:00
SPRINX0\prochazka
a30efd6e81 allow SQLite on web #956 2025-02-27 09:26:38 +01:00
SPRINX0\prochazka
1c0fc0bff2 removed onsolete code 2025-02-27 08:21:13 +01:00
SPRINX0\prochazka
7da0c204df Merge branch 'feature/impexp' 2025-02-27 08:20:05 +01:00
SPRINX0\prochazka
a35421d8ab import fixed 2025-02-27 08:19:49 +01:00
SPRINX0\prochazka
450ce53dcf import WIP 2025-02-26 16:43:24 +01:00
SPRINX0\prochazka
e80ccfcb19 fixed open query from datagrid 2025-02-26 13:37:21 +01:00
SPRINX0\prochazka
9ad612bd78 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-26 10:26:03 +01:00
CI workflows
288857999f Update pro ref 2025-02-26 09:25:50 +00:00
SPRINX0\prochazka
217823652c v6.2.1-beta.8 2025-02-26 10:24:32 +01:00
SPRINX0\prochazka
268e1670c7 v6.2.1-premium-beta.7 2025-02-26 10:23:53 +01:00
SPRINX0\prochazka
ce7b155f72 remove armv7l app build 2025-02-26 10:20:56 +01:00
SPRINX0\prochazka
2a71d84580 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-26 10:14:03 +01:00
CI workflows
8f73dce934 chore: auto-update github workflows 2025-02-26 09:13:58 +00:00
CI workflows
5953e32988 Update ref to 6b5b092b9da447d89e64b30bfa2910833bf73312 2025-02-26 09:13:38 +00:00
SPRINX0\prochazka
df74322b05 v6.2.1-premium-beta.6 2025-02-26 10:02:05 +01:00
SPRINX0\prochazka
22d941ae45 v6.2.1-beta.5 2025-02-26 08:37:19 +01:00
CI workflows
4fd7c1c4e9 chore: auto-update github workflows 2025-02-26 07:37:04 +00:00
SPRINX0\prochazka
ee1aa6d42c workflow change 2025-02-26 08:36:39 +01:00
SPRINX0\prochazka
1343aba26e try to fix docker build 2025-02-26 08:33:50 +01:00
SPRINX0\prochazka
1483d84d8c v6.2.1-beta.4 2025-02-25 18:38:49 +01:00
CI workflows
02d58d66c9 chore: auto-update github workflows 2025-02-25 17:38:32 +00:00
SPRINX0\prochazka
2eb6ca28f7 full container - removed linux/arm/v7 docker platform 2025-02-25 18:38:12 +01:00
SPRINX0\prochazka
7575a9ce02 v6.2.1-beta.3 2025-02-25 18:17:00 +01:00
CI workflows
039b832be2 chore: auto-update github workflows 2025-02-25 17:16:32 +00:00
SPRINX0\prochazka
e0ed025507 added setup qemu 2025-02-25 18:15:52 +01:00
SPRINX0\prochazka
f2bd08f02a mixed mongoDB export #1044 2025-02-25 17:59:31 +01:00
SPRINX0\prochazka
63314b54bc v6.2.1-premium-beta.2 2025-02-25 17:24:36 +01:00
SPRINX0\prochazka
65165cd15f v6.2.1-beta.1 2025-02-25 16:58:44 +01:00
SPRINX0\prochazka
d5ddbca067 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-25 15:20:07 +01:00
SPRINX0\prochazka
517027e1fe SYNC: clearTestingData 2025-02-25 15:19:58 +01:00
SPRINX0\prochazka
b843ccc898 SYNC: skip AI test 2025-02-25 14:11:43 +00:00
SPRINX0\prochazka
fffd81267d SYNC: sqlite - passed transaction test 2025-02-25 14:11:41 +00:00
SPRINX0\prochazka
7d26dd5348 upgraded better-sqlite3 2025-02-25 14:33:56 +01:00
Jan Prochazka
a4d3189dac import models tests fixed 2025-02-25 13:58:03 +01:00
SPRINX0\prochazka
ec02743f83 SYNC: test fix 2025-02-25 11:38:55 +00:00
CI workflows
10e807751a chore: auto-update github workflows 2025-02-25 11:18:31 +00:00
SPRINX0\prochazka
a8e827b5e2 fixed port for e2e-mssql 2025-02-25 12:18:11 +01:00
CI workflows
f0eaba5857 chore: auto-update github workflows 2025-02-25 11:13:14 +00:00
SPRINX0\prochazka
7516b056a5 fixed workflow 2025-02-25 12:12:56 +01:00
CI workflows
312c3b8295 chore: auto-update github workflows 2025-02-25 11:09:55 +00:00
SPRINX0\prochazka
0a777dc909 fix 2025-02-25 12:09:36 +01:00
CI workflows
ec24376608 chore: auto-update github workflows 2025-02-25 11:06:08 +00:00
SPRINX0\prochazka
c9f45da217 fix 2025-02-25 12:05:10 +01:00
SPRINX0\prochazka
34cfbabf51 fix 2025-02-25 11:05:29 +01:00
SPRINX0\prochazka
f7e7a4c99c fix 2025-02-25 11:02:09 +01:00
SPRINX0\prochazka
58c318b5cf process templates fix 2025-02-25 11:00:31 +01:00
SPRINX0\prochazka
10b1644d8d fix 2025-02-25 10:57:22 +01:00
SPRINX0\prochazka
599f59fc39 test change 2025-02-25 10:55:35 +01:00
SPRINX0\prochazka
da4b8f6cb9 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-25 10:53:19 +01:00
SPRINX0\prochazka
5f2e882ed9 process templates 2025-02-25 10:53:13 +01:00
CI workflows
f20abe8878 Update ref to 83c1c85eb2761a642c17b2f0f882970718e0afca 2025-02-25 09:45:10 +00:00
SPRINX0\prochazka
a6ab37f21c SYNC: transaction test works for oracle 2025-02-25 09:28:12 +00:00
SPRINX0\prochazka
13fc3ee25e SYNC: fixed test 2025-02-25 09:28:11 +00:00
SPRINX0\prochazka
2268086eac SYNC: autocommit icons 2025-02-25 09:28:10 +00:00
SPRINX0\prochazka
9e9dec5389 SYNC: autocommit for Oracle 2025-02-25 09:28:08 +00:00
SPRINX0\prochazka
11d193a6dd SYNC: commit/rollback - control commands 2025-02-25 09:28:07 +00:00
SPRINX0\prochazka
f81207737c SYNC: INSERT SQL template 2025-02-25 09:28:06 +00:00
SPRINX0\prochazka
191c25a26b SYNC: autocommit WIP 2025-02-24 16:13:12 +00:00
Jan Prochazka
9c7727b7f3 oracle insert bulk inserts fix 2025-02-24 16:28:19 +01:00
Jan Prochazka
8bea9b8312 import data fixes 2025-02-24 16:14:51 +01:00
SPRINX0\prochazka
805a063fa1 SYNC: fixes 2025-02-24 15:14:22 +00:00
SPRINX0\prochazka
20a1cc89ae SYNC: import model+data test 2025-02-24 14:27:20 +00:00
SPRINX0\prochazka
963994b1e5 SYNC: some fixes 2025-02-24 14:19:17 +00:00
SPRINX0\prochazka
afcb226111 SYNC: mutli-sql tests 2025-02-24 13:18:52 +00:00
SPRINX0\prochazka
5b246fe44c SYNC: multi tests 2025-02-24 12:46:20 +00:00
SPRINX0\prochazka
d79f82e9b8 SYNC: fixed test 2025-02-24 12:27:03 +00:00
SPRINX0\prochazka
bdd9dc8c9d SYNC: multi-sql 2025-02-24 11:21:02 +00:00
Veronika Kincova
8bdd24aa1e SYNC: [skip ci] Drop table test 2025-02-24 10:23:50 +00:00
Veronika Kincova
13c0da5c8a SYNC: [skip ci] Only fix 2025-02-24 10:07:07 +00:00
Veronika Kincova
d31cfb15db SYNC: [skip ci] Backup - Truncate table test 2025-02-24 10:07:02 +00:00
SPRINX0\prochazka
8453bd3c26 SYNC: [skip ci] cy:open in root 2025-02-24 08:25:41 +00:00
SPRINX0\prochazka
457bf311c3 Commit/rollback in query editor #1039 2025-02-21 17:30:16 +01:00
SPRINX0\prochazka
ea2ec9ef54 refresh testid 2025-02-21 16:50:59 +01:00
SPRINX0\prochazka
d0c84ea469 better workflow for askUser, when closing window 2025-02-21 16:11:23 +01:00
SPRINX0\prochazka
cdec56b661 SYNC: [skip ci] Show server name alongside database name in title of the tab group #1041 2025-02-21 14:08:32 +00:00
SPRINX0\prochazka
8bc2d7cb05 update ref 2025-02-21 13:42:11 +01:00
SPRINX0\prochazka
21f3de0a18 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-21 13:30:42 +01:00
SPRINX0\prochazka
65b497c9f1 update pro ref 2025-02-21 13:30:40 +01:00
SPRINX0\prochazka
f37f1e794e SYNC: [skip ci] fixed FK joining #1051 2025-02-21 12:04:30 +00:00
SPRINX0\prochazka
0096a40132 removed obsolete query designer 2025-02-21 12:50:53 +01:00
SPRINX0\prochazka
b6b9b67836 fixed crash after filtering mongo array columns #1049 2025-02-21 12:38:22 +01:00
SPRINX0\prochazka
2b80a98a96 fix 2025-02-21 12:28:15 +01:00
SPRINX0\prochazka
8c5d47bfa0 run with push 2025-02-21 10:37:18 +01:00
SPRINX0\prochazka
00c0a0505f run with push 2025-02-21 10:28:17 +01:00
SPRINX0\prochazka
01ba8b4f3f commit info 2025-02-21 10:24:42 +01:00
SPRINX0\prochazka
919249215b fix 2025-02-21 10:20:41 +01:00
SPRINX0\prochazka
a62394a67c changed used secret 2025-02-21 10:13:56 +01:00
SPRINX0\prochazka
332fff279b fix 2025-02-21 09:53:20 +01:00
SPRINX0\prochazka
27df4c435f use different secret 2025-02-21 09:52:30 +01:00
SPRINX0\prochazka
a9998ebca7 tmp 2025-02-21 09:38:23 +01:00
SPRINX0\prochazka
82a8baabef fix 2025-02-21 09:37:17 +01:00
SPRINX0\prochazka
2af6d4ef29 fix 2025-02-21 09:35:56 +01:00
SPRINX0\prochazka
c2526c1e2d diflow config 2025-02-21 09:31:35 +01:00
SPRINX0\prochazka
6021fa721e diflow CI 2025-02-19 16:44:13 +01:00
SPRINX0\prochazka
0bd59dc0f8 filter by column data type fix 2025-02-17 11:29:31 +01:00
Jan Prochazka
1af0c34ac0 Merge branch 'master' of github.com:dbgate/dbgate 2025-02-15 09:35:28 +01:00
Jan Prochazka
77f5b6d0c8 cassandra in readme 2025-02-15 09:34:53 +01:00
SPRINX0\prochazka
cb3fdf1112 changelog 2025-02-14 15:05:45 +01:00
SPRINX0\prochazka
482d3d9188 v6.2.0 2025-02-14 14:56:52 +01:00
SPRINX0\prochazka
bb4c64f478 v6.1.7-premium-beta.10 2025-02-14 14:34:52 +01:00
SPRINX0\prochazka
a9d6e42add changelog 2025-02-14 14:34:08 +01:00
SPRINX0\prochazka
5fa6cf8eca Revert "build zip for mac (for autoupgrade)"
This reverts commit 6388129e27.
2025-02-14 14:27:19 +01:00
SPRINX0\prochazka
7c0de7b634 v6.1.7-beta.9 2025-02-14 14:06:13 +01:00
SPRINX0\prochazka
691f3238c5 v6.1.7-premium-beta.8 2025-02-14 14:05:56 +01:00
SPRINX0\prochazka
43163c787d renamed file 2025-02-14 14:04:25 +01:00
SPRINX0\prochazka
a86693d950 v6.1.7-premium-beta.7 2025-02-14 13:56:07 +01:00
SPRINX0\prochazka
6388129e27 build zip for mac (for autoupgrade) 2025-02-14 13:55:47 +01:00
SPRINX0\prochazka
7788806a8d update pro ref 2025-02-14 13:50:07 +01:00
SPRINX0\prochazka
30037dad83 better connection error reporting 2025-02-14 13:27:56 +01:00
SPRINX0\prochazka
d49c7d5e45 workflows 2025-02-14 12:49:11 +01:00
SPRINX0\prochazka
502109cdcb publish new plugins 2025-02-14 12:48:17 +01:00
SPRINX0\prochazka
3de775a163 ai assistant UX 2025-02-14 12:28:02 +01:00
SPRINX0\prochazka
d4de917895 AI UX 2025-02-14 08:57:20 +01:00
SPRINX0\prochazka
35cb718f1f last used actions changed in switch button 2025-02-13 16:23:18 +01:00
SPRINX0\prochazka
60a72f4d45 fix data grid join problem #565 2025-02-13 15:54:40 +01:00
SPRINX0\prochazka
6ae536d035 datagrid: open real query in case of error 2025-02-13 15:47:55 +01:00
SPRINX0\prochazka
23daa7a91c fixes 2025-02-13 15:32:36 +01:00
SPRINX0\prochazka
771f93b5fa updated pro ref 2025-02-13 14:35:31 +01:00
SPRINX0\prochazka
19826636c7 uncommented builds 2025-02-12 14:03:49 +01:00
SPRINX0\prochazka
57ba9b52ba v6.1.7-packer-beta.6 2025-02-12 13:57:26 +01:00
SPRINX0\prochazka
38c0d9bbc3 pro update 2025-02-12 13:57:01 +01:00
SPRINX0\prochazka
5fb3e0b941 v6.1.7-packer-beta.5 2025-02-12 13:43:41 +01:00
SPRINX0\prochazka
9aa09d138a update pro ref 2025-02-12 13:43:19 +01:00
SPRINX0\prochazka
f48efcc02d fix 2025-02-12 13:42:58 +01:00
SPRINX0\prochazka
1703e9e8c6 v6.1.7-packer-beta.4 2025-02-12 12:05:53 +01:00
SPRINX0\prochazka
940cf02935 build cloud 2025-02-12 12:05:40 +01:00
SPRINX0\prochazka
355aefc62a delete old azure VMs 2025-02-12 12:02:06 +01:00
SPRINX0\prochazka
0c0c9b2dad v6.1.7-packer-beta.3 2025-02-12 10:38:00 +01:00
SPRINX0\prochazka
d3df844917 update pro ref 2025-02-12 10:37:36 +01:00
SPRINX0\prochazka
e227f1f182 build script 2025-02-12 10:36:54 +01:00
SPRINX0\prochazka
f97b49bc53 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-02-12 09:47:50 +01:00
SPRINX0\prochazka
788b6def6c azure ubuntu support 2025-02-12 09:47:44 +01:00
Jan Prochazka
8550707485 Merge pull request #1038 from dbgate/feature/xml-preview
feat: add xml preview
2025-02-11 17:03:18 +01:00
Nybkox
aa8dfa1c87 feat: add xml preview 2025-02-11 16:51:39 +01:00
Jan Prochazka
7b68dd0f47 Merge pull request #1037 from dbgate/feature/fix-modal-scroll
style(ModalBase): keep header and footer in place, scroll only content
2025-02-11 12:20:41 +01:00
Nybkox
f4c9c880bc style(ModalBase): keep header and footer in place, scroll only content 2025-02-11 12:19:04 +01:00
Jan Prochazka
cac3e6efec Merge pull request #1036 from dbgate/feature/fix-mysql-triggers-creation
fix: correct sql for creating new trigger in ui for mysql
2025-02-11 12:16:03 +01:00
Nybkox
d76786e344 fix: correct sql for creating new trigger in ui for mysql 2025-02-11 11:59:35 +01:00
Nybkox
171b967cc4 style(ModalBase): add max-height to normal modals 2025-02-11 11:54:31 +01:00
SPRINX0\prochazka
b5766494e1 try to fix cypress test 2025-02-11 10:54:44 +01:00
SPRINX0\prochazka
b72af50a85 v6.1.7-premium-beta.2 2025-02-11 10:45:39 +01:00
Jan Prochazka
63b66fe301 Merge pull request #1010 from dbgate/feature/cassandra
Feature/cassandra
2025-02-11 10:40:03 +01:00
Nybkox
244cb79774 fix: conditionally remove table aliases from column expressions 2025-02-11 09:54:55 +01:00
SPRINX0\prochazka
8d20b7d19f Merge branch 'master' into feature/cassandra 2025-02-11 08:37:15 +01:00
SPRINX0\prochazka
dc9da0b866 data modification test 2025-02-11 08:22:59 +01:00
Jan Prochazka
3b72a9751c fixed import test for oracle 2025-02-10 16:48:10 +01:00
SPRINX0\prochazka
bb3cb23ee0 Merge branch 'master' into feature/cassandra 2025-02-10 15:27:45 +01:00
SPRINX0\prochazka
737436d7e7 fix 2025-02-10 15:23:32 +01:00
SPRINX0\prochazka
bccfa79bb6 ref update 2025-02-10 15:23:14 +01:00
SPRINX0\prochazka
6bf5c58ec1 fix 2025-02-10 15:22:49 +01:00
SPRINX0\prochazka
151230098c fix 2025-02-10 14:29:10 +01:00
SPRINX0\prochazka
5debd8e115 fix 2025-02-10 14:28:52 +01:00
SPRINX0\prochazka
83633536db Merge branch 'master' into feature/cassandra 2025-02-10 14:23:16 +01:00
SPRINX0\prochazka
c187d902d2 Merge branch 'ai-assistant' 2025-02-10 14:19:46 +01:00
SPRINX0\prochazka
cf4cc37f66 pro ref 2025-02-10 14:18:27 +01:00
SPRINX0\prochazka
5205839e18 AI assistant e2e test 2025-02-10 14:17:22 +01:00
SPRINX0\prochazka
1e05b0a659 save ai assistant state 2025-02-10 12:58:30 +01:00
SPRINX0\prochazka
f6b52592fd ask for send data 2025-02-10 12:44:29 +01:00
SPRINX0\prochazka
ae8e46e024 refactor SQL 2025-02-10 11:26:57 +01:00
SPRINX0\prochazka
89df96ffd5 ai 2025-02-10 10:21:43 +01:00
SPRINX0\prochazka
a8a3cf729f fix 2025-02-07 17:46:43 +01:00
SPRINX0\prochazka
3d14ca302f call complete on cursor 2025-02-07 17:22:24 +01:00
SPRINX0\prochazka
0ba040a28c bulma improvement 2025-02-07 17:21:42 +01:00
SPRINX0\prochazka
69b775a49d fix 2025-02-07 15:53:36 +01:00
SPRINX0\prochazka
93895f3d6f expanded cell view 2025-02-07 14:34:56 +01:00
SPRINX0\prochazka
8103c26ca8 tiny db structure 2025-02-07 13:36:14 +01:00
SPRINX0\prochazka
825abf82e6 deep partial deef 2025-02-06 13:04:15 +01:00
Nybkox
e2547c7295 feat: add test for importing data to an existing table 2025-02-06 11:11:06 +01:00
Nybkox
359557e321 feat: pass dataType to bulk insert value put 2025-02-06 11:09:14 +01:00
Nybkox
94cccf9e17 fix(cassandra): check column name correctly 2025-02-06 11:05:24 +01:00
Nybkox
13e4c2de03 fix(createBulkInsertStreamBase): save checked structure 2025-02-06 11:04:41 +01:00
Nybkox
844d7025fa feat(cassandra): parse error line from message 2025-02-06 10:38:12 +01:00
Nybkox
0f01f35d19 fix(cassandra): use put raw for numeric data types 2025-02-06 10:09:19 +01:00
Nybkox
505c219cfd chore: remove test logging 2025-02-06 09:49:14 +01:00
Nybkox
c40d745a3a fix: update deploy databse skip tests conditions 2025-02-06 09:43:46 +01:00
Nybkox
13ee14c752 fix: do not insert second id column 2025-02-06 09:39:49 +01:00
Nybkox
1d1e488755 feat: add cassandra to workflows 2025-02-06 09:18:38 +01:00
Nybkox
d9537e5fd4 feat: run cassandra tests on ci 2025-02-06 09:15:23 +01:00
Nybkox
5fc5497a9e fix(table-create): remove nullable if engine skips nullability 2025-02-06 09:15:23 +01:00
Nybkox
fd70df0f43 feat(cassandara): forceSortStructureColumns 2025-02-06 09:15:23 +01:00
Nybkox
c16d47473d feat: add forceSortStructureColumns for test engines 2025-02-06 09:15:23 +01:00
Nybkox
f5e2300460 fix(cassandra): use text type for string in table anylyse 2025-02-06 09:15:23 +01:00
Nybkox
73a3e8d498 fix(cassandra): ignore default value if engine skips it in table analyse 2025-02-06 09:15:23 +01:00
Nybkox
bb38b93927 feat: add forceSortResults for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
979f2c7dac fix: do not insert another pk if there is no uuid pk 2025-02-06 09:15:23 +01:00
Nybkox
808b774ad1 fix: create sql based on engine config in table-analyse 2025-02-06 09:15:23 +01:00
Nybkox
38ce62185e fix(cassandra): do not add 2nd id column 2025-02-06 09:15:23 +01:00
Nybkox
ac4e411d41 feat: skip delpoy tests 2025-02-06 09:15:23 +01:00
Nybkox
fdc784f42d feat: skip data duplicator for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
edcaf585ea refactor: remove redundant conditions 2025-02-06 09:15:23 +01:00
Nybkox
cdafe7e5f2 fix: force columns sorting when comparing 2025-02-06 09:15:23 +01:00
Nybkox
40cfe63b6f fix: skipDataModifications for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
2fee584da9 fix: skip auto increment for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
8b1d8d6d71 chore: add missing types for test engings exports 2025-02-06 09:15:23 +01:00
Nybkox
f63b61681f feat: force usage of text type for strings in cassandra tests 2025-02-06 09:15:23 +01:00
Nybkox
de4cea86da feat: skip order by for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
c0ca84f347 fix: prevent setting autoincrement when it is disabled in dialect 2025-02-06 09:15:23 +01:00
Nybkox
9c5a2c79f5 feat: add recordset and row zipping for cassandra query 2025-02-06 09:15:23 +01:00
Nybkox
8359746f47 feat: basic cassandra tests setup 2025-02-06 09:15:23 +01:00
Nybkox
516393856d feat: add TestEngineInfo typing 2025-02-06 09:15:23 +01:00
Nybkox
e7e57414b5 fix: update sheduler events info typing 2025-02-06 09:15:23 +01:00
Nybkox
687669330d fix: set createColumnWithColumnKeyword to false for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
d3147d3969 feat: add dropDatabse to cassandra dumper 2025-02-06 09:15:23 +01:00
Nybkox
ca8b7911a6 fix: do not filter keyspaces 2025-02-06 09:15:23 +01:00
Nybkox
3d23a13c34 fix: remove port from cassandra 2025-02-06 09:15:23 +01:00
Nybkox
cf8a104183 fix: use keyspace and replication in createDatabase command for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
bd7aa7884a fix: update engines typing after rebase 2025-02-06 09:15:23 +01:00
Nybkox
f2db514e45 feat: generateDefaultValueForUuid, set 'uuid()' for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
d35801dcc7 feat: disable renaming tables for cassandra 2025-02-06 09:15:23 +01:00
Nybkox
50f9e025c4 fix: remove old way of adding way uuids 2025-02-06 09:15:23 +01:00
SPRINX0\prochazka
09fa3ce438 feat: dumper data type handling 2025-02-06 09:15:23 +01:00
Nybkox
bcf89b1f09 WIP 2025-02-06 09:15:23 +01:00
Nybkox
645a1d35e8 feat: add omitTableAliases to sql dialect 2025-02-06 09:15:23 +01:00
Nybkox
1154eff459 feat: allow specifing dbhan client type 2025-02-06 09:15:23 +01:00
SPRINX0\prochazka
f6dcc4bb1f AI refactor 2025-02-06 08:34:21 +01:00
SPRINX0\prochazka
babfcb6108 AI assistant 2025-02-05 18:56:00 +01:00
SPRINX0\prochazka
07a2e2fa26 Merge branch 'master' into ai-assistant 2025-02-05 15:01:50 +01:00
SPRINX0\prochazka
d6ffafb640 DBF icon fixed 2025-02-05 14:25:07 +01:00
SPRINX0\prochazka
3cc0be7e72 v6.1.7-premium-beta.1 2025-02-05 13:22:30 +01:00
SPRINX0\prochazka
a6bd3eed52 update pro ref 2025-02-05 13:21:43 +01:00
SPRINX0\prochazka
ac2128dcde azure managed identity support 2025-02-05 13:05:02 +01:00
SPRINX0\prochazka
6c8cf8e327 update pro ref 2025-02-05 10:28:51 +01:00
SPRINX0\prochazka
920788febb OAuth test 2025-02-05 10:28:11 +01:00
SPRINX0\prochazka
07a803a687 try to fix e2e tests 2025-02-05 09:17:11 +01:00
SPRINX0\prochazka
1f1d84d7c8 updated pro ref 2025-02-05 09:05:37 +01:00
SPRINX0\prochazka
a093fc1285 Merge branch 'hotfix/6.1.5' 2025-02-05 09:01:21 +01:00
SPRINX0\prochazka
e76c563471 changelog 2025-02-04 17:05:20 +01:00
SPRINX0\prochazka
fa6388ee6b v6.1.6 2025-02-04 17:04:26 +01:00
SPRINX0\prochazka
fe2e5bc82e v6.1.6-premium-beta.1 2025-02-04 16:48:47 +01:00
SPRINX0\prochazka
e361cb0113 v6.1.6-premuim-beta.1 2025-02-04 16:48:17 +01:00
SPRINX0\prochazka
a12875fde3 dbgate-pro repo ref 2025-02-04 16:48:02 +01:00
SPRINX0\prochazka
fed8b1be3e Merge branch 'hotfix/6.1.5' 2025-02-04 16:30:14 +01:00
SPRINX0\prochazka
b3b94bfb3f 6.1.5 changelog 2025-02-04 16:12:00 +01:00
SPRINX0\prochazka
8e4308bea8 v6.1.5 2025-02-04 16:07:33 +01:00
SPRINX0\prochazka
86736c289b security problem fix #1029 2025-02-04 16:05:25 +01:00
SPRINX0\prochazka
49149643ef tests for hotfix branches 2025-02-04 16:04:45 +01:00
SPRINX0\prochazka
c21cd4b18f security problem fix #1029 2025-02-04 16:01:50 +01:00
SPRINX0\prochazka
d3dd1c3afc query fmt func 2025-02-04 15:44:16 +01:00
SPRINX0\prochazka
969876e87b fix 2025-02-04 12:55:30 +01:00
SPRINX0\prochazka
846f63a708 compare model fix 2025-02-04 08:55:11 +01:00
SPRINX0\prochazka
91fcf4bd72 query assistant WIP 2025-02-04 08:54:56 +01:00
SPRINX0\prochazka
f62462fcc5 AI assistant place 2025-02-03 17:38:15 +01:00
SPRINX0\prochazka
d2192c4772 v6.1.5-beta.3 2025-02-03 14:43:32 +01:00
SPRINX0\prochazka
4d8952d3ee try to fix #1025 2025-02-03 14:43:08 +01:00
SPRINX0\prochazka
0f36ea7b58 v6.1.5-premium-beta.2 2025-02-03 13:55:55 +01:00
SPRINX0\prochazka
4556f81ed8 SSL connection fix 2025-02-03 13:38:33 +01:00
SPRINX0\prochazka
d59e8ea2df v6.1.5-premium-beta.1 2025-01-31 15:19:07 +01:00
SPRINX0\prochazka
eec3a679aa fix 2025-01-31 14:09:21 +01:00
SPRINX0\prochazka
098a6025a8 export screenshot 2025-01-31 13:58:39 +01:00
SPRINX0\prochazka
cdd1c34bc2 admin screenshots 2025-01-31 10:32:52 +01:00
SPRINX0\prochazka
cd90b53627 next tests + next test DBs 2025-01-31 08:47:16 +01:00
SPRINX0\prochazka
d16de0d2fb next E2E tests 2025-01-30 13:38:35 +01:00
SPRINX0\prochazka
1406e54894 job names 2025-01-30 08:24:02 +01:00
SPRINX0\prochazka
0618694220 fix 2025-01-30 08:22:08 +01:00
SPRINX0\prochazka
56c86bde30 test fix 2025-01-30 08:20:41 +01:00
SPRINX0\prochazka
93dc48c22c generate screenshots 2025-01-30 08:07:27 +01:00
SPRINX0\prochazka
9309f25126 removed e2e tests from run-tests workflow 2025-01-29 16:02:10 +01:00
SPRINX0\prochazka
f22adf3cc8 screenshot=>themeshot 2025-01-29 15:40:41 +01:00
SPRINX0\prochazka
bee7ec0cc7 next screenshots 2025-01-29 15:33:57 +01:00
SPRINX0\prochazka
8d19fae16a fix 2025-01-29 12:14:51 +01:00
SPRINX0\prochazka
b8a51083f8 next e2e tests 2025-01-29 10:59:20 +01:00
SPRINX0\prochazka
9baecaba86 fix 2025-01-29 08:53:21 +01:00
SPRINX0\prochazka
d8de4da059 fix 2025-01-29 08:41:06 +01:00
SPRINX0\prochazka
302fc2c832 fix 2025-01-29 08:40:07 +01:00
SPRINX0\prochazka
e552be8634 fix 2025-01-29 08:38:43 +01:00
SPRINX0\prochazka
425ed5a3f4 E2E tests 2025-01-29 08:27:15 +01:00
SPRINX0\prochazka
07021ae760 e2e tests data 2025-01-28 18:40:14 +01:00
SPRINX0\prochazka
9e06944fe7 generate screenshots 2025-01-28 18:01:36 +01:00
SPRINX0\prochazka
707ccf2d21 data 2025-01-28 13:25:33 +01:00
SPRINX0\prochazka
569b3f5e56 nexte E2E test DBS 2025-01-28 12:48:07 +01:00
SPRINX0\prochazka
f0812d74d6 screenshots fix 2025-01-28 10:52:56 +01:00
SPRINX0\prochazka
13a5addc43 debug print 2025-01-28 10:14:23 +01:00
SPRINX0\prochazka
2fc926861f screenshots fix 2025-01-28 09:47:40 +01:00
SPRINX0\prochazka
b6f76c5194 removed console log 2025-01-27 16:49:05 +01:00
SPRINX0\prochazka
51cd639671 load field values fix #1009 2025-01-27 16:47:44 +01:00
SPRINX0\prochazka
35362fbc9b fix 2025-01-27 14:42:12 +01:00
SPRINX0\prochazka
2b5858f81a screenshots action 2025-01-27 14:40:39 +01:00
SPRINX0\prochazka
8290100b80 v6.1.4 2025-01-27 12:52:11 +01:00
SPRINX0\prochazka
578e2d3928 changelog 2025-01-27 11:15:50 +01:00
SPRINX0\prochazka
4e5f320777 v6.1.4-beta.3 2025-01-27 11:07:39 +01:00
SPRINX0\prochazka
6b64928a4c Fixed CASE problem in ACE sql-server mode 2025-01-27 11:07:24 +01:00
SPRINX0\prochazka
7f95674113 changelog WIP 2025-01-27 11:04:25 +01:00
SPRINX0\prochazka
f47d082a0d v6.1.4-beta.2 2025-01-27 10:50:17 +01:00
SPRINX0\prochazka
a68a81b339 Show Data/Structure button in one place #1015 2025-01-27 10:40:38 +01:00
SPRINX0\prochazka
e0cf8026ef tab preview mode UX 2025-01-27 10:03:46 +01:00
SPRINX0\prochazka
a1db648318 Data view coloring (every second row) #1014 2025-01-27 09:32:17 +01:00
SPRINX0\prochazka
81ad7eac62 v6.1.4-beta.1 2025-01-24 16:13:09 +01:00
SPRINX0\prochazka
6c9913abaa fixed: Cannot expand tables and views returned from search #1000 2025-01-24 16:12:55 +01:00
SPRINX0\prochazka
e84af5af96 fixed Pin icon misplaced #1007 2025-01-24 14:59:09 +01:00
SPRINX0\prochazka
e574667651 better display of ObjectId on JSON view 2025-01-24 14:33:22 +01:00
SPRINX0\prochazka
4944bc4bca expand all, collapse all commands 2025-01-24 14:27:05 +01:00
SPRINX0\prochazka
c09c5e588a default action settings fix 2025-01-24 12:22:11 +01:00
SPRINX0\prochazka
893b072454 remove log 2025-01-24 12:02:43 +01:00
SPRINX0\prochazka
ba971e4a67 mongodb json view default collection page size #976 2025-01-24 11:47:53 +01:00
Jan Prochazka
82be1df5bf Merge pull request #1011 from dbgate/feature/null-safety-to-sql-generator
fix: ensure extract always return an array
2025-01-23 15:09:23 +01:00
Nybkox
abf5227b47 fix: ensure extract always return an array 2025-01-23 12:20:55 +01:00
SPRINX0\prochazka
0d3e39c479 SSL support for redis #691 2025-01-22 18:42:14 +01:00
SPRINX0\prochazka
d16bc83af0 Merge branch 'feature/redis-key-navigation' 2025-01-22 17:45:01 +01:00
SPRINX0\prochazka
79a246217a redis key selection by keyboard 2025-01-22 17:44:46 +01:00
SPRINX0\prochazka
4ea718b662 redis key navigation 2025-01-22 17:13:33 +01:00
SPRINX0\prochazka
41e5089ab3 redis key loading refactor 2025-01-22 16:35:54 +01:00
SPRINX0\prochazka
db86ae627f Merge branch 'feature/redis' 2025-01-22 09:41:03 +01:00
SPRINX0\prochazka
576fa40c1a redis key load optimalization 2025-01-22 09:40:49 +01:00
SPRINX0\prochazka
8287d5e400 redis loading keys UX 2025-01-22 09:32:26 +01:00
SPRINX0\prochazka
2e030f87a5 redis loading UX 2025-01-22 09:03:09 +01:00
SPRINX0\prochazka
4793bad92f redis load keys optimalization 2025-01-22 08:49:58 +01:00
SPRINX0\prochazka
0c35aefbe2 Redis Format Json #582 2025-01-21 18:36:25 +01:00
SPRINX0\prochazka
7a2390c025 fix 2025-01-21 16:57:44 +01:00
SPRINX0\prochazka
bf3dd2ae88 set redis client name #1004 2025-01-21 16:45:47 +01:00
SPRINX0\prochazka
e5b0cb724b UX fix 2025-01-21 15:58:45 +01:00
SPRINX0\prochazka
f7b520eb30 readme 2025-01-21 12:47:10 +01:00
SPRINX0\prochazka
4ad0782e59 aws build renamed 2025-01-20 15:20:08 +01:00
Jan Prochazka
0755f171ad changelog 2025-01-10 11:48:24 +01:00
Jan Prochazka
48796ec970 v6.1.3 2025-01-10 11:38:42 +01:00
Jan Prochazka
e8d32835d8 v6.1.3-premium-beta.4 2025-01-10 11:11:06 +01:00
SPRINX0\prochazka
56b6864b2c Merge branch 'feature/open-raw' 2025-01-09 17:08:45 +01:00
SPRINX0\prochazka
06be55514c raw data test 2025-01-09 17:07:30 +01:00
SPRINX0\prochazka
183438d2b5 raw data display #991 #962 2025-01-09 16:49:26 +01:00
SPRINX0\prochazka
5208a912a2 raw mode 2025-01-09 16:27:42 +01:00
SPRINX0\prochazka
9f0d8e91ba fixed oracle ILIKE #992 2025-01-09 16:07:14 +01:00
SPRINX0\prochazka
5dbbfe4612 v6.1.3-beta.2 2025-01-09 16:02:59 +01:00
SPRINX0\prochazka
f0eb8945e0 filter model test 2025-01-09 16:01:34 +01:00
SPRINX0\prochazka
d14a1449a3 fixed show detail in fulltest search 2025-01-09 15:45:03 +01:00
SPRINX0\prochazka
b5d0ba1220 data browser tests 2025-01-09 13:51:25 +01:00
SPRINX0\prochazka
436fb24e9f Merge branch 'feature/test-refactor' 2025-01-09 13:35:23 +01:00
SPRINX0\prochazka
df64bd1e84 fix 2025-01-09 13:27:53 +01:00
SPRINX0\prochazka
9457df9378 fix 2025-01-09 12:50:02 +01:00
SPRINX0\prochazka
f7ed9c3eda e2e test refactor 2025-01-09 12:43:32 +01:00
SPRINX0\prochazka
de1a1c923a integr test refactor 2025-01-09 12:30:20 +01:00
SPRINX0\prochazka
dec02f2456 fix 2025-01-09 12:07:33 +01:00
SPRINX0\prochazka
98ba5c7d9a workflow fix 2025-01-09 11:06:14 +01:00
SPRINX0\prochazka
defc92ee23 workflow fix 2025-01-09 11:03:15 +01:00
SPRINX0\prochazka
e9c435c892 cypress tests 2025-01-09 11:02:19 +01:00
Jan Prochazka
de90a314d6 Merge pull request #996 from dbgate/feature/filter-exts
feat: filter extentions on fe
2025-01-09 10:46:46 +01:00
Jan Prochazka
007eb84d22 Merge pull request #993 from dbgate/feature/drop-triggers-and-events
Feature/drop triggers and events
2025-01-09 10:46:17 +01:00
Nybkox
c640fd6df8 Merge pull request #997 from dbgate/feature/nvmrc
feat: add .nvmrc
2025-01-09 09:52:23 +01:00
Nybkox
1b41b44a15 feat: add .nvmrc 2025-01-09 09:51:56 +01:00
Nybkox
9316e68302 feat: filter extentions on fe 2025-01-09 09:36:21 +01:00
SPRINX0\prochazka
89fce420fa try to fix build 2025-01-09 08:43:30 +01:00
SPRINX0\prochazka
a47b060478 fix build 2025-01-09 08:31:07 +01:00
SPRINX0\prochazka
811935f1cd run tests without container 2025-01-09 08:27:24 +01:00
SPRINX0\prochazka
6712c8136f fix 2025-01-08 17:06:53 +01:00
SPRINX0\prochazka
2501cb170f try to use runner local ports for CI tests 2025-01-08 17:01:56 +01:00
SPRINX0\prochazka
3179f2d72c fixed test 2025-01-08 16:48:16 +01:00
SPRINX0\prochazka
9692c0c683 try to fix DEX OAUTH 2025-01-08 16:35:35 +01:00
SPRINX0\prochazka
2deff70218 add connection test 2025-01-08 16:35:16 +01:00
SPRINX0\prochazka
5aee12f543 fixed oauth test redirect 2025-01-08 16:15:49 +01:00
SPRINX0\prochazka
8a4ec82c4c database login - ask user - test connection 2025-01-08 16:14:51 +01:00
SPRINX0\prochazka
11201326fd try to fix dex dockerfile 2025-01-08 15:49:02 +01:00
SPRINX0\prochazka
328c772d35 kill-port didn't help 2025-01-08 15:38:32 +01:00
SPRINX0\prochazka
3f9fd6596d kill port in CY tests 2025-01-08 15:23:18 +01:00
SPRINX0\prochazka
0253b2795e dex config 2025-01-08 15:06:43 +01:00
Jan Prochazka
b25376a790 dex config 2025-01-08 15:05:57 +01:00
SPRINX0\prochazka
01f3f44369 oauth test WIP 2025-01-08 15:05:14 +01:00
Jan Prochazka
a3e8d64d4e dex config 2025-01-08 14:18:46 +01:00
SPRINX0\prochazka
2ee1250ccc dex config 2025-01-08 13:58:14 +01:00
SPRINX0\prochazka
86b1c82384 Merge branch 'feature/dbf' 2025-01-08 13:08:08 +01:00
SPRINX0\prochazka
a156ec942b DBF reader - log errors 2025-01-07 18:28:19 +01:00
SPRINX0\prochazka
48eb8badec fixed import preview 2025-01-07 17:52:26 +01:00
SPRINX0\prochazka
2521f05526 DBF reader plugin 2025-01-07 17:24:56 +01:00
Nybkox
618db79f6b feat: add sql generator to triggers and evets context menu 2025-01-07 16:47:16 +01:00
Nybkox
3089ce8ad6 feat: add triggers and scheduler events to sql generator 2025-01-07 16:35:01 +01:00
Nybkox
dd6021e96a feat: add drop option to triggers and events context menu 2025-01-07 14:57:33 +01:00
Jan Prochazka
79bf9016a3 Merge pull request #985 from dbgate/feature/mysql-event-scheduler
Feature/mysql event scheduler
2025-01-07 14:37:30 +01:00
Nybkox
202716e28c fix: show funcitons specific menu for functions 2025-01-07 14:35:40 +01:00
Nybkox
8c5e23f773 feat: show only 1 of disable/enable actions in events context menu 2025-01-07 14:29:17 +01:00
SPRINX0\prochazka
bf9374bf6e fixed test config 2025-01-07 13:59:42 +01:00
SPRINX0\prochazka
2087574363 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-01-07 13:39:24 +01:00
SPRINX0\prochazka
4765cbcfd4 Merge branch 'feature/portal-test' 2025-01-07 13:39:18 +01:00
SPRINX0\prochazka
a48c23d169 ask user test 2025-01-07 13:38:47 +01:00
Jan Prochazka
03982d4ad2 Merge pull request #981 from dbgate/feature/triggers-sqlite
Feature/triggers sqlite
2025-01-07 13:23:36 +01:00
SPRINX0\prochazka
e531a35f37 ask user portal conn 2025-01-07 13:19:44 +01:00
Nybkox
a8a5864ff0 fix: escape mysql event name in createSql 2025-01-07 13:18:23 +01:00
SPRINX0\prochazka
ee9ce66293 fix test env 2025-01-07 10:55:03 +01:00
SPRINX0\prochazka
a11b87a923 test fix 2025-01-07 10:45:56 +01:00
SPRINX0\prochazka
e3cd01aa2e portal test - import Chinook DB 2025-01-07 10:30:26 +01:00
SPRINX0\prochazka
bf92943a6a portal tests WIP 2025-01-07 09:32:18 +01:00
SPRINX0\prochazka
8d2c2cd62d focus query editor 2025-01-07 09:32:01 +01:00
Nybkox
029f24b079 feat: update dbgate-query-splitter tp 4.11.3 2025-01-07 09:20:59 +01:00
SPRINX0\prochazka
d9ca29b602 portal connection test 2025-01-06 14:56:16 +01:00
SPRINX0\prochazka
ddcfc127b7 Merge branch 'master' of https://github.com/dbgate/dbgate 2025-01-06 11:58:29 +01:00
SPRINX0\prochazka
0659691a72 Merge branch 'feature/ssh-tunnel-test' 2025-01-06 11:57:59 +01:00
SPRINX0\prochazka
4e7c8d8b1e added missing services 2025-01-06 10:42:51 +01:00
SPRINX0\prochazka
f477c03281 increase test timeout 2025-01-06 10:18:40 +01:00
SPRINX0\prochazka
362d4a5a0d test connect too SSH via keyfile 2025-01-06 10:16:58 +01:00
SPRINX0\prochazka
42ad78df58 keyfile - build containers 2025-01-06 09:46:57 +01:00
SPRINX0\prochazka
fef3ffd996 workflow fix 2025-01-06 09:29:27 +01:00
SPRINX0\prochazka
a5f824c778 changed location of mysql-ssh container 2025-01-06 09:00:56 +01:00
SPRINX0\prochazka
4f5bb563e8 JEST timeout 2025-01-06 08:35:15 +01:00
SPRINX0\prochazka
053ba471a6 SSH - handle SSH error 2025-01-06 08:24:14 +01:00
Jan Prochazka
066cd407a9 Merge pull request #986 from dbgate/feature/missing-factories
feat: add missing triggers and events factories
2025-01-05 08:05:02 +01:00
Jan Prochazka
b418dd8d12 Merge pull request #984 from freitasm/master
Update runners.js to fix small typo
2025-01-05 08:02:47 +01:00
Nybkox
1be73d8a4c fix: build enable/disable sql on frontend 2025-01-03 22:57:33 +01:00
SPRINX0\prochazka
aff282d31e ssh tunnel WIP 2025-01-03 16:44:57 +01:00
Nybkox
576a4fc2e5 feat: add missing triggers and events factories 2025-01-03 16:26:10 +01:00
Nybkox
e73356c8da feat: add schedulerEvents to tools 2025-01-03 15:02:03 +01:00
Nybkox
0ffe2d8811 fix: disable rename tests for mysql 2025-01-03 14:59:57 +01:00
Nybkox
c90011fc27 feat: scheduler events tests 2025-01-03 14:59:57 +01:00
Nybkox
891fb15290 feat: add scheduler events to ui 2025-01-03 14:59:57 +01:00
Nybkox
903297a1e9 feat: add scheduler events to analyser 2025-01-03 14:59:57 +01:00
SPRINX0\prochazka
59788faefd workflows 2025-01-03 08:14:49 +01:00
SPRINX0\prochazka
f5a6ca18f0 run test containers - standalone workflow 2025-01-03 08:12:11 +01:00
Mauricio Freitas
30690304bb Update runners.js
Fixed typo "no data retured"
2025-01-03 10:01:29 +13:00
SPRINX0\prochazka
144777da58 SSH - force IPv4 (use 127.0.0.1 instead of localhost) 2025-01-02 17:03:49 +01:00
SPRINX0\prochazka
28a206c7ed upgrade ssh2 2025-01-02 17:03:20 +01:00
SPRINX0\prochazka
72d29a293c skip changed detection 2025-01-02 15:58:15 +01:00
SPRINX0\prochazka
561b43fa13 fix 2025-01-02 15:57:12 +01:00
SPRINX0\prochazka
1e9dc89da1 fixed detection changed files 2025-01-02 15:56:26 +01:00
SPRINX0\prochazka
b4d1b9aa05 fix 2025-01-02 15:35:57 +01:00
SPRINX0\prochazka
77be448b41 fix 2025-01-02 14:13:24 +01:00
SPRINX0\prochazka
1ff2749c9b mysql ssh image 2025-01-02 14:11:07 +01:00
SPRINX0\prochazka
e5fb21daf6 workflows 2025-01-02 14:02:38 +01:00
SPRINX0\prochazka
c1ceea084b ssh connection test 2025-01-02 14:00:18 +01:00
Nybkox
9f4b55ce07 feat: sqlite triggers tests 2025-01-02 11:47:07 +01:00
Nybkox
01b7c42851 fix: prevent testing empty parameters 2025-01-02 11:41:00 +01:00
Nybkox
f0221f6e43 feat: sqlite triggers 2025-01-02 11:26:40 +01:00
Nybkox
30bbdb0f1d refactor: move sqlite queries to sql directory 2025-01-02 11:26:40 +01:00
Nybkox
a6f0bc78d4 fix: always show pin icon on the right 2025-01-02 10:59:22 +01:00
Jan Prochazka
ceb6a88964 Merge branch 'feature/workflow-refactor' 2024-12-30 15:25:39 +01:00
Jan Prochazka
a39fff8b3a ssh tunnel test disabled 2024-12-30 15:25:23 +01:00
Jan Prochazka
0cf3d5993c generated header 2024-12-30 08:28:25 +01:00
Jan Prochazka
2966484cda v6.1.3-beta.1 2024-12-30 08:23:36 +01:00
Jan Prochazka
ac3bb58106 generated workflows 2024-12-30 08:23:18 +01:00
Jan Prochazka
36e2f1bdee workflow templates 2024-12-30 08:11:18 +01:00
Jan Prochazka
70083bd870 workflows - defs support 2024-12-30 07:05:25 +01:00
Jan Prochazka
f7b39fca26 code cleanup 2024-12-29 09:57:33 +01:00
Jan Prochazka
70873e83bd docker pipeline refactor 2024-12-29 09:57:18 +01:00
Jan Prochazka
2858bba8b2 yaml replace changed 2024-12-28 21:16:52 +01:00
Jan Prochazka
bd0404fbaf fixes 2024-12-28 15:36:05 +01:00
Jan Prochazka
317f6256f6 fix 2024-12-28 15:28:34 +01:00
Jan Prochazka
6c9b738717 fix 2024-12-28 15:10:45 +01:00
Jan Prochazka
2f8c584af5 workflows 2024-12-28 15:03:38 +01:00
Jan Prochazka
d3b417679e workflow processor 2024-12-28 15:00:59 +01:00
Jan Prochazka
00dd8bfc72 fixed links to dbgate.org 2024-12-28 14:01:19 +01:00
Jan Prochazka
e1eea4adf3 fixed links to dbgate.org 2024-12-28 11:30:18 +01:00
Jan Prochazka
fd2d2e90d4 workflow refactor WIP 2024-12-27 08:34:17 +01:00
Jan Prochazka
f97b70ce45 v6.1.2 2024-12-26 08:05:17 +01:00
Jan Prochazka
45d79478fb workflow fixes 2024-12-26 08:05:03 +01:00
Jan Prochazka
a59f42bd62 v6.1.2-premium-beta.18 2024-12-26 07:47:14 +01:00
Jan Prochazka
a189fa7b6d fix 2024-12-26 07:46:58 +01:00
Jan Prochazka
794bc97207 v6.1.2-beta.17 2024-12-26 07:45:27 +01:00
Jan Prochazka
24f7def7ab v6.1.2-premium-beta.16 2024-12-26 07:45:16 +01:00
Jan Prochazka
01071c236e notarization log 2024-12-26 07:44:53 +01:00
Jan Prochazka
a6326ac9fa v6.1.2-premium-beta.15 2024-12-26 07:37:36 +01:00
Jan Prochazka
4c6d409be8 print notarization log 2024-12-26 07:37:19 +01:00
Jan Prochazka
44ad8e51a5 v6.1.2-premium-beta.14 2024-12-26 07:18:26 +01:00
Jan Prochazka
e82578adfb v6.1.2-beta.14 2024-12-26 07:17:52 +01:00
Jan Prochazka
24f28b559e pro app build 2024-12-26 07:17:24 +01:00
Jan Prochazka
b086a5d3d2 prevent double upload snap 2024-12-25 21:32:17 +01:00
Jan Prochazka
bb0b87b770 v6.1.2-beta.13 2024-12-25 20:20:26 +01:00
Jan Prochazka
aa4f82fa98 fix 2024-12-25 20:20:10 +01:00
Jan Prochazka
873ace4170 v6.1.2-beta.12 2024-12-25 19:51:24 +01:00
Jan Prochazka
5a9d8ba0a7 fix 2024-12-25 19:51:16 +01:00
Jan Prochazka
07f0fdcc1c v6.1.2-beta.11 2024-12-25 19:43:27 +01:00
Jan Prochazka
ff7ee4fb98 fix 2024-12-25 19:43:16 +01:00
Jan Prochazka
b1f5b62757 v6.1.2-beta.10 2024-12-25 19:39:37 +01:00
Jan Prochazka
a67c857204 python 3.11 fix 2024-12-25 19:39:26 +01:00
Jan Prochazka
4032c53a30 v6.1.2-beta.9 2024-12-25 12:19:09 +01:00
Jan Prochazka
0a37ed74d9 electron reverted to version 30 2024-12-25 12:18:58 +01:00
Jan Prochazka
f07efe440a v6.1.2-beta.8 2024-12-25 12:09:35 +01:00
Jan Prochazka
2d5e67802d removed mongodb-client-encryption from community build 2024-12-25 12:09:25 +01:00
Jan Prochazka
7b8e013084 v6.1.2-beta.7 2024-12-25 11:29:42 +01:00
Jan Prochazka
b69fc04b5c try to upgrade electron 2024-12-25 11:29:23 +01:00
Jan Prochazka
b6dfdd4741 v6.1.2-beta.6 2024-12-25 11:14:10 +01:00
Jan Prochazka
ff3985a542 upgraded mongodb-client-encryption 2024-12-25 11:13:54 +01:00
Jan Prochazka
9c7e1dcaf1 v6.1.2-beta.5 2024-12-25 10:44:39 +01:00
Jan Prochazka
48eb09687c app build - node version 22 2024-12-25 10:44:02 +01:00
Jan Prochazka
86b339535d updated electron builder 2024-12-25 10:42:49 +01:00
Jan Prochazka
576b6dc774 v6.1.2-beta.4 2024-12-25 10:28:26 +01:00
Jan Prochazka
18ca971f67 try to use electron notarize 2024-12-25 10:28:10 +01:00
Jan Prochazka
3916a5e6e8 fixed ssh tunnel connection test #972 #973 2024-12-25 09:49:23 +01:00
Jan Prochazka
1446fdad5e v6.1.2-beta.3 2024-12-23 09:52:31 +01:00
Jan Prochazka
1478886e04 fix 2024-12-23 09:52:22 +01:00
Jan Prochazka
54d61790a9 v6.1.2-beta.2 2024-12-23 09:27:28 +01:00
Jan Prochazka
bb638fd8db fix 2024-12-23 09:27:14 +01:00
Jan Prochazka
e3a2589517 v6.1.2-beta.1 2024-12-23 09:21:42 +01:00
Jan Prochazka
6f557a6463 print notarization error 2024-12-23 09:21:31 +01:00
Jan Prochazka
323f27f6e4 changelog 2024-12-23 07:06:36 +01:00
Jan Prochazka
8d4a38dccb v6.1.1 2024-12-23 07:06:12 +01:00
SPRINX0\prochazka
54a3b30e83 Merge branch 'master' of https://github.com/dbgate/dbgate 2024-12-20 13:45:41 +01:00
SPRINX0\prochazka
6251bcd8fd changelog 2024-12-20 13:45:39 +01:00
SPRINX0\prochazka
e42099c1a9 v6.1.1-beta.1 2024-12-20 12:57:25 +01:00
Jan Prochazka
b07ee91cf9 fixed oracle export + clickhouse test 2024-12-20 12:23:29 +01:00
Jan Prochazka
62c028fc3c export test finished 2024-12-20 11:33:28 +01:00
SPRINX0\prochazka
07ea575b0f fixed postgres export + export tests #970 2024-12-20 11:17:43 +01:00
SPRINX0\prochazka
ee78786974 #968 mysql table comment fix 2024-12-20 10:47:14 +01:00
SPRINX0\prochazka
e1814663cd trigger fulltext search 2024-12-20 10:40:57 +01:00
SPRINX0\prochazka
6ae3e019ff ux 2024-12-20 10:38:29 +01:00
Jan Prochazka
cadf539c3d fixed diff for triggers 2024-12-20 10:30:05 +01:00
Jan Prochazka
51929d7ef7 some tests fixed 2024-12-20 10:23:49 +01:00
Jan Prochazka
0edc7f077f test trigger createSql 2024-12-20 09:26:53 +01:00
SPRINX0\prochazka
2488cee7ea test definition refactor 2024-12-20 09:03:30 +01:00
SPRINX0\prochazka
edf64db69a search settings improvement 2024-12-20 08:42:30 +01:00
SPRINX0\prochazka
c65bf51dcd Merge branch 'feature/parameters-oracle' 2024-12-20 07:46:51 +01:00
Nybkox
effe235a95 feat: oracle parameters 2024-12-19 16:06:56 +01:00
Nybkox
583d1494c2 feat: fallback to position if param does not have name 2024-12-19 12:50:50 +01:00
Nybkox
983daf0d1c feat: add options position to params typing 2024-12-19 12:09:25 +01:00
Jan Prochazka
756ddf1a8b Merge pull request #969 from dbgate/feature/triggers
Feature/triggers
2024-12-19 12:09:08 +01:00
Nybkox
9ccd647d97 fix: update triggers typing to cover all oracle timing options 2024-12-19 11:55:22 +01:00
Nybkox
dc9bfdc553 fix: update pssql triggers query to match ts def 2024-12-19 10:50:39 +01:00
Nybkox
af4e91faba fix: update oracle triggers test create queries 2024-12-19 10:46:40 +01:00
Nybkox
394020157b fix: update oracle triggers tests expected values 2024-12-19 10:26:48 +01:00
Nybkox
f16aab12e1 fix: add trigger event type to oracle triggers query 2024-12-19 10:17:16 +01:00
Nybkox
e08216d6dd feat: mssql triggers tests 2024-12-19 10:13:15 +01:00
Nybkox
ebb4f8e73e fix: mssql triggers query naming 2024-12-19 10:13:04 +01:00
Nybkox
b9939e5d5f fix: correctly map mysql triggers sql output 2024-12-19 09:58:54 +01:00
Nybkox
9eb3bca8d6 feat: add other create/drop for triggers tests 2024-12-19 09:54:17 +01:00
Nybkox
022f263bf9 fix: update pssql triggers test sql 2024-12-19 09:53:47 +01:00
Nybkox
56972652d5 fix: pssql triggers - map tgtype to timing / event type correctly 2024-12-19 09:53:11 +01:00
SPRINX0\prochazka
d75b9e2688 ace-builds patch #954 2024-12-19 09:21:57 +01:00
Nybkox
d2c5440e39 feat: pssql tirgger test 2024-12-19 08:33:26 +01:00
Jan Prochazka
8ff30e426e fix - expand limited when accessing bykeyboard nav 2024-12-18 14:13:01 +01:00
Jan Prochazka
7cdbef609e arm-64 builds 2024-12-18 10:59:21 +01:00
Jan Prochazka
f6195a468d v6.1.0 2024-12-18 10:37:54 +01:00
Jan Prochazka
c23bf72d55 changelog 2024-12-18 10:35:54 +01:00
Jan Prochazka
c02441402b fixed search in list 2024-12-18 10:22:02 +01:00
Jan Prochazka
b9a8764b55 fixed search 2024-12-18 10:01:52 +01:00
Jan Prochazka
a2374c1981 v6.0.1-beta.6 2024-12-18 09:39:57 +01:00
Jan Prochazka
9cfd5af704 prevent jump to first item when focusing because of mouse 2024-12-18 09:37:40 +01:00
Jan Prochazka
a6f473b8ed better connection UX 2024-12-18 09:08:42 +01:00
Jan Prochazka
e0a74402cb dropdown for default database 2024-12-18 08:43:51 +01:00
Jan Prochazka
c6e57b278e use default database 2024-12-18 08:18:09 +01:00
Jan Prochazka
e63f1f8f09 clickAction refactor, settings - open detail after keyboard navigation 2024-12-18 08:08:45 +01:00
Nybkox
e866c019f0 feat: mysql and oracle triggers tests 2024-12-18 06:09:30 +01:00
Nybkox
5f4bd6d3e3 fix: triggers typing and yaml conv 2024-12-18 06:05:49 +01:00
SPRINX0\prochazka
57da9c9885 changelog wip 2024-12-17 17:17:31 +01:00
SPRINX0\prochazka
e6a3acf4c2 search GUI improved 2024-12-17 16:27:54 +01:00
SPRINX0\prochazka
537869e862 data grid - no rows info 2024-12-17 16:03:21 +01:00
SPRINX0\prochazka
ae2ff7b3b1 fixed display CLOB an NCLOB columns in Oracle #944 2024-12-17 15:31:10 +01:00
SPRINX0\prochazka
1db01dbdb1 optimalization 2024-12-17 14:59:44 +01:00
SPRINX0\prochazka
7988438dc7 fix search connections 2024-12-17 14:43:05 +01:00
SPRINX0\prochazka
3b32823f94 v6.0.1-beta.5 2024-12-17 14:29:56 +01:00
SPRINX0\prochazka
3370c754f2 try to fix postgres plugin 2024-12-17 14:29:45 +01:00
SPRINX0\prochazka
2d84e5a611 dataGrid align numbers right #957 2024-12-17 13:43:21 +01:00
SPRINX0\prochazka
8d5f73849e upgraded ace-builds #954 2024-12-17 12:42:09 +01:00
SPRINX0\prochazka
7a5019164a configurable search in connections 2024-12-17 12:26:50 +01:00
SPRINX0\prochazka
f5733ea2d7 handle camelCase in tokenizer 2024-12-17 10:16:19 +01:00
Nybkox
413287c691 fix: remove triggerName 2024-12-17 10:16:07 +01:00
Nybkox
9e941dfce2 feat: add triggers to ui 2024-12-17 10:16:07 +01:00
Nybkox
d32af771dc fix: add purename to trigger analysers 2024-12-17 10:16:07 +01:00
Nybkox
1c84f40bcf feat: add triggers loading message 2024-12-17 10:16:06 +01:00
Nybkox
671eba22e0 feat: add oracle triggers to analyser 2024-12-17 10:16:06 +01:00
Nybkox
c00cb3076c feat: add mysql triggers to analyser 2024-12-17 10:16:06 +01:00
Nybkox
62daa13e54 feat: add mssql triggers to analyser 2024-12-17 10:16:06 +01:00
Nybkox
4cc0a66a7d feat: add pssql triggers to analyser 2024-12-17 10:16:06 +01:00
SPRINX0\prochazka
92e13220d8 tokenized search in references 2024-12-17 10:12:45 +01:00
SPRINX0\prochazka
2a5fdd852a search tokenizer optimalization 2024-12-17 10:09:52 +01:00
SPRINX0\prochazka
7759fd862f ability to disable tab preview mode 2024-12-17 09:34:16 +01:00
SPRINX0\prochazka
ca5dd0ac30 v6.0.1-beta.4 2024-12-16 17:01:39 +01:00
SPRINX0\prochazka
18be29fd88 Merge branch 'feature/search' 2024-12-16 17:01:26 +01:00
SPRINX0\prochazka
6ea54a5b0a tokenized column search 2024-12-16 17:01:05 +01:00
SPRINX0\prochazka
5d294f6236 camel search tokenizer 2024-12-16 16:58:10 +01:00
SPRINX0\prochazka
5544b6291b search tokenizer 2024-12-16 16:50:17 +01:00
SPRINX0\prochazka
bf4841bca4 filter name optimalization 2024-12-16 16:23:55 +01:00
SPRINX0\prochazka
358a641449 refactor - not working 2024-12-16 15:53:52 +01:00
SPRINX0\prochazka
7e1ceb69ae UX fix 2024-12-16 15:36:26 +01:00
SPRINX0\prochazka
939f04ae62 optimalization 2024-12-16 15:19:54 +01:00
SPRINX0\prochazka
2fc2ac491c find in SQL text 2024-12-16 14:45:38 +01:00
SPRINX0\prochazka
20a5a50516 rename file 2024-12-16 14:10:18 +01:00
SPRINX0\prochazka
0932f4c537 search columns WIP 2024-12-16 14:08:19 +01:00
SPRINX0\prochazka
c46c9a4e16 lisgt matcher refactor 2024-12-16 13:08:59 +01:00
SPRINX0\prochazka
a20b4b3339 search settings 2024-12-16 11:47:53 +01:00
SPRINX0\prochazka
dc302f89c7 Display comments into TABLES and COLUMNS lists #755 2024-12-16 09:46:07 +01:00
SPRINX0\prochazka
f5a2d142e2 fixed [MSSQL] Foreign keys show up in a weird way #734 2024-12-16 08:26:25 +01:00
SPRINX0\prochazka
1020a5820b Merge branch 'master' of https://github.com/dbgate/dbgate 2024-12-13 16:27:17 +01:00
SPRINX0\prochazka
deb13505b8 fixed loading constraints #734 2024-12-13 16:27:14 +01:00
Jan Prochazka
71c06e31f7 sql terminator in oracle routines 2024-12-13 15:06:12 +01:00
Jan Prochazka
a203480a72 oracle function tests 2024-12-13 15:06:12 +01:00
Jan Prochazka
c0fcd681be oracle procedure & function analyser 2024-12-13 15:06:12 +01:00
Jan Prochazka
7402bb6823 test fix 2024-12-13 15:06:11 +01:00
Jan Prochazka
35d791bee4 fixed some tests 2024-12-13 15:06:11 +01:00
Jan Prochazka
ad4a599800 oracle view fix 2024-12-13 15:06:11 +01:00
Jan Prochazka
33db85f03b oracle tests 2024-12-13 15:06:11 +01:00
Jan Prochazka
ec5d05fc26 oracle fixes 2024-12-13 15:06:11 +01:00
Jan Prochazka
face7ecdb5 rename sql object oracle 2024-12-13 15:06:11 +01:00
Jan Prochazka
6035319035 uncommented oracle container for tests 2024-12-13 15:06:11 +01:00
Jan Prochazka
e698da71fb oracle tests - run on CI 2024-12-13 15:06:11 +01:00
Jan Prochazka
b466de781a oracle - rename table, deploy scripts passes 2024-12-13 15:06:11 +01:00
Jan Prochazka
e5d583310d merged tests pipelines 2024-12-13 15:06:11 +01:00
Jan Prochazka
f72dbf19c2 driver tests 2024-12-13 15:06:11 +01:00
Jan Prochazka
10538a04b4 oracle import pass 2024-12-13 15:06:11 +01:00
Jan Prochazka
d71452a397 oracle - implemented scope identity 2024-12-13 15:06:11 +01:00
Jan Prochazka
3f45bfcdd0 select scope identity test 2024-12-13 15:06:11 +01:00
Jan Prochazka
545e9863b6 fix identity test 2024-12-13 15:06:11 +01:00
Jan Prochazka
a37f2a5240 select scope identity test 2024-12-13 15:06:11 +01:00
Jan Prochazka
d6b4c0a96b oracle alter table passes 2024-12-13 15:06:11 +01:00
Jan Prochazka
d56e917b3f oracle query spec passed 2024-12-13 15:06:11 +01:00
Jan Prochazka
860c811504 oracle table-create test passes 2024-12-13 15:06:11 +01:00
Jan Prochazka
c93e8c35ec table-analyse oracle tests pass 2024-12-13 15:06:11 +01:00
Jan Prochazka
5278e5da0c fixed oracle index analyser 2024-12-13 15:06:11 +01:00
Jan Prochazka
e7e3c307fc table analyse refactor (works on oracle) 2024-12-13 15:06:11 +01:00
Jan Prochazka
e9af85038e try to use smaller oracle image 2024-12-13 15:06:11 +01:00
Jan Prochazka
bf04721e36 run oracle tests on CI 2024-12-13 15:06:11 +01:00
SPRINX0\prochazka
a810dc4204 focused connection changes 2024-12-13 10:48:42 +01:00
Jan Prochazka
faad82fc34 Merge pull request #961 from dbgate/feature/postgis-geo
feat: transform geography binary data to wkt
2024-12-12 16:47:29 +01:00
Nybkox
b8ae53db7d feat: transform geography binary data to wkt 2024-12-12 16:37:54 +01:00
Jan Prochazka
1571295ab6 focus UX 2024-12-12 16:29:12 +01:00
Jan Prochazka
d3cc3a92c1 v6.0.1-beta.3 2024-12-12 16:15:18 +01:00
Jan Prochazka
381dc6a535 Add apple silicon only build #949 2024-12-12 16:15:03 +01:00
Jan Prochazka
6b9df571af handler UX scroll problem 2024-12-12 16:06:36 +01:00
Jan Prochazka
897547371e configurable connection click, database click #959 2024-12-12 15:53:00 +01:00
Jan Prochazka
bf85a922ca first oracle test works 2024-12-10 16:03:26 +01:00
Jan Prochazka
00525f6b81 oracle tests WIP 2024-12-10 15:40:15 +01:00
SPRINX0\prochazka
6dd27eb34f basic auth check config #934 2024-12-10 13:11:03 +01:00
SPRINX0\prochazka
0b30386fee e2e test config 2024-12-10 08:48:53 +01:00
SPRINX0\prochazka
1f7f0ea8a2 Merge branch 'feature/e2e-tests' 2024-12-10 08:33:52 +01:00
SPRINX0\prochazka
0ae0cee766 renamed test job 2024-12-10 08:33:28 +01:00
SPRINX0\prochazka
4cbc7f3ae5 connect test 2024-12-09 17:22:29 +01:00
SPRINX0\prochazka
f1cd0ab689 fix tests 2024-12-09 17:13:32 +01:00
SPRINX0\prochazka
7f367a1f84 test fixes 2024-12-09 16:52:02 +01:00
SPRINX0\prochazka
5405b9bf72 cypress run server inline test 2024-12-09 16:32:56 +01:00
SPRINX0\prochazka
75f75d95a6 ux tests 2024-12-09 15:41:50 +01:00
SPRINX0\prochazka
ae5c539e31 UI tests 2024-12-09 15:33:45 +01:00
SPRINX0\prochazka
e7797cedc1 try to fix test 2024-12-09 15:11:38 +01:00
SPRINX0\prochazka
f3c3ddd73a e2e on CI 2024-12-09 14:51:56 +01:00
SPRINX0\prochazka
c201f06103 fixed workflow 2024-12-09 13:45:40 +01:00
SPRINX0\prochazka
111a3a678f cypress test WIP 2024-12-09 13:44:08 +01:00
SPRINX0\prochazka
51c4964003 fixed deps 2024-12-06 16:48:15 +01:00
SPRINX0\prochazka
5fac064a48 update deps 2024-12-06 16:41:22 +01:00
SPRINX0\prochazka
e84f45ae39 fix 2024-12-06 16:39:56 +01:00
SPRINX0\prochazka
7e119d40a4 e2e tests 2024-12-06 16:38:42 +01:00
SPRINX0\prochazka
22b47d1066 e2e test in github 2024-12-06 16:12:51 +01:00
SPRINX0\prochazka
ac0ea6a937 cy - connect to mysql 2024-12-06 15:46:23 +01:00
SPRINX0\prochazka
ed7bfe0c21 e2e tests branch 2024-12-06 14:36:59 +01:00
SPRINX0\prochazka
55cac14ecf v6.0.1-packer-beta.2 2024-12-06 14:14:39 +01:00
SPRINX0\prochazka
691635c5d1 changed volatile deps 2024-12-06 14:14:27 +01:00
SPRINX0\prochazka
9209a2d7d3 v6.0.1-packer-beta.1 2024-12-06 13:16:08 +01:00
Jan Prochazka
05b044d965 Merge pull request #953 from dbgate/featrue/callable-templates
feat: myssql callable template
2024-12-05 15:40:43 +01:00
Nybkox
e231a3a41a feat: pssql callable template 2024-12-05 15:32:33 +01:00
Nybkox
216614a4b1 feat: allow dollar dollar string in query params 2024-12-05 15:32:23 +01:00
Nybkox
ae19d14951 feat: add return type to pssql funcs 2024-12-05 15:31:50 +01:00
Nybkox
7f639361b8 feat: myssql callable template 2024-12-05 12:45:49 +01:00
SPRINX0\prochazka
ba706b85d3 changelog 2024-12-05 12:25:13 +01:00
SPRINX0\prochazka
3b91d921e8 v6.0.0 2024-12-05 12:11:30 +01:00
SPRINX0\prochazka
660555d664 v6.0.0-premium-beta.6 2024-12-05 10:20:52 +01:00
SPRINX0\prochazka
3550710f23 fix 2024-12-05 10:20:18 +01:00
SPRINX0\prochazka
1429c29537 v6.0.0-premium-beta.5 2024-12-05 10:16:26 +01:00
SPRINX0\prochazka
95113490f1 disabled aws build 2024-12-05 10:16:11 +01:00
SPRINX0\prochazka
1eafdb944a fix redirect 2024-12-05 10:15:32 +01:00
SPRINX0\prochazka
a32cd0b2ae typo 2024-12-05 09:56:24 +01:00
SPRINX0\prochazka
249fbf3f96 v6.0.0-beta.4 2024-12-04 14:39:43 +01:00
SPRINX0\prochazka
64877af64a changed build envfrom macos12 to macos14 2024-12-04 14:39:32 +01:00
SPRINX0\prochazka
ff94e46179 v6.0.0-beta.3 2024-12-04 14:19:13 +01:00
SPRINX0\prochazka
921bd4613a fix 2024-12-04 14:17:42 +01:00
SPRINX0\prochazka
6f4a49ea97 refactor 2024-12-04 14:15:13 +01:00
SPRINX0\prochazka
9029fccad4 default parameter encoding for execute scripts 2024-12-04 13:45:12 +01:00
SPRINX0\prochazka
edf3a072c5 tsql call 2024-12-04 13:27:20 +01:00
SPRINX0\prochazka
0fde8c49a7 generate SQL - execute procedure TSQL 2024-12-04 13:15:06 +01:00
SPRINX0\prochazka
767c835a8e parameters in db struct extender 2024-12-04 12:40:12 +01:00
SPRINX0\prochazka
38f0223dc0 UX 2024-12-04 10:51:26 +01:00
SPRINX0\prochazka
ec707b5af3 up-to-date sql object info tab 2024-12-04 10:44:43 +01:00
SPRINX0\prochazka
462d5e3187 removed schemaName from mysql 2024-12-04 10:23:16 +01:00
SPRINX0\prochazka
5cc4c07941 fix - mysql has not schema 2024-12-04 10:16:58 +01:00
SPRINX0\prochazka
20de78f88a table editor - mark tab unsaved 2024-12-04 10:00:03 +01:00
SPRINX0\prochazka
a63d70ca7e handled "driver not found" error 2024-12-04 09:52:06 +01:00
SPRINX0\prochazka
672d6b88b2 Merge branch 'master' of https://github.com/dbgate/dbgate 2024-12-04 07:46:06 +01:00
SPRINX0\prochazka
add1612c92 6.0 changelog 2024-12-04 07:46:04 +01:00
Jan Prochazka
96b964e609 Merge pull request #952 from dbgate/feature/mariadb-indexes-collation
feat: add collation to maria db indexes query and analyser
2024-12-04 07:07:56 +01:00
Nybkox
6b40190097 feat: add collation to maria db indexes query and analyser 2024-12-03 19:28:16 +01:00
SPRINX0\prochazka
f5b0bc5605 v6.0.0-premium-beta.2 2024-12-03 18:00:43 +01:00
SPRINX0\prochazka
64a58252e5 reverted tmp change 2024-12-03 17:56:51 +01:00
SPRINX0\prochazka
46571684f6 v6.0.0-alpha.1 2024-12-03 17:52:09 +01:00
SPRINX0\prochazka
710022539b tmp change 2024-12-03 17:51:36 +01:00
SPRINX0\prochazka
bc75d559b0 fix 2024-12-03 17:50:53 +01:00
SPRINX0\prochazka
a82ee5cc65 v6.0.0-alpha.1 2024-12-03 17:41:51 +01:00
SPRINX0\prochazka
6647dd16f8 tmp version change 2024-12-03 17:41:12 +01:00
SPRINX0\prochazka
6f4e1e07f7 fix - build pro NPM 2024-12-03 17:39:50 +01:00
SPRINX0\prochazka
5cd951a9c1 v6.0.0-alpha.1 2024-12-03 17:25:52 +01:00
SPRINX0\prochazka
f492a215b4 changed NPM versions to 6.0 2024-12-03 17:22:37 +01:00
SPRINX0\prochazka
bbd2d74a28 v5.5.7-beta.69 2024-12-03 17:00:57 +01:00
SPRINX0\prochazka
2b697e21ba Merge branch 'master' of https://github.com/dbgate/dbgate 2024-12-03 17:00:46 +01:00
SPRINX0\prochazka
3a4e4ecbdc fix 2024-12-03 17:00:44 +01:00
SPRINX0\prochazka
05cbb915d6 v5.5.7-alpha.68 2024-12-03 16:38:01 +01:00
SPRINX0\prochazka
26a2bb75fa v5.5.7-beta.67 2024-12-03 16:35:18 +01:00
Jan Prochazka
71b0bb78ec Merge pull request #947 from dbgate/feature/parameters
Feature/parameters
2024-12-03 16:27:28 +01:00
Nybkox
4e4eb39a19 fix: remove distinct from mysql params query 2024-12-03 16:19:57 +01:00
Jan Prochazka
b6399c8271 try to fix test 2024-12-03 16:05:23 +01:00
SPRINX0\prochazka
eb4a764407 correctly show focus in form view 2024-12-03 15:41:46 +01:00
Nybkox
27188eb2c5 fix: normalize type name for mysql params 2024-12-03 15:39:22 +01:00
Nybkox
57a997adc3 fix: expect decimal for numeric params in mysql tests 2024-12-03 15:39:05 +01:00
Nybkox
a72a03cc3a fix: add null safety for mysql function w/o params 2024-12-03 15:33:11 +01:00
Nybkox
bb185d9e9f fix: add join on schema for mysql params query 2024-12-03 15:32:33 +01:00
Nybkox
0298660714 fix: add shchema to mysql programables query 2024-12-03 15:32:21 +01:00
SPRINX0\prochazka
8bf1dbb10d recent & unsaved connection folder 2024-12-03 15:30:02 +01:00
SPRINX0\prochazka
8e5ef98a7c unsaved connections limit 2024-12-03 15:20:28 +01:00
SPRINX0\prochazka
72bd536aec show unsaved connections in connection tree 2024-12-03 14:54:22 +01:00
Nybkox
1a4009a6b2 chore: remove unused query results 2024-12-03 14:13:31 +01:00
Nybkox
e40357c052 fix: replace fullDataType with dataType in mssql params 2024-12-03 14:11:26 +01:00
Nybkox
222ea07cf2 fix: update mssql params queries 2024-12-03 14:11:04 +01:00
SPRINX0\prochazka
6b3f398de3 fixed keyboard navigation 2024-12-03 13:53:06 +01:00
SPRINX0\prochazka
d796fa7ff4 connection menu refactor 2024-12-03 13:37:36 +01:00
SPRINX0\prochazka
6fdfd8717f Open form removed from default actions 2024-12-03 13:31:26 +01:00
Nybkox
81cea4c0f2 fix: pssql params to string helper 2024-12-03 13:07:50 +01:00
SPRINX0\prochazka
6a64633650 fixed menu for non-mac 2024-12-03 13:07:02 +01:00
Nybkox
21702f1593 fix: do not fetch pssql params w/o name 2024-12-03 13:03:05 +01:00
Nybkox
32ddb9c4c7 fix: normalize pssql parameters datatype 2024-12-03 13:02:46 +01:00
Nybkox
10fc62ceb7 fix: do not order pssql params by name 2024-12-03 13:02:40 +01:00
Nybkox
d3018a3136 fix: correct function name in tests 2024-12-03 13:02:39 +01:00
Jan Prochazka
f9bcbd588b mac keyboard menu 2024-12-03 12:52:04 +01:00
Nybkox
5c7d2bfd85 fix: update parameter group keys 2024-12-03 11:01:47 +01:00
SPRINX0\prochazka
788f0ebf77 show error for current connection 2024-12-03 10:53:59 +01:00
Nybkox
0eca5dd95d fix: typos 2024-12-03 10:37:36 +01:00
SPRINX0\prochazka
47322b0bbb expand/collapse tables 2024-12-03 10:23:54 +01:00
SPRINX0\prochazka
518a05a6f0 expand/collapse DB with keyboard 2024-12-03 10:16:51 +01:00
Jan Prochazka
352e426e17 fix 2024-12-03 09:48:56 +01:00
Jan Prochazka
666122f265 add mysql create/drop procedure test 2024-12-03 09:46:12 +01:00
SPRINX0\prochazka
61e32f6d95 query designer moved to premium 2024-12-03 08:39:05 +01:00
SPRINX0\prochazka
7aabc8f0be refresh licenses 2024-12-02 17:36:56 +01:00
Jan Prochazka
a66dc03b99 params test - added object for test parent object match 2024-11-29 10:48:15 +01:00
Jan Prochazka
cf5ecb3150 test create SQL 2024-11-29 10:44:09 +01:00
Jan Prochazka
46c365c5cd mysql parameter types 2024-11-29 10:29:12 +01:00
Jan Prochazka
ea76751e4a postgres function tests 2024-11-29 10:06:34 +01:00
Jan Prochazka
0bef3f8e71 postgre procedure type tests 2024-11-29 09:57:46 +01:00
Jan Prochazka
c26c9fae12 mssql parameters test 2024-11-29 09:35:15 +01:00
Jan Prochazka
446c615bb8 typo 2024-11-29 08:47:13 +01:00
Nybkox
c516873541 feat: add parameters to mysql 2024-11-28 21:35:26 +01:00
Nybkox
d4326de087 fix: proceduresParameters mssql query 2024-11-28 21:07:59 +01:00
Nybkox
eca966bb90 fix: add null safety to getParametersSqlString 2024-11-28 21:07:59 +01:00
Nybkox
262b4732e3 feat: use parameterMode instead of isOutputParameter 2024-11-28 21:07:59 +01:00
Nybkox
7f9a30f568 fix: add missing conditions for pssql parameters query 2024-11-28 21:07:59 +01:00
Nybkox
a89d2e1365 fix: add missing conditions for mssql parameters queries 2024-11-28 21:07:59 +01:00
Nybkox
fcd6f6c8fc fix: correcttly map parameters to object list 2024-11-28 21:07:59 +01:00
Nybkox
8313d7f9f1 fix: update mssql parameters query to match ParameterInfo 2024-11-28 21:07:59 +01:00
Nybkox
3a12601103 feat: add parameters to createSql for pssql 2024-11-28 21:07:59 +01:00
Nybkox
926949dc89 fix: remove redundant field from ParameterInfo 2024-11-28 21:07:59 +01:00
Nybkox
6b155083ef feat: stored procedures and funciton parameters support for pssql 2024-11-28 21:07:59 +01:00
Nybkox
2b2ecac3ab feat: stored procedures and funciton parameters support for mssql 2024-11-28 21:07:59 +01:00
Jan Prochazka
35e9ff607d v5.5.7-beta.66 2024-11-28 18:47:35 +01:00
Jan Prochazka
ae037834f2 connections UX 2024-11-28 18:45:39 +01:00
Jan Prochazka
3ac24436ba focused connection widget 2024-11-28 18:17:22 +01:00
Jan Prochazka
2ca17e826c connection tree UX 2024-11-28 17:53:22 +01:00
SPRINX0\prochazka
4fb6128499 v5.5.7-premium-beta.65 2024-11-28 15:12:52 +01:00
SPRINX0\prochazka
c359332746 v5.5.7-beta.64 2024-11-28 15:11:54 +01:00
SPRINX0\prochazka
1cd8e8e376 typo 2024-11-28 15:02:27 +01:00
SPRINX0\prochazka
48ec2bdac8 connections UX 2024-11-28 14:59:19 +01:00
SPRINX0\prochazka
2283e91532 v5.5.7-beta.63 2024-11-27 18:30:05 +01:00
SPRINX0\prochazka
647894ad60 fix 2024-11-27 18:28:45 +01:00
SPRINX0\prochazka
574573abbb fix 2024-11-27 18:28:17 +01:00
SPRINX0\prochazka
a735a03cd7 fix 2024-11-27 18:27:11 +01:00
SPRINX0\prochazka
83881a0dac docker build fix 2024-11-27 18:26:05 +01:00
SPRINX0\prochazka
c04c6bbd2c v5.5.7-beta.62 2024-11-26 16:20:53 +01:00
SPRINX0\prochazka
42bbbc7ff4 fix job 2024-11-26 16:20:29 +01:00
SPRINX0\prochazka
1ecffeda71 default action improved & configurable 2024-11-26 15:19:39 +01:00
SPRINX0\prochazka
92992d1e95 ctx menu - open in new window 2024-11-26 14:19:20 +01:00
SPRINX0\prochazka
bc9df9750f single connection mode list handler 2024-11-26 12:47:36 +01:00
SPRINX0\prochazka
27e70e8031 new UX - fixed support for singledb connections 2024-11-26 12:29:16 +01:00
SPRINX0\prochazka
c823b8d19a UX 2024-11-26 09:30:37 +01:00
SPRINX0\prochazka
170ff77eec Merge branch 'feature/connection-keyboard-browse' 2024-11-26 09:11:23 +01:00
SPRINX0\prochazka
c241f5c562 focused DB UX 2024-11-26 09:04:13 +01:00
SPRINX0\prochazka
e06d964de4 connections UX WIP 2024-11-25 16:34:09 +01:00
SPRINX0\prochazka
dfdb86de6f db widget UX 2024-11-25 15:52:26 +01:00
SPRINX0\prochazka
a37b74f693 focusable databases WIP 2024-11-25 13:46:16 +01:00
SPRINX0\prochazka
398d9f15df focus connection or database WIP 2024-11-25 11:00:41 +01:00
SPRINX0\prochazka
ab7c2d7a31 set tab preview mode off in markTabUnsaved 2024-11-25 08:31:24 +01:00
Jan Prochazka
090549ff91 v5.5.7-beta.61 2024-11-22 16:20:00 +01:00
Jan Prochazka
10330c6597 Merge branch 'master' of github.com:dbgate/dbgate 2024-11-22 16:19:34 +01:00
Jan Prochazka
da2fe6a891 table & view preview mode switch 2024-11-22 16:19:29 +01:00
Jan Prochazka
01b88221c5 Merge pull request #945 from dbgate/feature-close-tab-hotkey-for-web
feat: add close tab hotkey for web
2024-11-22 15:26:43 +01:00
Nybkox
46d25710b8 feat: add close tab hotkey for web 2024-11-22 15:20:01 +01:00
Jan Prochazka
a40ec7e66b show all databases for filtered connections 2024-11-22 11:40:51 +01:00
Jan Prochazka
c8d2031d24 fix - don't call for DB list when searching in connections list 2024-11-22 11:25:46 +01:00
Jan Prochazka
4f838e0ae3 Merge branch 'feature/tab-preview-mode' 2024-11-22 10:43:24 +01:00
Jan Prochazka
c7cc1b7611 theme changes (hover bg, dark selection bg) 2024-11-22 10:22:38 +01:00
Jan Prochazka
bf67a5f13d UX 2024-11-22 10:15:43 +01:00
Jan Prochazka
e6bbe66873 use keyboard for navigation between searchbox and table list 2024-11-22 10:03:49 +01:00
Jan Prochazka
1a930acf0a tables keyboard navigation 2024-11-22 09:45:01 +01:00
Jan Prochazka
a497467137 fix 2024-11-22 08:45:30 +01:00
Jan Prochazka
b463416633 Merge branch 'master' into feature/tab-preview-mode 2024-11-22 08:35:28 +01:00
Jan Prochazka
ccf6240d65 Merge pull request #914 from dataspun/feature/geometry-autodetect-map
Update postgres plugin drivers.js
2024-11-22 08:28:40 +01:00
Jan Prochazka
5ccc12019d Merge pull request #943 from dbgate/feature-reopen-closed-tab
Feature reopen closed tab
2024-11-22 08:22:48 +01:00
Jan Prochazka
f57fa9aee9 Merge pull request #942 from dbgate/feature-prevent-spawning-same-modal
feat: prevent spawning the same modal if one instance is opened
2024-11-22 08:21:00 +01:00
Nybkox
80e841a43d feat: add reopen closed tab command 2024-11-22 02:19:41 +01:00
Nybkox
e1d759041d feat: prevent closing tab if any modal is open 2024-11-21 18:44:21 +01:00
SPRINX0\prochazka
fd6df055c0 focus tab by enter 2024-11-21 17:07:18 +01:00
SPRINX0\prochazka
669d0b9dac correctly focusing tabs 2024-11-21 16:53:46 +01:00
SPRINX0\prochazka
b9f9501e67 handle tab focus 2024-11-21 16:49:56 +01:00
SPRINX0\prochazka
4b1c021871 Revert "don't focus in tabs"
This reverts commit 90946c582d.
2024-11-21 16:12:27 +01:00
SPRINX0\prochazka
1f79627dbe change selected object when switching tab 2024-11-21 15:47:46 +01:00
SPRINX0\prochazka
dc18be07ce #938 current database is not changed after closing tab 2024-11-21 15:03:43 +01:00
Nybkox
83ac45f8cf feat: invalidate commands on modal show/close 2024-11-21 14:32:05 +01:00
SPRINX0\prochazka
c6cd865663 default action handling 2024-11-21 13:46:19 +01:00
Jan Prochazka
477636e0d7 Merge pull request #941 from dbgate/feature/word-wrap-option
feat: add word wrap option #823
2024-11-21 12:20:18 +01:00
Nybkox
77414ba934 feat: add word wrap option #823 2024-11-21 11:17:51 +01:00
SPRINX0\prochazka
86186072ed db app obj WIP 2024-11-20 17:12:54 +01:00
SPRINX0\prochazka
1216bcf9bf sql object tab refactor 2024-11-20 15:37:01 +01:00
SPRINX0\prochazka
788ea70d32 db app objc refactors 2024-11-20 15:30:47 +01:00
SPRINX0\prochazka
18de37c4e4 sql object tab 2024-11-20 14:53:06 +01:00
SPRINX0\prochazka
aeb81bd97f sql object tab - ability to show template 2024-11-20 14:33:05 +01:00
SPRINX0\prochazka
a68660f1ab sql object tab 2024-11-20 14:24:37 +01:00
SPRINX0\prochazka
5abfa85a0e script templates refactor 2024-11-20 13:51:18 +01:00
SPRINX0\prochazka
794f43d9ae call click when changing table by arrow 2024-11-20 11:25:07 +01:00
SPRINX0\prochazka
4b2f762200 v5.5.7-alpha.60 2024-11-20 10:19:40 +01:00
SPRINX0\prochazka
fc3664571b fixed resolving plugin 2024-11-20 10:18:54 +01:00
SPRINX0\prochazka
5db8f11fd6 dbappobj highlight 2024-11-20 08:16:13 +01:00
SPRINX0\prochazka
598674a7e0 show focus in data grid 2024-11-19 16:35:55 +01:00
SPRINX0\prochazka
af17eceb27 table keyboard navigation WIP 2024-11-19 15:54:18 +01:00
SPRINX0\prochazka
90946c582d don't focus in tabs 2024-11-19 14:13:58 +01:00
SPRINX0\prochazka
d619e0f961 tab preview mode - basic concept #767 2024-11-19 14:10:41 +01:00
SPRINX0\prochazka
08311145c8 docs 2024-11-19 13:04:00 +01:00
SPRINX0\prochazka
a80e37a208 maxMissingTablesRatio parameter 2024-11-19 12:55:42 +01:00
SPRINX0\prochazka
c88114cabe link to G2 2024-11-19 12:24:47 +01:00
SPRINX0\prochazka
e33f3a1492 rename view/procedure/function 2024-11-19 12:18:56 +01:00
SPRINX0\prochazka
8328fdad33 Merge branch 'master' of https://github.com/dbgate/dbgate 2024-11-19 10:35:14 +01:00
Jan Prochazka
8035380e7b commented handle autoincrement change 2024-11-19 10:34:49 +01:00
SPRINX0\prochazka
b4ea528643 fix 2024-11-19 10:32:09 +01:00
Jan Prochazka
b0012872fa force recreate table when changing autoincrement flag 2024-11-19 10:06:52 +01:00
SPRINX0\prochazka
274fb595a2 UX 2024-11-18 17:03:13 +01:00
SPRINX0\prochazka
c7ef4b9231 UX 2024-11-18 17:03:06 +01:00
Jan Prochazka
e64cfce423 fix test 2024-11-18 15:04:37 +01:00
Jan Prochazka
c0c9c7be20 mysql change column to not null 2024-11-18 14:57:02 +01:00
SPRINX0\prochazka
2ae98d0c2d Merge branch 'master' of https://github.com/dbgate/dbgate 2024-11-18 13:47:47 +01:00
SPRINX0\prochazka
a129834c16 fix 2024-11-18 13:47:42 +01:00
Jan Prochazka
71a9d6c5c0 fix 2024-11-18 13:47:23 +01:00
Jan Prochazka
1ce8f6bd1f set NOT NULL for column with default value 2024-11-18 13:41:29 +01:00
Jan Prochazka
85c4821606 added deploy test 2024-11-18 12:48:34 +01:00
Jan Prochazka
06ed9d7dfc fix 2024-11-18 12:40:53 +01:00
SPRINX0\prochazka
90de5edc99 v5.5.7-beta.59 2024-11-18 09:56:49 +01:00
SPRINX0\prochazka
72786e5dbb try to fix build 2024-11-18 09:56:38 +01:00
SPRINX0\prochazka
d92c08548b fix 2024-11-18 09:54:08 +01:00
SPRINX0\prochazka
b1893234c7 horizontal splitter improved 2024-11-18 09:25:58 +01:00
Jan Prochazka
534deff274 v5.5.7-beta.58 2024-11-18 08:31:13 +01:00
Jan Prochazka
bdeffea79c remove cpu-features from build 2024-11-18 08:30:58 +01:00
Jan Prochazka
ab2fdf26d2 v5.5.7-beta.57 2024-11-15 18:02:03 +01:00
Jan Prochazka
0c902f037b removed bufferutil 2024-11-15 18:01:53 +01:00
Jan Prochazka
c0595aec0a code style 2024-11-15 17:16:11 +01:00
Jan Prochazka
6fdb20fc34 v5.5.7-beta.56 2024-11-15 17:14:48 +01:00
Jan Prochazka
8e74031fb1 try to fix electron app 2024-11-15 17:14:32 +01:00
Jan Prochazka
81e4b947b6 apidoc 2024-11-15 16:48:33 +01:00
Jan Prochazka
c5d23410f4 docs 2024-11-15 16:28:00 +01:00
Jan Prochazka
f23575c405 api documentation WIP 2024-11-15 16:09:04 +01:00
Jan Prochazka
8cb98cf643 apidoc 2024-11-15 14:45:31 +01:00
Jan Prochazka
b09a558670 v5.5.7-beta.55 2024-11-15 14:01:00 +01:00
Jan Prochazka
abc3c5f880 fixed windows build 2024-11-15 13:57:24 +01:00
Jan Prochazka
1c0d966c3c fix 2024-11-15 13:52:01 +01:00
Jan Prochazka
20d7264aab v5.5.7-beta.54 2024-11-15 12:10:18 +01:00
Jan Prochazka
4cf987b89a SSH optimalization 2024-11-15 12:09:24 +01:00
Jan Prochazka
5bcd3f807d v5.5.7-alpha.53 2024-11-15 12:02:11 +01:00
Jan Prochazka
9e04f2b9c6 fixed typo 2024-11-15 12:01:32 +01:00
Jan Prochazka
a7ceb8951c v5.5.7-alpha.52 2024-11-15 11:51:27 +01:00
Jan Prochazka
7392b223f4 bundling refactor 2024-11-15 11:49:25 +01:00
SPRINX0\prochazka
51ce4f1bb5 fix 2024-11-14 16:48:55 +01:00
SPRINX0\prochazka
059c310aaf fix 2024-11-14 16:38:43 +01:00
SPRINX0\prochazka
11dad8ced3 Merge branch 'feature/npm-refactor-poc' 2024-11-14 15:40:17 +01:00
SPRINX0\prochazka
18ed0fc020 v5.5.7-alpha.51 2024-11-14 14:38:52 +01:00
SPRINX0\prochazka
eaa1b73851 dbgatebuiltin keyword for builtin plugins 2024-11-14 14:37:24 +01:00
SPRINX0\prochazka
5c2c24e009 v5.5.7-alpha.50 2024-11-14 14:14:05 +01:00
SPRINX0\prochazka
1957531600 removed dbgateplugin keyword for builtin plugins 2024-11-14 14:13:47 +01:00
SPRINX0\prochazka
e47a165e11 v5.5.7-alpha.49 2024-11-14 13:40:16 +01:00
SPRINX0\prochazka
3ca1adcb48 docs 2024-11-14 13:39:43 +01:00
SPRINX0\prochazka
66bf1c847a docs 2024-11-14 13:38:26 +01:00
SPRINX0\prochazka
47eea9b9b3 readme 2024-11-14 13:37:46 +01:00
SPRINX0\prochazka
5c5a5f3b53 documentation 2024-11-14 12:53:19 +01:00
SPRINX0\prochazka
1c7729a797 added new plugins to dbgate-serve 2024-11-14 12:35:44 +01:00
SPRINX0\prochazka
cd06f13fcb optimalized NPM plugins 2024-11-14 12:27:17 +01:00
SPRINX0\prochazka
632870d448 v5.5.7-alpha.48 2024-11-14 10:48:59 +01:00
SPRINX0\prochazka
762055379a v5.5.7-alpha.47 2024-11-14 10:12:59 +01:00
SPRINX0\prochazka
7374749340 v5.5.7-alpha.46 2024-11-14 10:11:05 +01:00
SPRINX0\prochazka
e379be0107 fix 2024-11-14 10:10:15 +01:00
SPRINX0\prochazka
2784053b83 v5.5.7-alpha.45 2024-11-14 08:28:14 +01:00
SPRINX0\prochazka
12c4a0d498 fix 2024-11-14 08:25:44 +01:00
SPRINX0\prochazka
35b5ea138d v5.5.7-alpha.44 2024-11-14 08:12:47 +01:00
SPRINX0\prochazka
d75e1fc660 fix 2024-11-14 08:12:34 +01:00
SPRINX0\prochazka
3ab6df5da2 v5.5.7-alpha.43 2024-11-13 16:22:38 +01:00
SPRINX0\prochazka
8d4fc391a4 fix 2024-11-13 16:21:08 +01:00
SPRINX0\prochazka
35f9fc3741 v5.5.7-alpha.42 2024-11-13 16:17:50 +01:00
SPRINX0\prochazka
b465f3eb99 v5.5.7-alpha.41 2024-11-13 16:15:16 +01:00
SPRINX0\prochazka
c4e6a90722 v5.5.7-alpha.40 2024-11-13 16:11:11 +01:00
SPRINX0\prochazka
9cc4af2b56 build scripts 2024-11-13 16:10:05 +01:00
SPRINX0\prochazka
5ccdd7633b readme 2024-11-13 15:27:12 +01:00
SPRINX0\prochazka
880f4403cb removed publish dbgate (obsolete) 2024-11-13 15:09:36 +01:00
SPRINX0\prochazka
cba391904a mongodb-client-encryption moved to optionalDependencies 2024-11-13 15:05:30 +01:00
SPRINX0\prochazka
0fc397ace5 v5.5.7-beta.39 2024-11-13 14:53:01 +01:00
SPRINX0\prochazka
56a241b7f4 try to fix build 2024-11-13 14:52:48 +01:00
SPRINX0\prochazka
97eb999e4c v5.5.7-beta.38 2024-11-13 14:34:50 +01:00
SPRINX0\prochazka
9deaa89f21 try to fix build 2024-11-13 14:34:38 +01:00
SPRINX0\prochazka
74bae65e32 fix 2024-11-13 14:26:49 +01:00
SPRINX0\prochazka
7091917578 v5.5.7-beta.37 2024-11-13 13:57:04 +01:00
SPRINX0\prochazka
bbf72d9ed7 removed obsolete package 2024-11-13 13:56:56 +01:00
SPRINX0\prochazka
552d10ef48 v5.5.7-beta.36 2024-11-13 13:34:46 +01:00
SPRINX0\prochazka
7c5479157a fix 2024-11-13 13:34:35 +01:00
SPRINX0\prochazka
2463dba380 v5.5.7-beta.35 2024-11-13 13:28:07 +01:00
SPRINX0\prochazka
2f9209a92d added app to workspace when building electron app 2024-11-13 13:27:52 +01:00
SPRINX0\prochazka
370bd92518 v5.5.7-beta.34 2024-11-13 12:32:46 +01:00
SPRINX0\prochazka
ec083924fc v5.5.7-alpha.33 2024-11-13 12:32:11 +01:00
SPRINX0\prochazka
22b450f7e0 fix 2024-11-13 12:31:28 +01:00
SPRINX0\prochazka
1dd73e7319 v5.5.7-alpha.32 2024-11-13 11:00:18 +01:00
SPRINX0\prochazka
c4fe4b40dd v5.5.7-beta.31 2024-11-13 10:59:59 +01:00
SPRINX0\prochazka
251137ac60 centralized dependencies 2024-11-13 10:57:13 +01:00
SPRINX0\prochazka
0ad7c99274 removed optional dependencies from API and app 2024-11-13 10:48:02 +01:00
SPRINX0\prochazka
f53142d98a removed native module tooling 2024-11-13 10:44:24 +01:00
SPRINX0\prochazka
1f868523b0 NPM plugin refactor 2024-11-13 10:31:01 +01:00
SPRINX0\prochazka
94db02db2e v5.5.7-beta.30 2024-11-13 09:07:09 +01:00
SPRINX0\prochazka
9f0e06e663 native module refactor POC 2024-11-13 09:06:51 +01:00
SPRINX0\prochazka
c6dab85fc2 fixes 2024-11-12 17:38:18 +01:00
SPRINX0\prochazka
59aa2e3f33 v5.5.7-alpha.29 2024-11-12 09:25:27 +01:00
SPRINX0\prochazka
21b26773e6 fix 2024-11-12 09:23:02 +01:00
SPRINX0\prochazka
f308c5f6b0 v5.5.7-alpha.28 2024-11-12 08:51:23 +01:00
SPRINX0\prochazka
2763b6028a data duplicator - folder settings 2024-11-12 08:35:59 +01:00
SPRINX0\prochazka
a3df6d6e7d v5.5.7-alpha.27 2024-11-12 08:27:28 +01:00
SPRINX0\prochazka
473bfcbec5 shell.executeQuery supports sqlFile 2024-11-12 08:26:24 +01:00
SPRINX0\prochazka
8976c9e653 v5.5.7-alpha.26 2024-11-12 08:17:01 +01:00
SPRINX0\prochazka
86795dcc63 fix 2024-11-12 08:16:47 +01:00
SPRINX0\prochazka
9b90f15621 v5.5.7-alpha.25 2024-11-12 08:04:11 +01:00
Jan Prochazka
7d0d9d3e22 try to fix tests 2024-11-11 16:22:18 +01:00
Jan Prochazka
17f0248a3e try to remove tests 2024-11-11 16:14:35 +01:00
Jan Prochazka
25d3dcad59 fix 2024-11-11 16:09:18 +01:00
Jan Prochazka
cbd857422f clickhouse test - removed from scripts deploy 2024-11-11 15:58:10 +01:00
Jan Prochazka
e65b4d0c2a typo 2024-11-11 15:50:46 +01:00
Jan Prochazka
6bcebb63e4 create deploy journal is now warning 2024-11-11 15:50:32 +01:00
Jan Prochazka
ac7708138c added run_count to script driver deployer 2024-11-11 15:47:46 +01:00
Jan Prochazka
9d8ec9cc6b script base deployer 2024-11-11 15:37:58 +01:00
SPRINX0\prochazka
1b8a2cb923 v5.5.7-premium-beta.24 2024-11-11 13:45:01 +01:00
SPRINX0\prochazka
a97ab9c09e Merge branch 'master' of https://github.com/dbgate/dbgate 2024-11-11 13:44:29 +01:00
Jan Prochazka
9a73eb3620 fixed deploy 2024-11-11 13:20:04 +01:00
SPRINX0\prochazka
f50e460335 v5.5.7-premium-beta.23 2024-11-11 13:10:46 +01:00
SPRINX0\prochazka
fa72d9a39f preloaded rows fixes 2024-11-11 13:05:19 +01:00
SPRINX0\prochazka
75b4f49e31 db alter plan improvements 2024-11-11 11:07:57 +01:00
SPRINX0\prochazka
a069093f6b indexes in yaml model 2024-11-11 08:42:00 +01:00
SPRINX0\prochazka
62c741198a deploy: ignoreNameRegex 2024-11-11 08:11:44 +01:00
SPRINX0\prochazka
0266d912e0 fix 2024-11-08 16:05:01 +01:00
SPRINX0\prochazka
55bc0fc93f Merge branch 'master' of https://github.com/dbgate/dbgate 2024-11-08 15:36:09 +01:00
SPRINX0\prochazka
47c00d7eb0 alter plan utility functions 2024-11-08 15:36:07 +01:00
Jan Prochazka
ad9fac861e fixed deploy tests 2024-11-08 14:12:56 +01:00
SPRINX0\prochazka
14afd08fcb removed experimental status of deploy 2024-11-08 12:56:01 +01:00
SPRINX0\prochazka
319580554f fixed mssql primary key respects column order 2024-11-08 12:13:00 +01:00
SPRINX0\prochazka
c750bd04ad export model - filter by schema 2024-11-08 09:12:28 +01:00
SPRINX0\prochazka
bdd55d8432 export model - schema filter WIP 2024-11-07 17:38:22 +01:00
SPRINX0\prochazka
98464e414b v5.5.7-beta.22 2024-11-07 17:18:37 +01:00
SPRINX0\prochazka
2f2d9c45a3 fixed schema select #924 2024-11-07 17:17:56 +01:00
SPRINX0\prochazka
3665a0d064 Merge branch 'feature/duplicator-weak-refs' 2024-11-07 16:56:24 +01:00
SPRINX0\prochazka
c19c69266a shwll connection fixes 2024-11-07 16:55:39 +01:00
SPRINX0\prochazka
bafa2c2fff data duplicator fixes 2024-11-07 16:33:57 +01:00
Jan Prochazka
2d823140b9 data duplicator fix 2024-11-07 14:05:13 +01:00
Jan Prochazka
1fb4a06092 data duplicator - handle weak refs 2024-11-07 13:42:41 +01:00
SPRINX0\prochazka
cb450a0313 duplicator wek refs WIP 2024-11-07 13:15:33 +01:00
SPRINX0\prochazka
7aaf6bb024 drop all objects 2024-11-07 10:07:32 +01:00
SPRINX0\prochazka
6a02ba3220 drop all objects WIP 2024-11-06 17:06:58 +01:00
SPRINX0\prochazka
83610783e0 fixed on message click 2024-11-06 16:48:22 +01:00
SPRINX0\prochazka
cec26b0614 filterable messages view 2024-11-06 16:29:20 +01:00
SPRINX0\prochazka
fbf288198b message view UX 2024-11-06 15:39:51 +01:00
SPRINX0\prochazka
193940fd63 view JSON log message 2024-11-06 15:25:43 +01:00
SPRINX0\prochazka
bd169c316a messages view improvements 2024-11-06 14:13:43 +01:00
SPRINX0\prochazka
5315f65cfb table editor fixes 2024-11-06 13:00:53 +01:00
SPRINX0\prochazka
5a859d81d3 Merge branch 'master' of https://github.com/dbgate/dbgate 2024-11-06 12:19:45 +01:00
SPRINX0\prochazka
904fc4d500 missing file 2024-11-06 12:19:42 +01:00
Jan Prochazka
634fe18127 db diff fix 2024-11-06 12:01:43 +01:00
Jan Prochazka
89a9cc4380 Revert "reverted testEqualConstraints"
This reverts commit 57c62fbe27.
2024-11-06 11:21:39 +01:00
Jan Prochazka
57c62fbe27 reverted testEqualConstraints 2024-11-06 11:12:57 +01:00
SPRINX0\prochazka
590eff1e3b Merge branch 'feature/export-model' 2024-11-06 10:54:31 +01:00
SPRINX0\prochazka
a71309a604 fix 2024-11-06 10:52:30 +01:00
SPRINX0\prochazka
343e983b64 export model feature 2024-11-06 10:47:49 +01:00
SPRINX0\prochazka
e31a52b659 export model WIP 2024-11-04 17:03:52 +01:00
SPRINX0\prochazka
41162ee2c3 handling conid==__model 2024-11-04 15:21:36 +01:00
SPRINX0\prochazka
55745c18e9 invalid token fix 2024-11-04 14:17:28 +01:00
SPRINX0\prochazka
7d6b77ad2a v5.5.7-packer-beta.21 2024-11-04 11:03:33 +01:00
SPRINX0\prochazka
90813b23d8 constraint check fixed 2024-11-04 11:03:19 +01:00
SPRINX0\prochazka
a999d29b1d v5.5.7-packer-beta.20 2024-11-04 10:14:32 +01:00
SPRINX0\prochazka
f6f9b0a61a fix 2024-11-04 10:14:13 +01:00
SPRINX0\prochazka
724edf44cb v5.5.7-packer-beta.19 2024-11-04 09:29:29 +01:00
SPRINX0\prochazka
07248ca49f v5.5.7-packer-beta.18 2024-11-04 09:07:27 +01:00
SPRINX0\prochazka
3a068c37b5 build fix 2024-11-04 09:07:12 +01:00
SPRINX0\prochazka
df44e5f6e9 #925 by default without query parameters 2024-11-04 08:59:29 +01:00
SPRINX0\prochazka
9328d966ba v5.5.7-packer-beta.17 2024-11-04 08:44:08 +01:00
SPRINX0\prochazka
1a293deec7 v5.5.7-packer.17 2024-11-04 08:40:11 +01:00
SPRINX0\prochazka
665a70ba3d load model transform 2024-11-01 16:58:25 +01:00
SPRINX0\prochazka
967587c8e4 model transform 2024-11-01 16:57:48 +01:00
SPRINX0\prochazka
4927c13e55 mdoel transform 2024-11-01 15:58:52 +01:00
SPRINX0\prochazka
1f9f997748 compare tab => premium 2024-11-01 13:28:40 +01:00
SPRINX0\prochazka
521e4ea3a2 v5.5.7-alpha.16 2024-11-01 12:39:58 +01:00
SPRINX0\prochazka
941843e4c0 generateDeploySql added to dbgateApi 2024-11-01 12:38:53 +01:00
SPRINX0\prochazka
1434a42421 readme 2024-11-01 10:21:49 +01:00
SPRINX0\prochazka
8f57d3a316 redshift driver should be only for premium 2024-11-01 10:17:13 +01:00
SPRINX0\prochazka
a74b789a8c diff tools fixes 2024-11-01 10:06:23 +01:00
SPRINX0\prochazka
ac4dd37249 fixed YESTERDAY filter parser 2024-11-01 10:06:13 +01:00
Jan Prochazka
75b3b4e012 comment 2024-11-01 08:36:21 +01:00
Jan Prochazka
188ab4c483 fixed view redeploy 2024-11-01 08:34:40 +01:00
Jan Prochazka
f9a562808d alter view test 2024-10-31 17:01:02 +01:00
Jan Prochazka
4ea763124b fixed undelete view for SQL server 2024-10-31 16:34:00 +01:00
Jan Prochazka
836d15c68f delete columns 2024-10-31 15:42:07 +01:00
Jan Prochazka
8ce4c0a7ce test refactor 2024-10-31 15:04:34 +01:00
Jan Prochazka
9613c2c410 undelete view 2024-10-31 15:01:01 +01:00
Jan Prochazka
e5d4bbadc1 deploy test refactor 2024-10-31 14:20:11 +01:00
Jan Prochazka
5d4d2a447a dbdeploy: undelete table works 2024-10-31 14:03:44 +01:00
Jan Prochazka
d905962298 v5.5.7-beta.15 2024-10-31 13:02:24 +01:00
Jan Prochazka
4ab9ad6881 deleted columns prefix 2024-10-31 12:50:08 +01:00
Jan Prochazka
2ce20b5fac mark view as deleted 2024-10-31 12:35:32 +01:00
Jan Prochazka
81297383cb support for rename SQL object (mssql, postgres) 2024-10-31 10:48:32 +01:00
Jan Prochazka
2aed60390c fixed default value diff 2024-10-31 10:00:40 +01:00
Jan Prochazka
67386da136 fixed clickhouse test - skip nullability check 2024-10-31 08:59:12 +01:00
Jan Prochazka
bdc40c2c02 test fix 2024-10-31 08:45:12 +01:00
SPRINX0\prochazka
1d916e43d5 fix - community app should not check license 2024-10-31 08:32:57 +01:00
SPRINX0\prochazka
98bff4925a Merge branch 'master' of https://github.com/dbgate/dbgate 2024-10-30 09:22:45 +01:00
SPRINX0\prochazka
9af2c80b05 v5.5.7-beta.14 2024-10-30 09:22:29 +01:00
Jan Prochazka
3a03c82f8d allowTableMarkDropped WIP 2024-10-30 08:58:05 +01:00
Jan Prochazka
de66e75eb2 undrop WIP 2024-10-29 18:12:05 +01:00
Jan Prochazka
10d79dca4d added test - table is never dropped in deploy db 2024-10-29 18:02:31 +01:00
SPRINX0\prochazka
460f511bf6 autoIndexForeignKeysTransform for db deployer 2024-10-29 16:59:28 +01:00
SPRINX0\prochazka
81207f95d8 fixed default value comparing 2024-10-29 16:35:22 +01:00
Jan Prochazka
3d3aca3290 fixed clickhouse default value handling 2024-10-29 16:18:57 +01:00
Jan Prochazka
d661b9f6a4 fixed mssql defaults 2024-10-29 16:07:51 +01:00
Jan Prochazka
7deeb78d69 default value test + fixed clickhouse default support 2024-10-29 15:52:36 +01:00
Jan Prochazka
4dcf47b81f test fix 2024-10-29 15:22:13 +01:00
Jan Prochazka
a674b9b3a1 check default value 2024-10-29 15:05:43 +01:00
SPRINX0\prochazka
b2aa4d9377 table diff - default values tests 2024-10-29 14:44:28 +01:00
SPRINX0\prochazka
bc4a595815 handler anonymousPrimaryKey for deploy 2024-10-29 14:38:22 +01:00
SPRINX0\prochazka
2704825d03 db deploy fixes 2024-10-29 14:28:26 +01:00
SPRINX0\prochazka
456d3ba42e Merge branch 'master' of https://github.com/dbgate/dbgate 2024-10-29 08:27:04 +01:00
SPRINX0\prochazka
803a272331 #926 fixed App crashes when trying to 'Open Structure' in a readonly connection 2024-10-29 08:26:55 +01:00
Jan Prochazka
89e4bfe3e1 v5.5.7-packer-beta.13 2024-10-25 13:32:47 +02:00
Jan Prochazka
697440693e v5.5.7-packer-beta.12 2024-10-25 12:41:07 +02:00
Jan Prochazka
c0cd04a96f packer - install-packages.sh script 2024-10-25 12:40:51 +02:00
Jan Prochazka
c92f02bdda v5.5.7-packer-beta.11 2024-10-25 11:55:40 +02:00
Jan Prochazka
c4766d163c install fix 2024-10-25 11:54:32 +02:00
Jan Prochazka
18889092aa v5.5.7-packer-beta.10 2024-10-25 11:19:13 +02:00
Jan Prochazka
adafa3c5c4 delete old AMIs script 2024-10-25 11:17:52 +02:00
Jan Prochazka
91994016a7 v5.5.7-packer-beta.9 2024-10-25 09:35:08 +02:00
Jan Prochazka
dfcf253217 v5.5.7-packer-beta.8 2024-10-25 09:17:57 +02:00
Jan Prochazka
bd3503912f Merge tag 'v5.5.7-packer-beta.7'
v5.5.7-packer-beta.7
2024-10-25 09:17:17 +02:00
Jan Prochazka
b062c5fd66 aws region missing 2024-10-25 09:07:28 +02:00
SPRINX0\prochazka
b1cd60d0dd v5.5.7-packer-beta.7 2024-10-24 16:19:28 +02:00
SPRINX0\prochazka
67ac1a1c8d v5.5.7-packet-beta.7 2024-10-24 16:18:13 +02:00
SPRINX0\prochazka
c166eab2e8 v5.5.7-packer-beta.6 2024-10-24 16:06:40 +02:00
SPRINX0\prochazka
c6b3ced493 v5.5.7-packer-beta.5 2024-10-24 16:06:07 +02:00
SPRINX0\prochazka
4e922e806d cloud upgrade from github releases 2024-10-24 15:56:56 +02:00
Jan Prochazka
0e087565b3 v5.5.7-packer-beta.4 2024-10-24 12:17:46 +02:00
Jan Prochazka
104b25d898 v5.5.7-packer-beta.3 2024-10-24 12:11:46 +02:00
Jan Prochazka
9bdff41ec1 fixed packer build 2024-10-24 12:11:35 +02:00
Jan Prochazka
d27b0a7be3 v5.5.7-packer-beta.2 2024-10-24 12:00:55 +02:00
Jan Prochazka
076b20ef6d fix 2024-10-24 12:00:42 +02:00
Jan Prochazka
d93d107039 v5.5.7-packer-beta.1 2024-10-24 11:59:26 +02:00
Jan Prochazka
708dcfd088 packer pipeline 2024-10-24 11:58:44 +02:00
Jan Prochazka
14501a70b9 reporting SSH tunnel errors 2024-10-23 16:35:56 +02:00
Jan Prochazka
3b82679c2d port changed 2024-10-23 12:14:28 +02:00
SPRINX0\prochazka
48d4fb4fec UX 2024-10-23 09:49:10 +02:00
SPRINX0\prochazka
a03ca73d93 admin page workflow 2024-10-23 09:41:39 +02:00
SPRINX0\prochazka
a46e592cfb workflow changes 2024-10-22 17:06:56 +02:00
SPRINX0\prochazka
634bea1bda missing logging 2024-10-22 16:33:47 +02:00
SPRINX0\prochazka
3dfa23a30c sortable object list controls #922 2024-10-22 16:09:48 +02:00
SPRINX0\prochazka
24408dd7c2 empty value testing 2024-10-22 15:23:32 +02:00
Jan Prochazka
32c7919885 special pages workflow changed 2024-10-21 17:36:46 +02:00
Jan Prochazka
967615b6e5 special page refactor 2024-10-21 13:18:16 +02:00
Jan Prochazka
aee3a28465 refactor 2024-10-21 13:07:29 +02:00
Jan Prochazka
3fdf27f820 special page refactor 2024-10-21 13:02:50 +02:00
Jan Prochazka
e9302c7d6f performance fix 2024-10-18 15:08:59 +02:00
Jan Prochazka
c38fe83e48 aws ubuntu layout 2024-10-18 13:57:55 +02:00
Jan Prochazka
adfc427d25 aws AMI layout 2024-10-18 13:32:17 +02:00
Jan Prochazka
3912a58127 build ami script 2024-10-18 11:35:33 +02:00
SPRINX0\prochazka
720d25e838 changelog 2024-10-17 13:33:14 +02:00
SPRINX0\prochazka
bc1d77a6f8 v5.5.6 2024-10-17 13:25:01 +02:00
SPRINX0\prochazka
00a8d472ff v5.5.6-beta.11 2024-10-17 12:53:56 +02:00
SPRINX0\prochazka
5076ee0463 v5.5.6 2024-10-17 12:52:26 +02:00
SPRINX0\prochazka
4a5ddd65f4 v5.5.6-premium-beta.10 2024-10-17 11:58:06 +02:00
SPRINX0\prochazka
ec3c224f44 show storage connection error 2024-10-17 11:56:24 +02:00
SPRINX0\prochazka
39b99ecf8f v5.5.6-premium-beta.9 2024-10-15 16:51:11 +02:00
SPRINX0\prochazka
50232f9b90 v5.5.6-premium-beta.8 2024-10-15 16:24:02 +02:00
SPRINX0\prochazka
66e8cc6e1d v5.5.6-premium-beta.7 2024-10-15 15:10:16 +02:00
SPRINX0\prochazka
f6b4c94d00 fix 2024-10-15 15:10:05 +02:00
SPRINX0\prochazka
f3ce240bcd v5.5.6-premium-beta.6 2024-10-15 14:38:18 +02:00
SPRINX0\prochazka
7be9bf1bab logging 2024-10-15 14:37:16 +02:00
SPRINX0\prochazka
d39871be70 v5.5.6-premium-beta.5 2024-10-15 13:55:19 +02:00
SPRINX0\prochazka
3324eec011 support for DEBUG_PRINT_ENV_VARIABLES 2024-10-15 13:55:00 +02:00
SPRINX0\prochazka
dd9790fca5 removed deprecated mongodb useUnifiedTopology options 2024-10-15 12:30:04 +02:00
SPRINX0\prochazka
41a3769c5f fixed headers sent error 2024-10-15 12:28:47 +02:00
SPRINX0\prochazka
42601ff960 fixed mongo update for mongo4 #916 2024-10-15 10:38:44 +02:00
SPRINX0\prochazka
e54cffbaf3 v5.5.6-beta.4 2024-10-15 10:21:03 +02:00
Jan Prochazka
f8dbad362c Merge branch 'master' of github.com:dbgate/dbgate 2024-10-15 10:20:08 +02:00
SPRINX0\prochazka
925db50418 log 2024-10-15 10:08:15 +02:00
SPRINX0\prochazka
f40db68579 process should exit on unhandled exception 2024-10-15 10:05:18 +02:00
Jan Prochazka
3afde5f1fa v5.5.6-beta.3 2024-10-15 09:44:22 +02:00
Jan Prochazka
b631519009 exit forked process after PIPE is closed #917 #915 2024-10-15 09:41:02 +02:00
SPRINX0\prochazka
f05c60c628 v5.5.6-premium-beta.2 2024-10-14 17:53:51 +02:00
SPRINX0\prochazka
e235de6d56 versionText field added 2024-10-14 17:48:04 +02:00
SPRINX0\prochazka
da47c437e0 v5.5.6-beta.1 2024-10-14 14:29:14 +02:00
SPRINX0\prochazka
f0048bc6cf correctly close connections #920 2024-10-14 14:28:26 +02:00
SPRINX0\prochazka
f80ae284fa correctly close idle connections #920 2024-10-14 14:03:07 +02:00
Jan Prochazka
06753ff312 v5.5.5 2024-10-11 10:22:00 +02:00
Jan Prochazka
1e07614306 changelog 2024-10-11 10:20:37 +02:00
Jan Prochazka
2d716ba43a v5.5.5-premium-beta.5 2024-10-11 09:59:28 +02:00
Jan Prochazka
c39dc6295d css fix 2024-10-11 09:58:54 +02:00
Jan Prochazka
7557666135 v5.5.5-premium-beta.4 2024-10-11 09:40:30 +02:00
SPRINX0\prochazka
5ee65124cb v5.5.5-beta.3 2024-10-10 16:20:01 +02:00
SPRINX0\prochazka
ab79617377 v5.5.5-premium-beta.2 2024-10-10 16:19:41 +02:00
SPRINX0\prochazka
3b2a47a4ef login admin/user switch 2024-10-10 15:39:56 +02:00
SPRINX0\prochazka
7b4d9d8717 quick login buttons 2024-10-10 15:17:54 +02:00
SPRINX0\prochazka
4c9734ac7f fixed hiding columns #887 #911 2024-10-10 13:59:41 +02:00
SPRINX0\prochazka
152e8a80ab title 2024-10-10 13:48:42 +02:00
SPRINX0\prochazka
98a348b091 CSS 2024-10-10 13:37:08 +02:00
SPRINX0\prochazka
e448f63ec3 store query parameters 2024-10-10 13:21:48 +02:00
SPRINX0\prochazka
0b13850eca query parameters #913 2024-10-10 13:09:34 +02:00
SPRINX0\prochazka
de97404602 redis load keys fix 2024-10-10 07:53:41 +02:00
Jeremy
2c0b76fb3f Update drivers.js
add geometry to spatial types
2024-10-09 14:20:44 -07:00
SPRINX0\prochazka
cbd6ce7872 v5.5.5-premium-beta.1 2024-10-09 16:08:30 +02:00
SPRINX0\prochazka
3c479eb33c changeset function 2024-10-09 16:07:18 +02:00
SPRINX0\prochazka
beaff158cc query result - use editor behaviour from driver 2024-10-08 15:12:12 +02:00
SPRINX0\prochazka
6806620d90 fixed datetime filtering #912 2024-10-08 14:38:46 +02:00
SPRINX0\prochazka
4459347169 fix 2024-10-08 13:48:50 +02:00
SPRINX0\prochazka
98e01497e9 checkout source parameter 2024-10-08 13:10:48 +02:00
SPRINX0\prochazka
4ed4c8c32c fix 2024-10-08 12:49:15 +02:00
SPRINX0\prochazka
620acecdff trial days left warning 2024-10-08 12:43:01 +02:00
SPRINX0\prochazka
2d214cfdb3 fix 2024-10-08 10:02:03 +02:00
SPRINX0\prochazka
cd36259739 AWS IAM auth for PostgreSQL 2024-10-08 09:55:51 +02:00
SPRINX0\prochazka
d049d8c571 AWS IAM connection for MySQL 2024-10-08 09:30:51 +02:00
SPRINX0\prochazka
7c51fcad96 AWS IAM WIP 2024-10-07 16:05:12 +02:00
SPRINX0\prochazka
1948c8ef89 fix export dialog for useSeparateSchemas=true 2024-10-07 08:22:35 +02:00
SPRINX0\prochazka
f2b2ac6fd0 v5.5.4 2024-10-04 15:29:08 +02:00
SPRINX0\prochazka
4098f63ce2 changelog 2024-10-04 15:19:31 +02:00
SPRINX0\prochazka
4d903abd85 changelog 2024-10-04 15:17:42 +02:00
SPRINX0\prochazka
f00eb2d3ef v5.5.4-beta.10 2024-10-04 14:54:44 +02:00
SPRINX0\prochazka
6752dcfd39 fixed crash #908 2024-10-04 14:54:29 +02:00
SPRINX0\prochazka
c3022eb80a v5.5.4-premium-beta.9 2024-10-04 14:42:45 +02:00
SPRINX0\prochazka
2f6cbf25df v5.5.5 2024-10-04 14:42:03 +02:00
SPRINX0\prochazka
8dfc2e7bcd handle expired license 2024-10-04 14:32:46 +02:00
Jan Prochazka
fa0ad477cc fixed crash #908 2024-10-04 07:58:32 +02:00
SPRINX0\prochazka
ac6a68c38d v5.5.4-alpha.8 2024-10-03 09:58:24 +02:00
SPRINX0\prochazka
25223471e7 fix deployer 2024-10-03 09:58:03 +02:00
SPRINX0\prochazka
56535b1e6f v5.5.4-alpha.7 2024-10-02 16:04:00 +02:00
SPRINX0\prochazka
131c51f7c4 v5.4.4-alpha.7 2024-10-02 16:02:02 +02:00
SPRINX0\prochazka
a27a2077ed comment 2024-10-02 10:45:06 +02:00
SPRINX0\prochazka
7758fabc89 code style 2024-10-02 10:44:35 +02:00
SPRINX0\prochazka
c9da9bdd23 Merge branch 'master' of https://github.com/dbgate/dbgate 2024-10-02 10:43:32 +02:00
Jan Prochazka
9520b053af Merge pull request #907 from yoadey/master
Fix 727: access_token not a jwt
2024-10-02 10:43:27 +02:00
SPRINX0\prochazka
8a1e717c1b v5.5.4-premium-beta.6 2024-10-02 10:26:43 +02:00
SPRINX0\prochazka
21127f661a better error reporting 2024-10-02 10:25:11 +02:00
yoadey
7d614a2395 Fix 727: access_token not a jwt 2024-10-02 10:24:19 +02:00
SPRINX0\prochazka
669ae024f9 v5.5.4-beta.5 2024-10-01 16:43:09 +02:00
SPRINX0\prochazka
9d8dd558e2 fixed load postgres schema on Azure #906 2024-10-01 16:36:26 +02:00
SPRINX0\prochazka
67f58a8dfe fix 2024-10-01 12:42:56 +02:00
SPRINX0\prochazka
52d230b9e2 v5.5.4-alpha.4 2024-10-01 12:21:57 +02:00
SPRINX0\prochazka
fd2a35fb4a Merge branch 'master' of https://github.com/dbgate/dbgate 2024-10-01 12:17:36 +02:00
Jan Prochazka
d61b5e135f safer env vars in dbmodel connection 2024-10-01 12:17:25 +02:00
SPRINX0\prochazka
ef23b786ac better error reporting 2024-10-01 12:15:22 +02:00
SPRINX0\prochazka
29a66bfcb0 v5.5.4-alpha.3 2024-10-01 11:07:52 +02:00
Jan Prochazka
ef5e30df3d dbmodel - allow connection from env variables 2024-10-01 11:07:16 +02:00
SPRINX0\prochazka
ab28a06bef close dbhandles after shell script (missing tableReader) 2024-10-01 10:56:52 +02:00
SPRINX0\prochazka
9910c54aa6 v5.5.4-alpha.2 2024-10-01 10:39:32 +02:00
Jan Prochazka
6ec431f471 dbmodel fix 2024-10-01 10:38:35 +02:00
Jan Prochazka
3ec7f651c1 not connected deploy test 2024-10-01 10:37:05 +02:00
SPRINX0\prochazka
87aa60bc3e v5.5.4-alpha.1 2024-10-01 09:19:47 +02:00
SPRINX0\prochazka
73874aa5a1 added missing dependency 2024-10-01 09:19:32 +02:00
Jan Prochazka
976438f860 fixed LOGIN & PASSWORD scenario #903 2024-09-27 10:46:33 +02:00
Jan Prochazka
eb095b7c44 changelog 2024-09-27 10:12:07 +02:00
Jan Prochazka
3ca745e74b v5.5.3 2024-09-27 10:11:58 +02:00
Jan Prochazka
040de84d93 changelog 2024-09-27 10:10:31 +02:00
Jan Prochazka
4f1d63440e v5.5.3-beta.4 2024-09-27 08:39:17 +02:00
Jan Prochazka
7c3cf1bb67 Merge branch 'feature/copy-stdin-import' 2024-09-27 08:34:03 +02:00
Jan Prochazka
cbf1b0a3cc import SQL dump tests 2024-09-27 08:33:16 +02:00
Jan Prochazka
5287a86397 import from postgres dump 2024-09-27 08:08:13 +02:00
SPRINX0\prochazka
ae599ac6f6 copy from stdin WIP 2024-09-26 16:06:54 +02:00
SPRINX0\prochazka
a08a8ef208 upgraded dbgate-query-splitter 2024-09-26 15:50:08 +02:00
SPRINX0\prochazka
19a4d97765 postgres copystream support 2024-09-26 15:48:29 +02:00
SPRINX0\prochazka
6f1f5f84c6 fix 2024-09-26 14:52:50 +02:00
SPRINX0\prochazka
e2f352149d fix + ability to choose imported table 2024-09-26 14:49:58 +02:00
SPRINX0\prochazka
1fa39b20d2 fixedTargetName fix 2024-09-26 13:57:10 +02:00
SPRINX0\prochazka
53dc2e6f03 fixed import/export for separate schemas 2024-09-26 13:22:36 +02:00
SPRINX0\prochazka
555f30c0b3 v5.5.3-beta.3 2024-09-26 12:39:45 +02:00
SPRINX0\prochazka
7549d37a04 better column mapping 2024-09-26 12:39:29 +02:00
SPRINX0\prochazka
29072eb71b v5.5.3-beta.2 2024-09-26 12:38:05 +02:00
SPRINX0\prochazka
48e9e77be5 column drop down in column map modal 2024-09-26 12:29:24 +02:00
SPRINX0\prochazka
4dd3f15ba3 better column chooser 2024-09-26 12:14:10 +02:00
SPRINX0\prochazka
3603501ae2 show single schema only if it is default schema 2024-09-26 10:01:02 +02:00
Jan Prochazka
338180a21a fix 2024-09-26 09:44:37 +02:00
Jan Prochazka
28193ed6f3 new_table - id should be not null 2024-09-26 09:41:32 +02:00
Jan Prochazka
0509710602 handle DB errors 2024-09-26 09:38:49 +02:00
Jan Prochazka
a4872b4159 fixed Syntax error when trying to sort by UUID column #895 2024-09-26 09:06:14 +02:00
Jan Prochazka
888f5c6260 v5.5.3-beta.1 2024-09-26 08:20:37 +02:00
Jan Prochazka
7a5abb5f47 Fixed separate schema mode, more logging #894 2024-09-26 08:12:51 +02:00
Jan Prochazka
61a9f02899 fix WIP 2024-09-25 17:01:14 +02:00
Jan Prochazka
354c4201f7 changelog 2024-09-25 12:07:35 +02:00
Jan Prochazka
d8340087c5 v5.5.2 2024-09-25 10:50:18 +02:00
Jan Prochazka
e3249c6d79 fixed readonly connection for MySQL 2024-09-25 10:49:37 +02:00
Jan Prochazka
58e65608e4 fixed postgres connections for readonly connection #900 2024-09-25 10:46:07 +02:00
Jan Prochazka
2b6fdf5a6a readme 2024-09-25 10:32:55 +02:00
Jan Prochazka
967d7849ee azure SQL in changelog 2024-09-25 10:26:38 +02:00
Jan Prochazka
7c476ab2f0 changelog 2024-09-25 09:31:40 +02:00
Jan Prochazka
caaf35e45a v5.5.1 2024-09-25 09:30:23 +02:00
Jan Prochazka
6ddc9ee6c5 fix 2024-09-25 09:25:00 +02:00
Jan Prochazka
39aa250223 changelog 2024-09-25 09:23:04 +02:00
Jan Prochazka
031a92db8e v5.5.0 2024-09-25 09:22:36 +02:00
Jan Prochazka
0c2579897f fixed multiple shortcuts handling #898 2024-09-25 09:10:54 +02:00
Jan Prochazka
b63479bf45 changelog 2024-09-25 08:50:44 +02:00
Jan Prochazka
4c89552265 v5.4.5-beta.15 2024-09-25 08:23:04 +02:00
SPRINX0\prochazka
517002e079 fixed importing mysql dump #702 2024-09-24 15:54:54 +02:00
SPRINX0\prochazka
85bfb1986d fixed redirect_uri parameter #891 2024-09-24 14:45:00 +02:00
SPRINX0\prochazka
632421eb73 copy connection error to clipboard 2024-09-24 14:23:06 +02:00
SPRINX0\prochazka
21365be411 v5.4.5-beta.14 2024-09-24 09:00:23 +02:00
SPRINX0\prochazka
eaa54022fc css fix 2024-09-24 09:00:05 +02:00
SPRINX0\prochazka
55f7f39efd postgres - user current_schema instead of search_path 2024-09-24 08:59:58 +02:00
SPRINX0\prochazka
71e709b346 v5.4.5-beta.13 2024-09-23 09:40:49 +02:00
SPRINX0\prochazka
1d2d295a45 log driver errors, even when they are sent to client 2024-09-23 09:40:29 +02:00
SPRINX0\prochazka
5ed23beff0 v5.4.5-premium-beta.12 2024-09-20 16:48:01 +02:00
SPRINX0\prochazka
43a8db55a2 v5.4.5-beta.11 2024-09-20 16:00:53 +02:00
SPRINX0\prochazka
0a9cba7bf7 quick export from table result #892 2024-09-20 16:00:03 +02:00
SPRINX0\prochazka
02af761bf7 postgre fix 2024-09-20 15:50:16 +02:00
SPRINX0\prochazka
6882a146e7 fixed build error 2024-09-20 15:00:11 +02:00
SPRINX0\prochazka
c9834f9792 Merge branch 'feature/separate-schemas-2' 2024-09-20 14:54:07 +02:00
SPRINX0\prochazka
21b4baf700 v5.4.5-beta.10 2024-09-20 14:52:47 +02:00
SPRINX0\prochazka
d3a24627dd postgres - show system databases when using separate schemas 2024-09-20 14:52:29 +02:00
SPRINX0\prochazka
8aac9cf59d loading schemas indicator + error reporting 2024-09-20 14:40:14 +02:00
SPRINX0\prochazka
ce70b2e71a support separate schemas for mssql 2024-09-20 13:30:39 +02:00
SPRINX0\prochazka
62a5ef60f6 v5.4.5-beta.9 2024-09-20 12:56:32 +02:00
SPRINX0\prochazka
95430e9c11 useSeparateSchemas option for docker 2024-09-20 12:35:02 +02:00
SPRINX0\prochazka
1cee36cc9b force exit after tests 2024-09-20 12:29:29 +02:00
SPRINX0\prochazka
aa475f81a0 uncommented test + fix 2024-09-20 12:19:03 +02:00
SPRINX0\prochazka
1173d5db1d sqlserver fix 2024-09-20 10:49:53 +02:00
SPRINX0\prochazka
f34d0cbb90 fixed SQLite 2024-09-20 10:47:51 +02:00
SPRINX0\prochazka
780d187911 skip SQLite on CI 2024-09-20 10:41:31 +02:00
SPRINX0\prochazka
48d4374346 introduced dbhandle instead of overwriting 3rd party client's fields 2024-09-20 10:27:03 +02:00
Jan Prochazka
6b8b511d0d try to comment problematic test 2024-09-19 19:01:19 +02:00
Jan Prochazka
c6be115634 fixed test 2024-09-19 18:54:29 +02:00
Jan Prochazka
dadde225f1 db handle 2024-09-19 18:53:12 +02:00
Jan Prochazka
31dfc1dc28 try to fix test 2024-09-19 18:42:08 +02:00
Jan Prochazka
1de163af44 unique db name prop 2024-09-19 18:38:30 +02:00
Jan Prochazka
2181eada53 fix 2024-09-19 18:35:36 +02:00
Jan Prochazka
75e63d2710 JEST --detectOpenHandles flag 2024-09-19 18:31:52 +02:00
Jan Prochazka
fbfcdcbc40 Revert "test"
This reverts commit 0238e6a7f1.
2024-09-19 18:30:52 +02:00
Jan Prochazka
0238e6a7f1 test 2024-09-19 18:29:35 +02:00
Jan Prochazka
be17301c91 try to fix test 2024-09-19 18:23:25 +02:00
Jan Prochazka
b1118c7f43 try to fix test 2024-09-19 18:17:30 +02:00
Jan Prochazka
24bf5e5b0c fix 2024-09-19 18:10:27 +02:00
Jan Prochazka
122471f81f neutral schema cond 2024-09-19 18:03:20 +02:00
Jan Prochazka
a6136cee25 skipSeparateSchemas flag 2024-09-19 17:07:34 +02:00
Jan Prochazka
83357ba2cc fix 2024-09-19 16:05:54 +02:00
Jan Prochazka
4fe10b26b0 postgre analyser fix 2024-09-19 16:00:54 +02:00
Jan Prochazka
485f6c9759 v5.4.5-beta.8 2024-09-19 15:22:00 +02:00
Jan Prochazka
732c5b763b fix 2024-09-19 15:21:41 +02:00
Jan Prochazka
4431d08a88 separate schema selector in frontend 2024-09-19 15:19:16 +02:00
Jan Prochazka
cb7224ac94 fix 2024-09-19 14:23:34 +02:00
Jan Prochazka
66b39c1f80 fixes 2024-09-19 14:17:11 +02:00
Jan Prochazka
b30f139b5d postgre analyser supports compisite db names 2024-09-19 14:15:22 +02:00
Jan Prochazka
f39ec26c29 UI fix 2024-09-19 13:43:55 +02:00
Jan Prochazka
8c3c32aeba default schema refactor 2024-09-19 13:41:49 +02:00
Jan Prochazka
9eb27f5e92 refresh schema list 2024-09-19 11:15:44 +02:00
Jan Prochazka
3e5b45de8f schemaList moved from dbinfo to separate request 2024-09-19 10:59:09 +02:00
Jan Prochazka
e7b4a6ffcc Merge branch 'feature/db-schema' 2024-09-19 09:53:55 +02:00
Jan Prochazka
e7ec75138d fix 2024-09-19 09:52:54 +02:00
Jan Prochazka
6c4679d83b fixed scenario after save table 2024-09-19 09:32:49 +02:00
Jan Prochazka
5f23b29c4e create table in multi-schema 2024-09-19 09:24:08 +02:00
Jan Prochazka
55db98fe1b removed unused imports 2024-09-19 09:02:20 +02:00
Jan Prochazka
f7c5ffa0ce create table - changed workflow 2024-09-19 09:00:13 +02:00
Jan Prochazka
d1e98e5640 fixed incremental analysis when changed schema+test 2024-09-18 16:30:45 +02:00
Jan Prochazka
e785fdf9b7 test fix for clickhouse 2024-09-18 16:16:46 +02:00
Jan Prochazka
fc0db925c5 schema analyser test 2024-09-18 16:01:02 +02:00
SPRINX0\prochazka
5ab686b721 schema update in database analyser 2024-09-18 15:37:34 +02:00
SPRINX0\prochazka
327d43096f schema selector is cached by conid and database 2024-09-18 14:07:33 +02:00
SPRINX0\prochazka
1f7b632553 fix - show schema selector, when no schema is available 2024-09-18 14:01:58 +02:00
SPRINX0\prochazka
592d7987ab show objects by schemas 2024-09-18 13:50:02 +02:00
SPRINX0\prochazka
c429424fda v5.4.5-beta.7 2024-09-17 17:17:32 +02:00
SPRINX0\prochazka
0b4709d383 import/export tab title 2024-09-17 17:14:57 +02:00
SPRINX0\prochazka
336929ff3f export menu changed 2024-09-17 16:56:41 +02:00
SPRINX0\prochazka
677f83cc4b fixed filtering in json columns for postgres #889 2024-09-17 16:42:07 +02:00
SPRINX0\prochazka
5c58c35a64 Merge branch 'feature/import-export' 2024-09-17 16:17:46 +02:00
SPRINX0\prochazka
b346a458a6 fix 2024-09-17 16:00:59 +02:00
SPRINX0\prochazka
226512a4ca removed open wizard from shell function 2024-09-17 15:50:01 +02:00
SPRINX0\prochazka
a0527d78e9 save import/export jobs 2024-09-17 15:47:40 +02:00
SPRINX0\prochazka
3357295d98 removed ImportExportModal 2024-09-17 15:19:45 +02:00
SPRINX0\prochazka
fc6a43b4fe download fileat first in imports 2024-09-17 15:06:54 +02:00
SPRINX0\prochazka
260b2e4b12 JSON export - support for object style, key field, root field 2024-09-17 14:28:31 +02:00
Jan Prochazka
f080b18d3f refactor 2024-09-17 13:47:28 +02:00
Jan Prochazka
56f015ffd5 JSON import rootField support 2024-09-17 13:23:51 +02:00
Jan Prochazka
fd8a28831e JSON object import 2024-09-17 12:52:53 +02:00
Jan Prochazka
503e09ddd1 import test small refactor 2024-09-17 12:40:41 +02:00
Jan Prochazka
880912806a JSON import 2024-09-17 12:32:03 +02:00
SPRINX0\prochazka
665ce22741 JSON import 2024-09-17 12:16:59 +02:00
SPRINX0\prochazka
e5c9ec7681 Merge branch 'feature/import-export' of https://github.com/dbgate/dbgate into feature/import-export 2024-09-17 10:45:43 +02:00
SPRINX0\prochazka
74fceeec78 fix 2024-09-17 10:45:41 +02:00
Jan Prochazka
77d60ccfa5 auto-detect CSV delimiter in test 2024-09-17 10:29:49 +02:00
SPRINX0\prochazka
0c2b25f79a auto-detect CSV delimiter 2024-09-17 10:28:58 +02:00
Jan Prochazka
4065e05013 CSV import fixed 2024-09-17 09:59:47 +02:00
Jan Prochazka
319a7fd003 csv import test (failing) 2024-09-16 18:50:14 +02:00
Jan Prochazka
26c01f43f9 drag & drop file to export/import tab 2024-09-16 17:28:30 +02:00
Jan Prochazka
88d7e07bea fixed upload file 2024-09-16 17:16:54 +02:00
SPRINX0\prochazka
a9a5a3491e showModal(ImportExportModal => openImportExportTab 2024-09-16 13:03:49 +02:00
SPRINX0\prochazka
d255273368 open import/export tab function 2024-09-16 12:47:13 +02:00
SPRINX0\prochazka
a7846b4adf import export tab working 2024-09-16 12:15:43 +02:00
SPRINX0\prochazka
ce431e6e21 fix 2024-09-16 10:25:52 +02:00
SPRINX0\prochazka
f8e39a2a5d runtests on feature branch 2024-09-16 10:25:30 +02:00
SPRINX0\prochazka
e5135b1a9d run tests on feature branch 2024-09-16 10:23:31 +02:00
SPRINX0\prochazka
c45a6f1299 v5.4.5-beta.6 2024-09-16 10:11:21 +02:00
SPRINX0\prochazka
873e60c26a Merge branch 'develop' 2024-09-16 10:10:54 +02:00
Jan Prochazka
b0134b221b added clickhouse server 2024-09-16 09:56:14 +02:00
Jan Prochazka
f4bb13f617 clickhouse tests - run on CI 2024-09-16 09:51:01 +02:00
Jan Prochazka
c32955a7c9 skipped some tests for clickhouse 2024-09-16 09:50:36 +02:00
Jan Prochazka
f8fe444f29 clickhouse table analyser test 2024-09-16 09:47:44 +02:00
Jan Prochazka
08dd2ae38f table analyse test WIP 2024-09-13 16:30:48 +02:00
Jan Prochazka
a88a64710b analysis test refactor 2024-09-13 16:11:38 +02:00
Jan Prochazka
c410a7bb07 clickhouse tests 2024-09-13 15:55:33 +02:00
Jan Prochazka
0ba7b5fb39 skip preload tests for clickhouse - not supported 2024-09-13 15:51:10 +02:00
Jan Prochazka
334440f691 fixed import for clickhouse 2024-09-13 15:47:12 +02:00
Jan Prochazka
89c9d5e792 skip data duplicator 2024-09-13 15:24:29 +02:00
Jan Prochazka
0d1b6702a7 alter table tests 2024-09-13 15:11:45 +02:00
Jan Prochazka
b366a7d451 alter table fixes WIP 2024-09-13 14:23:37 +02:00
Jan Prochazka
c1106c1b01 v5.4.5-alpha.5 2024-09-13 13:36:55 +02:00
Jan Prochazka
9c48608588 clickhouse plugin version 2024-09-13 13:36:37 +02:00
Jan Prochazka
b32a6daeab v5.4.5-alpha.4 2024-09-13 13:23:59 +02:00
Jan Prochazka
b1f018905b publish clickhouse plugin 2024-09-13 13:23:46 +02:00
Jan Prochazka
17537e592f v5.4.5-alpha.3 2024-09-13 13:11:22 +02:00
Jan Prochazka
0211cf59af clickhouse tests WIP 2024-09-13 13:09:33 +02:00
Jan Prochazka
2728d60422 updated upload-artifacts action 2024-09-12 16:13:52 +02:00
Jan Prochazka
e5079f6dbf v5.4.5-beta.2 2024-09-12 16:00:04 +02:00
Jan Prochazka
487ac94034 updated upload artifact action 2024-09-12 15:59:50 +02:00
Jan Prochazka
fda350c05b v5.4.5-beta.1 2024-09-12 15:57:46 +02:00
Jan Prochazka
6f32e27eec fix 2024-09-12 15:53:56 +02:00
Jan Prochazka
3c4fad108b clickhouse fix 2024-09-12 15:42:16 +02:00
Jan Prochazka
b232263708 clickhouse import 2024-09-12 15:39:48 +02:00
Jan Prochazka
086bc0d9f3 clickhouse export 2024-09-12 14:40:29 +02:00
Jan Prochazka
e21c6d4872 clickhouse - view support, incremental structure update 2024-09-12 13:49:10 +02:00
Jan Prochazka
d2e49967e4 hide indexes from clickhouse 2024-09-12 13:20:15 +02:00
Jan Prochazka
2f1cbbd75e sorting key support, clickhouse recreate table support 2024-09-12 11:59:03 +02:00
Jan Prochazka
670cfb9dc0 don't show primary key name when anonymousePrimaryKey=true 2024-09-12 09:04:52 +02:00
Jan Prochazka
e54bd1da3f logs 2024-09-12 08:43:34 +02:00
Jan Prochazka
fb2b47615f option allowEmptyValue flag 2024-09-12 08:37:09 +02:00
Jan Prochazka
00a6c19f09 test log messages 2024-09-12 08:24:50 +02:00
Jan Prochazka
51c8169232 Revert "try to fix build"
This reverts commit 8ab814cb8b.
2024-09-12 08:14:46 +02:00
Jan Prochazka
8ab814cb8b try to fix build 2024-09-12 07:54:45 +02:00
Jan Prochazka
577517e043 fix connection label 2024-09-12 07:01:14 +02:00
Jan Prochazka
d17a667cf4 postgres and oracle don't have anonymouse PKs 2024-09-11 17:06:52 +02:00
Jan Prochazka
575f8f23a7 clickhouse: sorting key editor support 2024-09-11 16:53:11 +02:00
Jan Prochazka
33eed816aa clickhouse: rename & change column 2024-09-11 16:28:35 +02:00
Jan Prochazka
08fce96691 specificNullabilityImplementation 2024-09-11 15:43:14 +02:00
Jan Prochazka
f74533b42f clickhouse: added specifcNotNull dialect option 2024-09-11 15:41:26 +02:00
Jan Prochazka
fb39cd1302 clickhouse + mysql: modify table option 2024-09-11 15:09:16 +02:00
Jan Prochazka
7ad1950777 getTableFormOptions moved to dialect 2024-09-11 14:01:11 +02:00
Jan Prochazka
b0165c14e9 tabl eoptions for mysql - comment, engine 2024-09-11 13:41:04 +02:00
Jan Prochazka
4f429c27c0 fix 2024-09-11 13:05:42 +02:00
Jan Prochazka
ff33ec668b clickhouse: edit table options 2024-09-11 12:51:09 +02:00
Jan Prochazka
f6e0b634f0 collapsible table editor parts 2024-09-11 09:53:16 +02:00
Jan Prochazka
36a65ea13a mysql - engine 2024-09-11 09:34:26 +02:00
Jan Prochazka
ae9ffe1aef editing table works 2024-09-11 09:16:08 +02:00
Jan Prochazka
15c400747e table engine shown in object tree 2024-09-11 08:48:15 +02:00
Jan Prochazka
448c15c308 supportsTransactions driver parameter 2024-09-11 08:16:54 +02:00
SPRINX0\prochazka
293ef047d0 add column WIP 2024-09-10 16:32:02 +02:00
SPRINX0\prochazka
5c50faa0a2 clickhouse: show sorting key 2024-09-10 16:14:25 +02:00
SPRINX0\prochazka
18e6200c3b wip 2024-09-10 15:42:22 +02:00
SPRINX0\prochazka
8d865ab3b3 clickhouse: nullable types 2024-09-10 15:18:57 +02:00
SPRINX0\prochazka
ceb51a2597 basic driver works 2024-09-10 14:38:33 +02:00
SPRINX0\prochazka
f2d29f97dc clickhouse plugin - initial import 2024-09-10 14:29:51 +02:00
SPRINX0\prochazka
d75f533b76 v5.4.4 2024-09-10 09:48:33 +02:00
SPRINX0\prochazka
7e74ce8366 Revert "temp build beta app - only windows"
This reverts commit 52e774f2cc.
2024-09-10 09:47:50 +02:00
SPRINX0\prochazka
c2f41e51da changelog 2024-09-10 09:42:00 +02:00
SPRINX0\prochazka
9158b69b1e v5.4.4-beta.12 2024-09-10 09:29:51 +02:00
SPRINX0\prochazka
f9ce6ed8f4 changelog 2024-09-10 09:23:17 +02:00
SPRINX0\prochazka
2f90106e32 v5.4.4-beta.11 2024-09-10 09:11:16 +02:00
SPRINX0\prochazka
a74f6db1e0 messages 2024-09-10 09:11:04 +02:00
SPRINX0\prochazka
f1ad4e190a shorter update messages 2024-09-10 09:08:30 +02:00
SPRINX0\prochazka
52e774f2cc temp build beta app - only windows 2024-09-10 09:07:05 +02:00
SPRINX0\prochazka
14331501ba fixed electron build 2024-09-10 09:06:47 +02:00
SPRINX0\prochazka
49e00a8a0f Merge branch 'autoupgrade' 2024-09-10 08:49:58 +02:00
SPRINX0\prochazka
69bc9d6111 v5.4.4-beta.10 2024-09-10 08:41:15 +02:00
SPRINX0\prochazka
64ab1bb111 autoupgrade status 2024-09-10 08:41:03 +02:00
SPRINX0\prochazka
818f4eaa10 update status with icon 2024-09-10 08:34:14 +02:00
SPRINX0\prochazka
6e6699f60a copy blockmap 2024-09-09 17:00:21 +02:00
SPRINX0\prochazka
ba665931dd v5.4.4-beta.9 2024-09-09 16:58:47 +02:00
SPRINX0\prochazka
5b010bcc53 fix 2024-09-09 16:58:11 +02:00
SPRINX0\prochazka
fdb5fdfadd fix 2024-09-09 16:54:11 +02:00
SPRINX0\prochazka
628d8eb5dc fix 2024-09-09 16:33:47 +02:00
SPRINX0\prochazka
a78c375b90 v5.4.4-beta.8 2024-09-09 16:22:48 +02:00
SPRINX0\prochazka
f5f653965f copy blockmap 2024-09-09 16:21:50 +02:00
SPRINX0\prochazka
0ea84fe034 checking for updates moved into app-ready 2024-09-09 16:16:47 +02:00
SPRINX0\prochazka
11e8cff77e v5.4.4-beta.7 2024-09-09 16:04:04 +02:00
SPRINX0\prochazka
2db3f14509 configurable auto-update mode 2024-09-09 16:03:49 +02:00
SPRINX0\prochazka
db1d4aa555 v5.4.4-beta.6 2024-09-09 15:52:08 +02:00
SPRINX0\prochazka
1fcaf08644 auto close snackbar 2024-09-09 15:51:41 +02:00
SPRINX0\prochazka
703a4bdb57 checking for update 2024-09-09 15:44:34 +02:00
SPRINX0\prochazka
3303fd1ee9 removed obsolete code 2024-09-09 14:51:43 +02:00
SPRINX0\prochazka
5b796a4d88 v5.4.4-premium-beta.5 2024-09-09 13:12:47 +02:00
SPRINX0\prochazka
e5ab354d15 v5.4.4-premim-beta.4 2024-09-09 13:11:54 +02:00
SPRINX0\prochazka
8fc8bc19d4 build 2024-09-09 13:11:32 +02:00
SPRINX0\prochazka
590bd166fd v5.4.4-beta.3 2024-09-09 13:09:30 +02:00
SPRINX0\prochazka
4f360eec96 premium beta build 2024-09-09 13:08:21 +02:00
SPRINX0\prochazka
d9c16e6d01 v5.4.4-beta.2 2024-09-09 11:59:26 +02:00
SPRINX0\prochazka
2a94e5da27 v5.4.4-beta.1 2024-09-09 11:53:51 +02:00
SPRINX0\prochazka
cb32d2152e Merge branch 'master' of https://github.com/dbgate/dbgate 2024-09-09 11:48:51 +02:00
SPRINX0\prochazka
a5d482ad18 updated electron updater 2024-09-09 11:48:48 +02:00
Jan Prochazka
017366f3aa v5.4.3 2024-09-06 14:19:47 +02:00
Jan Prochazka
582c982a9c build fix 2024-09-06 14:19:26 +02:00
Jan Prochazka
ad6a93bfb5 v5.4.3-beta.1 2024-09-06 14:02:04 +02:00
Jan Prochazka
bc92a63111 fixed SSL with MongoDB #885 2024-09-06 13:59:17 +02:00
Jan Prochazka
5ff1009c22 fix 2024-09-06 13:52:22 +02:00
Jan Prochazka
c1e6a01b63 v5.4.2 2024-09-06 13:50:32 +02:00
SPRINX0\prochazka
5daf64360c v5.4.2-beta.7 2024-09-05 15:26:02 +02:00
SPRINX0\prochazka
3fd887d6cf oracle fixes 2024-09-05 15:09:09 +02:00
SPRINX0\prochazka
486d7a946d build all platforms 2024-09-05 14:20:25 +02:00
SPRINX0\prochazka
22a81ed2ee refactor 2024-09-05 13:58:31 +02:00
SPRINX0\prochazka
77b6bddd87 oracle views fixed 2024-09-05 13:43:40 +02:00
SPRINX0\prochazka
0085505b7d v5.4.2-pro.6 2024-09-05 13:17:50 +02:00
SPRINX0\prochazka
880b07a328 support range select for oracle <12 2024-09-05 13:13:58 +02:00
SPRINX0\prochazka
f0f9be3051 v5.4.2-pro.5 2024-09-05 12:59:10 +02:00
SPRINX0\prochazka
176f28a178 v5.3.2-pro.4 2024-09-05 12:36:34 +02:00
SPRINX0\prochazka
e31c377d4e build only windows temporarily 2024-09-05 12:35:44 +02:00
SPRINX0\prochazka
0f247450c7 electron updater allow prerelease 2024-09-05 12:34:38 +02:00
SPRINX0\prochazka
2e67769491 v5.4.2-pro.3 2024-09-05 12:04:30 +02:00
SPRINX0\prochazka
b80c428224 changed manifest build 2024-09-05 11:52:53 +02:00
SPRINX0\prochazka
6940bb4556 fix 2024-09-05 11:40:40 +02:00
SPRINX0\prochazka
44142e8b25 added info to trial payload 2024-09-05 11:05:15 +02:00
SPRINX0\prochazka
ccb22be8bf v5.4.2-pro.2 2024-09-05 10:23:14 +02:00
SPRINX0\prochazka
64ff5d61a4 fix 2024-09-05 10:23:02 +02:00
SPRINX0\prochazka
32ac4c1f28 v5.4.2-pro.1 2024-09-05 10:21:32 +02:00
SPRINX0\prochazka
365e697121 builder - updater channel 2024-09-05 10:20:39 +02:00
SPRINX0\prochazka
2bf717a2eb changed publish syntax 2024-09-05 10:10:35 +02:00
SPRINX0\prochazka
9d47ea61c7 changelog 2024-09-05 09:55:49 +02:00
SPRINX0\prochazka
b04b0afa03 fix 2024-09-05 09:19:56 +02:00
SPRINX0\prochazka
6ed18c2dbb v5.4.1 2024-09-04 16:49:00 +02:00
SPRINX0\prochazka
a68c04b355 fix 2024-09-04 16:32:09 +02:00
SPRINX0\prochazka
25f8cb2dce comment 2024-09-04 16:20:33 +02:00
SPRINX0\prochazka
a7509f511b fixed older plugins #881 2024-09-04 16:20:06 +02:00
SPRINX0\prochazka
6b31d728a8 v5.4.1-beta.2 2024-09-04 16:10:13 +02:00
SPRINX0\prochazka
787d6596bf hardware fingerprint 2024-09-04 16:08:45 +02:00
SPRINX0\prochazka
a256acb203 v5.4.1-beta.1 2024-09-04 14:50:05 +02:00
SPRINX0\prochazka
d19c30d0b2 trial 2024-09-04 14:46:59 +02:00
SPRINX0\prochazka
faa186c1e4 trial support 2024-09-04 12:51:57 +02:00
Jan Prochazka
d8467b5ae1 changelog 2024-09-03 15:17:58 +02:00
Jan Prochazka
2c096486f5 v5.4.0 2024-09-03 15:05:37 +02:00
Jan Prochazka
17e31270ae build premium app 2024-09-03 15:04:56 +02:00
Jan Prochazka
29debe0f80 v5.3.5-beta.24 2024-09-03 14:29:09 +02:00
Jan Prochazka
60bbc45cb2 isPackages plugin flag 2024-09-03 14:17:22 +02:00
Jan Prochazka
7c04dc00b1 fix 2024-09-03 13:46:43 +02:00
Jan Prochazka
eb56b6eab8 v5.3.5-beta.23 2024-09-03 13:22:03 +02:00
Jan Prochazka
d0d226a9e1 mac - premuim build 2024-09-03 13:21:45 +02:00
Jan Prochazka
cbdda06456 electron build 2024-09-03 13:20:44 +02:00
Jan Prochazka
00ee4979fb v5.3.5-pro.22 2024-09-03 12:59:54 +02:00
Jan Prochazka
3a0a3a2ddb html files for pages 2024-09-03 12:57:52 +02:00
Jan Prochazka
90dfe889f7 trial license key info 2024-09-03 10:57:33 +02:00
Jan Prochazka
43c3a4181c v5.3.5-pro.21 2024-09-03 10:45:26 +02:00
Jan Prochazka
4838c29873 debug console 2024-09-03 10:45:13 +02:00
Jan Prochazka
a3b6a7446d v5.3.5-pro.20 2024-09-03 10:17:43 +02:00
Jan Prochazka
f015906347 autoupdater - premium channel 2024-09-03 10:16:46 +02:00
Jan Prochazka
40a4536d0b enabled pro windows build 2024-09-03 09:46:17 +02:00
Jan Prochazka
906ed3d237 app title 2024-09-03 09:45:44 +02:00
Jan Prochazka
416ed14a9d v5.3.5-pro.19 2024-09-03 09:26:10 +02:00
Jan Prochazka
014d1a4572 build fix 2024-09-03 09:25:59 +02:00
Jan Prochazka
eec4aba2f0 v5.3.5-pro.18 2024-09-03 09:15:14 +02:00
Jan Prochazka
80a619bc85 v5.3.5-pro.16 2024-09-03 09:14:47 +02:00
Jan Prochazka
0a2a43d12b build fix 2024-09-03 09:14:37 +02:00
Jan Prochazka
b671816004 v5.3.5-pro.17 2024-09-03 09:08:40 +02:00
Jan Prochazka
e9c8d86937 build fix 2024-09-03 09:08:29 +02:00
Jan Prochazka
7362799a34 v5.3.5-pro.16 2024-09-03 09:06:04 +02:00
Jan Prochazka
80106f82a9 build premium 2024-09-03 09:05:52 +02:00
Jan Prochazka
891329de29 v5.3.5-pro.15 2024-09-03 09:01:44 +02:00
Jan Prochazka
34e11b351e pro build 2024-09-03 09:01:29 +02:00
Jan Prochazka
2d64d37f58 v5.3.5-pro.14 2024-09-03 08:57:57 +02:00
Jan Prochazka
915c6f42ec label 2024-09-03 08:57:51 +02:00
Jan Prochazka
875f1adb3d premium beta build 2024-09-03 08:57:00 +02:00
SPRINX0\prochazka
311bf3f706 mongo filters fixed 2024-09-02 16:03:17 +02:00
SPRINX0\prochazka
2e9daba3aa fixed number filter for mongodb and cosmosdb 2024-09-02 14:50:46 +02:00
SPRINX0\prochazka
106a09162b v5.3.5-beta.13 2024-09-02 14:16:47 +02:00
SPRINX0\prochazka
21f7623c29 fix 2024-09-02 14:15:19 +02:00
SPRINX0\prochazka
31162ef175 disabled some menu items 2024-09-02 14:05:40 +02:00
SPRINX0\prochazka
50583f928a support connect oracle via SID 2024-09-02 10:46:43 +02:00
SPRINX0\prochazka
b87e53b704 connection label fixes 2024-09-02 10:18:59 +02:00
SPRINX0\prochazka
2f42319d2b fixed db url handling 2024-09-02 10:12:03 +02:00
Jan Prochazka
ff8a5f1658 fix 2024-08-30 14:31:07 +02:00
Jan Prochazka
be0be4d0a0 oracle fix WIP 2024-08-30 13:58:19 +02:00
Jan Prochazka
9a39fee663 support for quote identifiers 2024-08-30 12:20:35 +02:00
Jan Prochazka
075f92ac31 fix create & drop database on oracle 2024-08-30 11:00:45 +02:00
Jan Prochazka
0c4ad146b8 upgraded dbgate-query-splitter fixes #880 2024-08-30 10:26:34 +02:00
Jan Prochazka
3fa688c9cb Merge branch 'master' of github.com:dbgate/dbgate 2024-08-30 10:01:01 +02:00
Jan Prochazka
fe9394103f upgraded mysql2 driver 2024-08-30 10:00:58 +02:00
Jan Prochazka
b747c750e8 createDb, dropDb - catch errors 2024-08-29 19:50:46 +02:00
SPRINX0\prochazka
967daf3bb6 changeset fix - don't update autoincrement column 2024-08-29 14:15:04 +02:00
SPRINX0\prochazka
c097e78dd0 preloaded rows works with autoinc columns (fix for mssql) 2024-08-29 10:53:56 +02:00
SPRINX0\prochazka
e982e8cd9b v5.3.5-beta.12 2024-08-29 09:37:50 +02:00
SPRINX0\prochazka
5559d51dfb reset settings command 2024-08-29 09:37:30 +02:00
SPRINX0\prochazka
791a2e8cd4 mysql analyser & comparer fix 2024-08-28 16:53:20 +02:00
SPRINX0\prochazka
d243af323e perspectives: support nosql other than mongo 2024-08-28 15:49:32 +02:00
SPRINX0\prochazka
73ec42a9c8 collections script templates 2024-08-28 14:26:34 +02:00
SPRINX0\prochazka
e71d278b20 renameCollection, cloneCollection - in driver 2024-08-28 13:03:03 +02:00
Jan Prochazka
61c3ff423a SSH key file option available on web platforms #876 2024-08-28 10:16:42 +02:00
Jan Prochazka
1afa9000f8 table editor permissions 2024-08-28 09:51:34 +02:00
Jan Prochazka
75ef8ec801 v5.3.5-beta.11 2024-08-27 16:37:04 +02:00
Jan Prochazka
94dc292dc9 handle permissions 2024-08-27 16:32:53 +02:00
Jan Prochazka
74adf1dd3f new permissions 2024-08-27 12:43:19 +02:00
Jan Prochazka
db6d5f498b readonly connection fixes 2024-08-27 11:20:43 +02:00
Jan Prochazka
b9737533bd respect readonly connection flag in table editor 2024-08-27 11:13:10 +02:00
Jan Prochazka
93f64a6bab handle readonly connection 2024-08-27 10:49:03 +02:00
Jan Prochazka
8367cc4b59 v5.3.5-beta.10 2024-08-26 15:42:42 +02:00
Jan Prochazka
e97787113c Merge branch 'grid-data-types' 2024-08-26 15:42:01 +02:00
Jan Prochazka
6fb9c4b14f Merge branch 'new-icon-2' 2024-08-26 15:41:53 +02:00
Jan Prochazka
4436ff95a8 nosql add new column GUI improved 2024-08-26 15:39:57 +02:00
Jan Prochazka
d54b47f713 mogno export+import uses EJSON 2024-08-26 15:09:44 +02:00
Jan Prochazka
62de736bce refactor 2024-08-26 14:44:59 +02:00
Jan Prochazka
2232a7bab1 JSONL data editor supports data types 2024-08-26 14:26:38 +02:00
Jan Prochazka
32ebd86171 support remove fields for mongo 2024-08-26 13:25:51 +02:00
Jan Prochazka
8e17516d54 support date type 2024-08-26 11:33:29 +02:00
Jan Prochazka
3bfa7d54d0 secondary edit button 2024-08-26 10:11:09 +02:00
Jan Prochazka
60bf682449 multiline dialog fixes 2024-08-26 09:58:09 +02:00
Jan Prochazka
24c6205d81 v5.3.5-beta.9 2024-08-26 09:33:44 +02:00
Jan Prochazka
018b97b197 defaulty ts server 2024-08-26 09:33:32 +02:00
Jan Prochazka
4cbfa7c937 fixes 2024-08-26 09:32:28 +02:00
Jan Prochazka
db7f3e5619 v5.3.5-beta.8 2024-08-26 08:36:39 +02:00
Jan Prochazka
bcafd9a078 changed timestamp server 2024-08-26 08:36:22 +02:00
SPRINX0\prochazka
eaa943a39d mongo - using ejson 2024-08-23 16:27:36 +02:00
SPRINX0\prochazka
3b813e93e7 cell display refactor 2024-08-23 16:19:04 +02:00
SPRINX0\prochazka
23a52dc79e grid data types WIP 2024-08-23 14:42:18 +02:00
Jan Prochazka
88e245da7d v5.3.5-beta.7 2024-08-23 09:20:49 +02:00
Jan Prochazka
5ee9e5098c Merge branch 'master' into new-icon-2 2024-08-23 09:20:20 +02:00
Jan Prochazka
4ea55644c4 Merge branch 'develop' 2024-08-23 09:20:01 +02:00
Jan Prochazka
a13ca9f96a new icon 2024-08-23 09:14:11 +02:00
SPRINX0\prochazka
ba4826559b new icon 2024-08-23 08:45:14 +02:00
Jan Prochazka
9d4803edc7 fixed switch to form and back to table rows missing #343 2024-08-22 16:49:09 +02:00
Jan Prochazka
71850f8497 nosql: show filter if not rows matched 2024-08-22 16:20:59 +02:00
Jan Prochazka
ccb28783a2 new collection refactor 2024-08-22 11:48:34 +02:00
Jan Prochazka
7ad8edcdae new collection refactor + mongo drop collection fixed 2024-08-22 10:41:29 +02:00
Jan Prochazka
77b42e6a04 new collection modal refactor 2024-08-22 09:43:33 +02:00
Jan Prochazka
869e837ee5 fix 2024-08-22 08:16:31 +02:00
Jan Prochazka
b27f58be9f formatting 2024-08-21 14:50:25 +02:00
Jan Prochazka
a51bd70e80 generic nosql data editor 2024-08-21 13:10:28 +02:00
Jan Prochazka
95f580d51c v5.3.5-beta.6 2024-08-21 10:16:39 +02:00
Jan Prochazka
2b9fa9a70f oracle fix + package optimalization 2024-08-21 09:54:10 +02:00
Jan Prochazka
1cbeeac7cd nosql db WIP 2024-08-20 17:01:17 +02:00
Jan Prochazka
d131287ca0 Cosmos name 2024-08-20 16:45:44 +02:00
Jan Prochazka
9f553ef52a fixed ordering 2024-08-20 14:24:15 +02:00
Jan Prochazka
781d6f1585 fix nosql ordering 2024-08-20 14:21:23 +02:00
Jan Prochazka
76c8f8ef62 mongo sorts - moved to plugin 2024-08-20 14:00:58 +02:00
Jan Prochazka
49e338bbbc conditionType expression 2024-08-20 13:30:53 +02:00
Jan Prochazka
968e69c7f2 DBGATE_TOOLS => DBGATE_PACKAGES 2024-08-20 12:18:55 +02:00
Jan Prochazka
8a69e94d79 Merge branch 'mongo-condition-refactor' 2024-08-20 10:30:25 +02:00
Jan Prochazka
80a4d3f238 perspectives - remove mongo hardcodes 2024-08-20 10:28:02 +02:00
Jan Prochazka
30e3bc6eeb mongo driver - collection export scripts 2024-08-20 09:15:10 +02:00
Jan Prochazka
9bc654cd38 mongo refactor WIP 2024-08-19 17:07:21 +02:00
Jan Prochazka
b9ad63c926 simplified filter compiling - merged into one compiler 2024-08-19 16:50:19 +02:00
Jan Prochazka
4bdcf219f2 datetime filters added to standard filters 2024-08-19 16:47:54 +02:00
Jan Prochazka
303bd659ad mongo filtering via sql tree 2024-08-19 16:25:16 +02:00
Jan Prochazka
9fedfcbb0e mongo condition refactor 2024-08-19 15:31:54 +02:00
Jan Prochazka
8cffeaa767 dynamic filter 2024-08-19 14:03:07 +02:00
Jan Prochazka
9e28f6f3aa Merge branch 'filter-refactor' 2024-08-19 13:20:15 +02:00
944 changed files with 196394 additions and 14358 deletions

View File

@@ -1,21 +1,27 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app BETA
on:
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
- v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-12, windows-2022, ubuntu-22.04]
# os: [macOS-10.15]
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- name: Install python 3.11 (MacOS)
if: matrix.os == 'macos-14'
run: |
brew install python@3.11
echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
@@ -23,61 +29,58 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 18.x
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 18.x
- name: yarn adjustPackageJson
node-version: 22.x
- name: adjustPackageJson
run: |
yarn adjustPackageJson
node adjustPackageJson --community
- name: setUpdaterChannel beta
run: |
node setUpdaterChannel beta
- name: yarn set timeout
run: |
yarn config set network-timeout 100000
- name: yarn install
run: |
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
run: |
yarn printSecrets
yarn printSecrets
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillNativeModulesElectron
run: |
yarn fillNativeModulesElectron
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish
run: |
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
GH_TOKEN: ${{ secrets.GH_TOKEN }}
WIN_CSC_LINK: ${{ secrets.WINCERT_2025 }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_2025_PASSWORD }}
# WIN_CSC_LINK: ${{ secrets.WINCERT_CERTIFICATE }}
# WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_PASSWORD }}
CSC_LINK: ${{ secrets.APPLECERT_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLECERT_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
- name: publishSnap
if: matrix.os == 'ubuntu-22.04'
run: |
snapcraft upload --release=beta app/dist/*.snap
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Copy artifacts
run: |
mkdir artifacts
@@ -89,8 +92,10 @@ jobs:
cp app/dist/*win*.exe artifacts/dbgate-beta.exe || true
cp app/dist/*win_x64.zip artifacts/dbgate-windows-beta.zip || true
cp app/dist/*win_arm64.zip artifacts/dbgate-windows-beta-arm64.zip || true
cp app/dist/*-mac_x64.dmg artifacts/dbgate-beta.dmg || true
cp app/dist/*-mac_universal.dmg artifacts/dbgate-beta.dmg || true
cp app/dist/*-mac_x64.dmg artifacts/dbgate-beta-x64.dmg || true
cp app/dist/*-mac_arm64.dmg artifacts/dbgate-beta-arm64.dmg || true
mv app/dist/*.snap artifacts/dbgate-beta.snap || true
mv app/dist/*.exe artifacts/ || true
mv app/dist/*.zip artifacts/ || true
@@ -99,18 +104,25 @@ jobs:
mv app/dist/*.deb artifacts/ || true
mv app/dist/*.snap artifacts/ || true
mv app/dist/*.dmg artifacts/ || true
mv app/dist/*.blockmap artifacts/ || true
mv app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: artifacts
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: 'artifacts/**'
files: artifacts/**
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Print content of notarization-error.log
if: failure() && matrix.os == 'macos-14'
run: |
find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;

111
.github/workflows/build-app-check.yaml vendored Normal file
View File

@@ -0,0 +1,111 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app check build
'on':
push:
tags:
- check-[0-9]+-[0-9]+-[0-9]+.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- name: Install python 3.11 (MacOS)
if: matrix.os == 'macos-14'
run: |
brew install python@3.11
echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: adjustPackageJson
run: |
node adjustPackageJson --community
- name: yarn set timeout
run: |
yarn config set network-timeout 100000
- name: yarn install
run: |
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
run: |
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish
run: |
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
WIN_CSC_LINK: ${{ secrets.WINCERT_2025 }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_2025_PASSWORD }}
CSC_LINK: ${{ secrets.APPLECERT_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLECERT_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Copy artifacts
run: |
mkdir artifacts
cp app/dist/*.deb artifacts/dbgate-check.deb || true
cp app/dist/*x86*.AppImage artifacts/dbgate-check.AppImage || true
cp app/dist/*arm64*.AppImage artifacts/dbgate-check-arm64.AppImage || true
cp app/dist/*armv7l*.AppImage artifacts/dbgate-check-armv7l.AppImage || true
cp app/dist/*win*.exe artifacts/dbgate-check.exe || true
cp app/dist/*win_x64.zip artifacts/dbgate-windows-check.zip || true
cp app/dist/*win_arm64.zip artifacts/dbgate-windows-check-arm64.zip || true
cp app/dist/*-mac_universal.dmg artifacts/dbgate-check.dmg || true
cp app/dist/*-mac_x64.dmg artifacts/dbgate-check-x64.dmg || true
cp app/dist/*-mac_arm64.dmg artifacts/dbgate-check-arm64.dmg || true
mv app/dist/*.snap artifacts/dbgate-check.snap || true
mv app/dist/*.exe artifacts/ || true
mv app/dist/*.zip artifacts/ || true
mv app/dist/*.tar.gz artifacts/ || true
mv app/dist/*.AppImage artifacts/ || true
mv app/dist/*.deb artifacts/ || true
mv app/dist/*.snap artifacts/ || true
mv app/dist/*.dmg artifacts/ || true
mv app/dist/*.blockmap artifacts/ || true
mv app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
- name: Print content of notarization-error.log
if: failure() && matrix.os == 'macos-14'
run: |
find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;

View File

@@ -0,0 +1,161 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app PREMIUM BETA
'on':
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+-premium-beta.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- name: Install python 3.11 (MacOS)
if: matrix.os == 'macos-14'
run: |
brew install python@3.11
echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
node adjustPackageJson --premium
- name: setUpdaterChannel premium-beta
run: |
cd ..
cd dbgate-merged
node setUpdaterChannel premium-beta
- name: yarn set timeout
run: |
cd ..
cd dbgate-merged
yarn config set network-timeout 100000
- name: yarn install
run: |
cd ..
cd dbgate-merged
yarn install
- name: setCurrentVersion
run: |
cd ..
cd dbgate-merged
yarn setCurrentVersion
- name: printSecrets
run: |
cd ..
cd dbgate-merged
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillPackagedPlugins
run: |
cd ..
cd dbgate-merged
yarn fillPackagedPlugins
- name: Publish
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
WIN_CSC_LINK: ${{ secrets.WINCERT_2025 }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_2025_PASSWORD }}
CSC_LINK: ${{ secrets.APPLECERT_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLECERT_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Copy artifacts
run: |
mkdir artifacts
cp ../dbgate-merged/app/dist/*.deb artifacts/dbgate-premium-beta.deb || true
cp ../dbgate-merged/app/dist/*x86*.AppImage artifacts/dbgate-premium-beta.AppImage || true
cp ../dbgate-merged/app/dist/*arm64*.AppImage artifacts/dbgate-premium-beta-arm64.AppImage || true
cp ../dbgate-merged/app/dist/*armv7l*.AppImage artifacts/dbgate-premium-beta-armv7l.AppImage || true
cp ../dbgate-merged/app/dist/*win*.exe artifacts/dbgate-premium-beta.exe || true
cp ../dbgate-merged/app/dist/*win_x64.zip artifacts/dbgate-windows-premium-beta.zip || true
cp ../dbgate-merged/app/dist/*win_arm64.zip artifacts/dbgate-windows-premium-beta-arm64.zip || true
cp ../dbgate-merged/app/dist/*-mac_universal.dmg artifacts/dbgate-premium-beta.dmg || true
cp ../dbgate-merged/app/dist/*-mac_x64.dmg artifacts/dbgate-premium-beta-x64.dmg || true
cp ../dbgate-merged/app/dist/*-mac_arm64.dmg artifacts/dbgate-premium-beta-arm64.dmg || true
mv ../dbgate-merged/app/dist/*.snap artifacts/dbgate-premium-beta.snap || true
mv ../dbgate-merged/app/dist/*.exe artifacts/ || true
mv ../dbgate-merged/app/dist/*.zip artifacts/ || true
mv ../dbgate-merged/app/dist/*.tar.gz artifacts/ || true
mv ../dbgate-merged/app/dist/*.AppImage artifacts/ || true
mv ../dbgate-merged/app/dist/*.deb artifacts/ || true
mv ../dbgate-merged/app/dist/*.snap artifacts/ || true
mv ../dbgate-merged/app/dist/*.dmg artifacts/ || true
mv ../dbgate-merged/app/dist/*.blockmap artifacts/ || true
mv ../dbgate-merged/app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: artifacts
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: artifacts/**
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Print content of notarization-error.log
if: failure() && matrix.os == 'macos-14'
run: |
cd ..
cd dbgate-merged
find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;

161
.github/workflows/build-app-pro.yaml vendored Normal file
View File

@@ -0,0 +1,161 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app PREMIUM
'on':
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- name: Install python 3.11 (MacOS)
if: matrix.os == 'macos-14'
run: |
brew install python@3.11
echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
node adjustPackageJson --premium
- name: setUpdaterChannel premium
run: |
cd ..
cd dbgate-merged
node setUpdaterChannel premium
- name: yarn set timeout
run: |
cd ..
cd dbgate-merged
yarn config set network-timeout 100000
- name: yarn install
run: |
cd ..
cd dbgate-merged
yarn install
- name: setCurrentVersion
run: |
cd ..
cd dbgate-merged
yarn setCurrentVersion
- name: printSecrets
run: |
cd ..
cd dbgate-merged
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillPackagedPlugins
run: |
cd ..
cd dbgate-merged
yarn fillPackagedPlugins
- name: Publish
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
WIN_CSC_LINK: ${{ secrets.WINCERT_2025 }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_2025_PASSWORD }}
CSC_LINK: ${{ secrets.APPLECERT_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLECERT_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Copy artifacts
run: |
mkdir artifacts
cp ../dbgate-merged/app/dist/*.deb artifacts/dbgate-premium-latest.deb || true
cp ../dbgate-merged/app/dist/*x86*.AppImage artifacts/dbgate-premium-latest.AppImage || true
cp ../dbgate-merged/app/dist/*arm64*.AppImage artifacts/dbgate-premium-latest-arm64.AppImage || true
cp ../dbgate-merged/app/dist/*armv7l*.AppImage artifacts/dbgate-premium-latest-armv7l.AppImage || true
cp ../dbgate-merged/app/dist/*win*.exe artifacts/dbgate-premium-latest.exe || true
cp ../dbgate-merged/app/dist/*win_x64.zip artifacts/dbgate-windows-premium-latest.zip || true
cp ../dbgate-merged/app/dist/*win_arm64.zip artifacts/dbgate-windows-premium-latest-arm64.zip || true
cp ../dbgate-merged/app/dist/*-mac_universal.dmg artifacts/dbgate-premium-latest.dmg || true
cp ../dbgate-merged/app/dist/*-mac_x64.dmg artifacts/dbgate-premium-latest-x64.dmg || true
cp ../dbgate-merged/app/dist/*-mac_arm64.dmg artifacts/dbgate-premium-latest-arm64.dmg || true
mv ../dbgate-merged/app/dist/*.snap artifacts/dbgate-premium-latest.snap || true
mv ../dbgate-merged/app/dist/*.exe artifacts/ || true
mv ../dbgate-merged/app/dist/*.zip artifacts/ || true
mv ../dbgate-merged/app/dist/*.tar.gz artifacts/ || true
mv ../dbgate-merged/app/dist/*.AppImage artifacts/ || true
mv ../dbgate-merged/app/dist/*.deb artifacts/ || true
mv ../dbgate-merged/app/dist/*.snap artifacts/ || true
mv ../dbgate-merged/app/dist/*.dmg artifacts/ || true
mv ../dbgate-merged/app/dist/*.blockmap artifacts/ || true
mv ../dbgate-merged/app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: artifacts
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: artifacts/**
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Print content of notarization-error.log
if: failure() && matrix.os == 'macos-14'
run: |
cd ..
cd dbgate-merged
find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;

View File

@@ -1,25 +1,27 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app
on:
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
# - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10
# branches:
# - production
- v[0-9]+.[0-9]+.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
# os: [ubuntu-22.04, windows-2016]
os: [macos-12, windows-2022, ubuntu-22.04]
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- name: Install python 3.11 (MacOS)
if: matrix.os == 'macos-14'
run: |
brew install python@3.11
echo "PYTHON=/opt/homebrew/bin/python3.11" >> $GITHUB_ENV
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
@@ -27,67 +29,57 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 18.x
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 18.x
- name: yarn adjustPackageJson
node-version: 22.x
- name: adjustPackageJson
run: |
yarn adjustPackageJson
node adjustPackageJson --community
- name: yarn set timeout
run: |
yarn config set network-timeout 100000
- name: yarn install
run: |
# yarn --version
# yarn config set network-timeout 300000
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
run: |
yarn printSecrets
yarn printSecrets
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillNativeModulesElectron
run: |
yarn fillNativeModulesElectron
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish
run: |
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
GH_TOKEN: ${{ secrets.GH_TOKEN }}
WIN_CSC_LINK: ${{ secrets.WINCERT_2025 }}
WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_2025_PASSWORD }}
# WIN_CSC_LINK: ${{ secrets.WINCERT_CERTIFICATE }}
# WIN_CSC_KEY_PASSWORD: ${{ secrets.WINCERT_PASSWORD }}
CSC_LINK: ${{ secrets.APPLECERT_CERTIFICATE }}
CSC_KEY_PASSWORD: ${{ secrets.APPLECERT_PASSWORD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: generatePadFile
run: |
yarn generatePadFile
- name: publishSnap
if: matrix.os == 'ubuntu-22.04'
run: |
snapcraft upload --release=stable app/dist/*.snap
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: Copy artifacts
run: |
mkdir artifacts
@@ -96,81 +88,44 @@ jobs:
cp app/dist/*x86*.AppImage artifacts/dbgate-latest.AppImage || true
cp app/dist/*arm64*.AppImage artifacts/dbgate-latest-arm64.AppImage || true
cp app/dist/*armv7l*.AppImage artifacts/dbgate-latest-armv7l.AppImage || true
cp app/dist/*.exe artifacts/dbgate-latest.exe || true
cp app/dist/*win*.exe artifacts/dbgate-latest.exe || true
cp app/dist/*win_x64.zip artifacts/dbgate-windows-latest.zip || true
cp app/dist/*win_arm64.zip artifacts/dbgate-windows-latest-arm64.zip || true
cp app/dist/*-mac_universal.dmg artifacts/dbgate-latest.dmg || true
cp app/dist/*-mac_x64.dmg artifacts/dbgate-latest-x64.dmg || true
cp app/dist/*-mac_arm64.dmg artifacts/dbgate-latest-arm64.dmg || true
mv app/dist/*.snap artifacts/dbgate-latest.snap || true
mv app/dist/*.exe artifacts/ || true
mv app/dist/*.zip artifacts/ || true
mv app/dist/*.tar.gz artifacts/ || true
mv app/dist/*.AppImage artifacts/ || true
mv app/dist/*.deb artifacts/ || true
mv app/dist/*.snap artifacts/ || true
mv app/dist/*.dmg artifacts/ || true
mv app/dist/*.snap artifacts/dbgate-latest.snap || true
mv app/dist/*.blockmap artifacts/ || true
# - name: Copy artifacts Linux, MacOs
# if: matrix.os != 'windows-2016'
# run: |
# mkdir artifacts
# cp app/dist/*.AppImage artifacts/ || true
# cp app/dist/*.dmg artifacts/ || true
# cp app/dist/*.deb artifacts/ || true
# mv app/dist/*.deb artifacts/dbgate-linux.deb || true
# mv app/dist/*.AppImage artifacts/dbgate-linux.AppImage || true
# mv app/dist/*.dmg artifacts/dbgate-mac.dmg || true
# - name: Copy artifacts Win
# if: matrix.os == 'windows-2016'
# run: |
# mkdir artifacts
# cp app/dist/*.exe artifacts/ || true
# mv app/dist/*.exe artifacts/dbgate-windows.exe
# mv app/dist/latest.yml artifacts/latest.yml || true
- name: Copy latest.yml (windows)
mv app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
- name: Copy PAD file
if: matrix.os == 'windows-2022'
run: |
mv app/dist/latest.yml artifacts/latest.yml || true
mv app/dist/dbgate-pad.xml artifacts/ || true
- name: Copy latest-linux.yml
if: matrix.os == 'ubuntu-22.04'
run: |
mv app/dist/latest-linux.yml artifacts/latest-linux.yml || true
- name: Copy latest-mac.yml
if: matrix.os == 'macos-12'
run: |
mv app/dist/latest-mac.yml artifacts/latest-mac.yml || true
- name: Upload artifacts
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: artifacts
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: 'artifacts/**'
files: artifacts/**
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Print content of notarization-error.log
if: failure() && matrix.os == 'macos-14'
run: |
# - name: Create Release
# id: create_release
# uses: actions/create-release@v1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# tag_name: ${{ github.ref }}
# release_name: Release ${{ github.ref }}
# draft: false
# prerelease: false
find . -type f -name "notarization-error.log" -exec echo "=== Start of {} ===" \; -exec cat {} \; -exec echo "=== End of {} ===" \;

142
.github/workflows/build-cloud-pro.yaml vendored Normal file
View File

@@ -0,0 +1,142 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Cloud images PREMIUM
'on':
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-packer-beta.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
steps:
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Install jq
run: |
sudo apt-get install jq -y
- name: Setup `packer`
uses: hashicorp/setup-packer@main
with:
version: latest
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
node adjustPackageJson --premium
- name: yarn install
run: |
cd ..
cd dbgate-merged
yarn install
- name: setCurrentVersion
run: |
cd ..
cd dbgate-merged
yarn setCurrentVersion
- name: printSecrets
run: |
cd ..
cd dbgate-merged
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: Prepare packer build
run: |
cd ..
cd dbgate-merged
yarn run prepare:packer
cd packer
zip -r cloud-build.zip build
- name: Copy artifacts
run: |
mkdir artifacts
cp ../dbgate-merged/packer/cloud-build.zip artifacts/cloud-build.zip || true
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: artifacts
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: artifacts/**
prerelease: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run `packer init` for Azure
run: |
cd ../dbgate-merged/packer
packer init ./azure-ubuntu.pkr.hcl
- name: Run `packer build` for Azure
run: |
cd ../dbgate-merged/packer
packer build ./azure-ubuntu.pkr.hcl
- name: Run `packer init` for AWS
run: |
cd ../dbgate-merged/packer
packer init ./aws-ubuntu.pkr.hcl
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
AWS_DEFAULT_REGION: ${{secrets.AWS_DEFAULT_REGION}}
- name: Run `packer build` for AWS
run: |
cd ../dbgate-merged/packer
packer build ./aws-ubuntu.pkr.hcl
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
AWS_DEFAULT_REGION: ${{secrets.AWS_DEFAULT_REGION}}
- name: Delete old Azure VMs
run: |
cd ../dbgate-merged/packer
chmod +x delete-old-azure-images.sh
./delete-old-azure-images.sh
env:
AZURE_CLIENT_ID: ${{secrets.AZURE_CLIENT_ID}}
AZURE_CLIENT_SECRET: ${{secrets.AZURE_CLIENT_SECRET}}
AZURE_TENANT_ID: ${{secrets.AZURE_TENANT_ID}}
AZURE_SUBSCRIPTION_ID: ${{secrets.AZURE_SUBSCRIPTION_ID}}
- name: Delete old AMIs (AWS)
run: |
cd ../dbgate-merged/packer
chmod +x delete-old-amis.sh
./delete-old-amis.sh
env:
AWS_ACCESS_KEY_ID: ${{secrets.AWS_ACCESS_KEY_ID}}
AWS_SECRET_ACCESS_KEY: ${{secrets.AWS_SECRET_ACCESS_KEY}}
AWS_DEFAULT_REGION: ${{secrets.AWS_DEFAULT_REGION}}

108
.github/workflows/build-docker-pro.yaml vendored Normal file
View File

@@ -0,0 +1,108 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Docker image PREMIUM
'on':
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-premium-beta.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
steps:
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: dbgate/dbgate-premium
flavor: |
latest=false
tags: |
type=raw,value=beta,enable=${{ contains(github.ref_name, '-docker.') || contains(github.ref_name, '-beta.') }}
type=match,pattern=\d+.\d+.\d+,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
type=raw,value=latest,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
node adjustPackageJson --premium
- name: yarn install
run: |
cd ..
cd dbgate-merged
# yarn --version
# yarn config set network-timeout 300000
yarn install
- name: setCurrentVersion
run: |
cd ..
cd dbgate-merged
yarn setCurrentVersion
- name: printSecrets
run: |
cd ..
cd dbgate-merged
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: Prepare docker image
run: |
cd ..
cd dbgate-merged
yarn run prepare:docker
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v3
with:
push: true
context: ../dbgate-merged/docker
tags: ${{ steps.meta.outputs.tags }}
platforms: linux/amd64,linux/arm64

View File

@@ -1,21 +1,19 @@
name: Docker image
on:
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Docker image Community
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-docker.[0-9]+'
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
os:
- ubuntu-22.04
steps:
- name: Context
env:
@@ -24,13 +22,11 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
dbgate/dbgate
images: dbgate/dbgate
flavor: |
latest=false
tags: |
@@ -38,7 +34,6 @@ jobs:
type=match,pattern=\d+.\d+.\d+,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
type=raw,value=latest,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
- name: Docker alpine meta
id: alpmeta
uses: docker/metadata-action@v4
@@ -52,30 +47,36 @@ jobs:
type=match,pattern=\d+.\d+.\d+,suffix=-alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
type=raw,value=alpine,enable=${{ !contains(github.ref_name, '-docker.') && !contains(github.ref_name, '-beta.') }}
- name: Use Node.js 18.x
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 18.x
node-version: 22.x
- name: adjustPackageJson
run: |
node adjustPackageJson --community
- name: yarn install
run: |
# yarn --version
# yarn config set network-timeout 300000
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
run: |
yarn printSecrets
yarn printSecrets
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: Prepare docker image
run: |
yarn run prepare:docker
yarn run prepare:docker
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
@@ -83,7 +84,6 @@ jobs:
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v3
with:
@@ -91,7 +91,6 @@ jobs:
context: ./docker
tags: ${{ steps.meta.outputs.tags }}
platforms: linux/amd64,linux/arm64,linux/arm/v7
- name: Build and push alpine
uses: docker/build-push-action@v3
with:

105
.github/workflows/build-npm-pro.yaml vendored Normal file
View File

@@ -0,0 +1,105 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: NPM packages PREMIUM
'on':
push:
tags:
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
steps:
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: adjustNpmPackageJsonPremium
run: |
cd ..
cd dbgate-merged
node adjustNpmPackageJsonPremium
- name: Configure NPM token
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
cd ..
cd dbgate-merged
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
- name: Remove dbmodel - should be not published
run: |
cd ..
cd dbgate-merged
rm -rf packages/dbmodel
- name: yarn install
run: |
cd ..
cd dbgate-merged
yarn install
- name: setCurrentVersion
run: |
cd ..
cd dbgate-merged
yarn setCurrentVersion
- name: printSecrets
run: |
cd ..
cd dbgate-merged
yarn printSecrets
env:
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: Publish dbgate-api-premium
run: |
cd ..
cd dbgate-merged/packages/api
npm publish
- name: Publish dbgate-web-premium
run: |
cd ..
cd dbgate-merged/packages/web
npm publish
- name: Publish dbgate-serve-premium
run: |
cd ..
cd dbgate-merged/packages/serve
npm publish
- name: Publish dbgate-plugin-cosmosdb
run: |
cd ..
cd dbgate-merged/plugins/dbgate-plugin-cosmosdb
npm publish
- name: Publish dbgate-plugin-firestore
run: |
cd ..
cd dbgate-merged/plugins/dbgate-plugin-firestore
npm publish

View File

@@ -1,27 +1,19 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: NPM packages
# on: [push]
on:
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+'
# on:
# push:
# branches:
# - production
- v[0-9]+.[0-9]+.[0-9]+
- v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-22.04]
os:
- ubuntu-22.04
steps:
- name: Context
env:
@@ -30,41 +22,34 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 18.x
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 18.x
node-version: 22.x
- name: Configure NPM token
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
- name: yarn install
run: |
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
run: |
yarn printSecrets
yarn printSecrets
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
GIST_UPLOAD_SECRET: ${{secrets.GIST_UPLOAD_SECRET}}
- name: Publish types
working-directory: packages/types
run: |
npm publish
- name: Publish tools
working-directory: packages/tools
run: |
npm publish
- name: Publish sqltree
working-directory: packages/sqltree
run: |
@@ -74,83 +59,75 @@ jobs:
working-directory: packages/api
run: |
npm publish
- name: Publish datalib
working-directory: packages/datalib
run: |
npm publish
- name: Publish filterparser
working-directory: packages/filterparser
run: |
npm publish
- name: Publish web
working-directory: packages/web
run: |
npm publish
- name: Publish dbgate (obsolete)
working-directory: packages/dbgate
run: |
npm publish
- name: Publish dbgate-serve
working-directory: packages/serve
run: |
npm publish
- name: Publish dbmodel
working-directory: packages/dbmodel
run: |
npm publish
- name: Publish dbgate-plugin-csv
working-directory: plugins/dbgate-plugin-csv
run: |
npm publish
- name: Publish dbgate-plugin-xml
working-directory: plugins/dbgate-plugin-xml
run: |
npm publish
- name: Publish dbgate-plugin-excel
working-directory: plugins/dbgate-plugin-excel
run: |
npm publish
- name: Publish dbgate-plugin-mssql
working-directory: plugins/dbgate-plugin-mssql
run: |
npm publish
- name: Publish dbgate-plugin-mysql
working-directory: plugins/dbgate-plugin-mysql
run: |
npm publish
- name: Publish dbgate-plugin-mongo
working-directory: plugins/dbgate-plugin-mongo
run: |
npm publish
- name: Publish dbgate-plugin-postgres
working-directory: plugins/dbgate-plugin-postgres
run: |
npm publish
- name: Publish dbgate-plugin-sqlite
working-directory: plugins/dbgate-plugin-sqlite
run: |
npm publish
- name: Publish dbgate-plugin-redis
working-directory: plugins/dbgate-plugin-redis
run: |
npm publish
- name: Publish dbgate-plugin-oracle
working-directory: plugins/dbgate-plugin-oracle
run: |
npm publish
- name: Publish dbgate-plugin-clickhouse
working-directory: plugins/dbgate-plugin-clickhouse
run: |
npm publish
- name: Publish dbgate-plugin-dbf
working-directory: plugins/dbgate-plugin-dbf
run: |
npm publish
- name: Publish dbgate-plugin-cassandra
working-directory: plugins/dbgate-plugin-cassandra
run: |
npm publish

View File

@@ -0,0 +1,46 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Build test containers
'on':
push:
branches:
- master
- develop
- feature/**
- hotfix/**
paths:
- e2e-tests/containers/**
jobs:
build-docker-ssh:
runs-on: ubuntu-latest
steps:
- name: Checkout source
uses: actions/checkout@v3
- name: Build mysql-ssh-login image
run: |
docker build -t dbgate/mysql-ssh-login:latest e2e-tests/containers/mysql-ssh-login
- name: Build mysql-ssh-keyfile image
run: |
docker build -t dbgate/mysql-ssh-keyfile:latest e2e-tests/containers/mysql-ssh-keyfile
- name: Build dex image
run: |
docker build -t dbgate/dex:latest e2e-tests/containers/dex
- name: Log in to GHCR
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push mysql-ssh-login to GHCR
run: |
docker tag dbgate/mysql-ssh-login:latest ghcr.io/dbgate/mysql-ssh-login:latest
docker push ghcr.io/dbgate/mysql-ssh-login:latest
- name: Push mysql-ssh-keyfile to GHCR
run: |
docker tag dbgate/mysql-ssh-keyfile:latest ghcr.io/dbgate/mysql-ssh-keyfile:latest
docker push ghcr.io/dbgate/mysql-ssh-keyfile:latest
- name: Push dex to GHCR
run: |
docker tag dbgate/dex:latest ghcr.io/dbgate/dex:latest
docker push ghcr.io/dbgate/dex:latest

36
.github/workflows/diflow.yaml vendored Normal file
View File

@@ -0,0 +1,36 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Diflow merge
'on':
push:
branches:
- master
jobs:
merge:
runs-on: ubuntu-latest
steps:
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- name: Checkout dbgate/diflow
uses: actions/checkout@v2
with:
repository: dbgate/diflow
path: diflow
- name: Diflow install
run: |
cd diflow
npm install
npm run build
- name: Git config
run: |
git config --global user.email "info@dbgate.io"
git config --global user.name "Diflow"
- name: Diflow run
run: |
cd diflow
node dist/diflow.js sync -r https://DIFLOW_GIT_SECRET@github.com/dbgate/dbgate-diflow-config.git -b master
env:
DIFLOW_GIT_SECRET: ${{ secrets.DIFLOW_GIT_SECRET }}

133
.github/workflows/e2e-pro.yaml vendored Normal file
View File

@@ -0,0 +1,133 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Cypress tests with screenshots PREMIUM
'on':
push:
branches:
- master
- develop
- feature/**
- hotfix/**
jobs:
e2e-tests:
runs-on: ubuntu-latest
steps:
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- uses: actions/checkout@v3
with:
fetch-depth: 1
- name: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 36b6ce878c3c0a0c9623163c8a8b3bdeefc7da53
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
mv dbgate-pro/* ../dbgate-pro/
cd ..
mkdir dbgate-merged
cd dbgate-pro
cd sync
yarn
node sync.js --nowatch
cd ..
- name: yarn install
run: |
cd ../dbgate-merged
yarn install
- name: Build packer dist for cypress
run: |
cd ../dbgate-merged
yarn prepare:packer
- name: yarn install cypress
run: |
cd ../dbgate-merged
cd e2e-tests
yarn install
- name: Run Cypress tests
run: |
cd ../dbgate-merged
cd e2e-tests
yarn test:ci
- name: ls -R
run: |
cd ../dbgate-merged
ls -R
- name: Copy screenshots
run: |
mkdir screenshots
cp ../dbgate-merged/e2e-tests/screenshots/*.png screenshots/
- name: Upload E2E screenshots
uses: actions/upload-artifact@v4
with:
name: screenshots
path: screenshots
- name: Push E2E screenshots
if: ${{ github.ref_name == 'master' }}
run: |
git config --global user.email "info@dbgate.info"
git config --global user.name "GitHub Actions"
git clone https://${{ secrets.DIFLOW_GIT_SECRET }}@github.com/dbgate/dbgate-img.git
cp ../dbgate-merged/e2e-tests/screenshots/*.png dbgate-img/static/img
cd dbgate-img/static/img
git add .
git commit --amend --no-edit
git push --force
services:
postgres-cypress:
image: postgres
options: '--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5'
env:
POSTGRES_PASSWORD: Pwd2020Db
ports:
- '16000:5432'
mysql-cypress:
image: mysql:8.0.18
ports:
- '16004:3306'
env:
MYSQL_ROOT_PASSWORD: Pwd2020Db
mysql-ssh-login:
image: ghcr.io/dbgate/mysql-ssh-login:latest
ports:
- '16012:22'
mysql-ssh-keyfile:
image: ghcr.io/dbgate/mysql-ssh-keyfile:latest
ports:
- '16008:22'
dex:
image: ghcr.io/dbgate/dex:latest
ports:
- '16009:5556'
mongo:
image: mongo:4.0.12
env:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: Pwd2020Db
ports:
- '16010:27017'
redis:
image: redis
ports:
- '16011:6379'
mssql:
image: mcr.microsoft.com/mssql/server
ports:
- '16014:1433'
env:
ACCEPT_EULA: 'Y'
SA_PASSWORD: Pwd2020Db
MSSQL_PID: Express
oracle:
image: gvenzl/oracle-xe:21-slim
env:
ORACLE_PASSWORD: Pwd2020Db
ports:
- '16013:1521'

View File

@@ -0,0 +1,51 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Update Workflows
'on':
push:
branches:
- master
paths:
- workflow-templates/**
jobs:
update-workflows:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
token: ${{ secrets.WORKFLOW_CHANGE_ACCESS_TOKEN }}
- name: git pull
run: |
git pull
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 22
- name: Install dependencies
run: |
rm package.json
rm yarn.lock
yarn add -W js-yaml lodash
- name: Run workflow generation
run: |
node common/processWorkflows.js
- name: Git config
run: |
git config --global user.email "info@dbgate.io"
git config --global user.name "CI workflows"
- name: Commit changes
run: |
# Only commit if there are changes
if [[ -n "$(git status --porcelain)" ]]; then
git add .github/workflows
git commit -m "chore: auto-update github workflows"
else
echo "No changes to commit"
fi
- name: Push changes
uses: ad-m/github-push-action@v0.6.0
with:
github_token: ${{ secrets.WORKFLOW_CHANGE_ACCESS_TOKEN }}
branch: master

View File

@@ -1,21 +1,23 @@
name: Run tests
on:
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Integration and unit tests
'on':
push:
branches:
- master
- develop
- feature/**
- hotfix/**
jobs:
test-runner:
all-tests:
runs-on: ubuntu-latest
container: node:18
steps:
- name: Context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v2
- name: Use Node.js 22.x
uses: actions/setup-node@v1
with:
node-version: 22.x
- uses: actions/checkout@v3
with:
fetch-depth: 1
- name: yarn install
@@ -25,7 +27,6 @@ jobs:
run: |
cd integration-tests
yarn test:ci
# yarn wait:ci
- name: Filter parser tests
if: always()
run: |
@@ -36,6 +37,11 @@ jobs:
run: |
cd packages/datalib
yarn test:ci
- name: Tools tests
if: always()
run: |
cd packages/tools
yarn test:ci
- uses: tanmen/jest-reporter@v1
if: always()
with:
@@ -54,29 +60,56 @@ jobs:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-file: packages/datalib/result.json
action-name: Datalib (perspectives) test results
services:
postgres:
postgres-integr:
image: postgres
env:
POSTGRES_PASSWORD: Pwd2020Db
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
mysql:
options: '--health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5'
ports:
- '15000:5432'
mysql-integr:
image: mysql:8.0.18
env:
MYSQL_ROOT_PASSWORD: Pwd2020Db
mssql:
ports:
- '15001:3306'
mssql-integr:
image: mcr.microsoft.com/mssql/server
env:
ACCEPT_EULA: Y
ACCEPT_EULA: 'Y'
SA_PASSWORD: Pwd2020Db
MSSQL_PID: Express
# cockroachdb:
# image: cockroachdb/cockroach
ports:
- '15002:1433'
clickhouse-integr:
image: bitnami/clickhouse:24.8.4
env:
CLICKHOUSE_ADMIN_PASSWORD: Pwd2020Db
ports:
- '15005:8123'
oracle-integr:
image: gvenzl/oracle-xe:21-slim
env:
ORACLE_PASSWORD: Pwd2020Db
ports:
- '15006:1521'
cassandradb:
image: cassandra:5.0.2
ports:
- '15942:9042'
libsql:
image: ghcr.io/tursodatabase/libsql-server:latest
ports:
- '8080:8080'
firebird:
image: firebirdsql/firebird:latest
env:
FIREBIRD_DATABASE: mydatabase.fdb
FIREBIRD_USER: dbuser
FIREBIRD_PASSWORD: dbpassword
ISC_PASSWORD: masterkey
FIREBIRD_TRACE: false
FIREBIRD_USE_LEGACY_AUTH: true
ports:
- '3050:3050'

9
.gitignore vendored
View File

@@ -28,7 +28,10 @@ docker/plugins
npm-debug.log*
yarn-debug.log*
yarn-error.log*
app/src/nativeModulesContent.js
packages/api/src/nativeModulesContent.js
packages/api/src/packagedPluginsContent.js
.VSCodeCounter
.VSCodeCounter
packages/web/public/*.html
e2e-tests/screenshots/*.png
my_guitar_shop.db
.aider*

1
.nvmrc Normal file
View File

@@ -0,0 +1 @@
v24.4.1

59
.vscode/launch.json vendored
View File

@@ -1,20 +1,41 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch API",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}/packages/api/src/index.js",
"outFiles": [
"${workspaceFolder}/**/*.js"
]
}
]
}
"version": "0.2.0",
"configurations": [
{
"name": "Debug App",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/packages/api/src/index.js",
"envFile": "${workspaceFolder}/packages/api/.env",
"args": ["--listen-api"],
"console": "integratedTerminal",
"restart": true,
"runtimeExecutable": "node",
"skipFiles": ["<node_internals>/**"]
},
{
"name": "Debug App (Break on Start)",
"type": "node",
"request": "launch",
"program": "${workspaceFolder}/packages/api/src/index.js",
"args": ["--listen-api"],
"envFile": "${workspaceFolder}/.env",
"console": "integratedTerminal",
"restart": true,
"runtimeExecutable": "node",
"skipFiles": ["<node_internals>/**"],
"stopOnEntry": true
},
{
"name": "Attach to Process",
"type": "node",
"request": "attach",
"port": 9229,
"restart": true,
"localRoot": "${workspaceFolder}",
"remoteRoot": "${workspaceFolder}",
"skipFiles": ["<node_internals>/**"]
}
]
}

View File

@@ -8,6 +8,342 @@ Builds:
- linux - application for linux
- win - application for Windows
## 6.6.0
- ADDED: Database chat - AI powered chatbot, which knows your database (Premium)
- ADDED: Firestore support (Premium)
- REMOVED: Query AI assistant (replaced by Database Chat) (Premium)
- FIXED: Chart permissions were ignored (Premium)
## 6.5.6
- ADDED: New object window - quick access to most common functions
- ADDED: Possibility to disable split query by empty line #1162
- ADDED: Possibility to opt out authentication #1152
- FIXED: Separate schema mode now works in Team Premium edition
- FIXED: Handled situation, when user enters expired license, which is already prolonged
- FIXED: Fixed some minor problems of charts
## 6.5.5
- ADDED: Administer cloud folder window
- CHANGED: Cloud menu redesign
- ADDED: Audit log (for Team Premium edition)
- ADDED: Added new timeline chart type (line chart with time axis)
- ADDED: Chart grouping (more measure determined from data)
- CHANGED: Improved chart autodetection - string X axis (with bar type), COUNT as measure, split different measures
- ADDED: Added chart data type detection
- FIXED: Fixed chart displaying problems
- FIXED: Fixed exporting chart to HTML
- CHANGED: Choose COUNT measure without selecting underlying ID field (use virtual __count)
- FIXED: Problems with authentification administration, especially for Postgres storage
- CHANGED: Anonymous autentification (in Team Premium) is now by default disabled
## 6.5.3
- CHANGED: Improved DbGate Cloud sign-in workflow
- FIXED: Some fixes and error handling in new charts engine
- ADDED: Charts - ability to choose aggregate function
- CHANGED: Improved About window
## 6.5.2
- CHANGED: Autodetecting charts is disabled by default #1145
- CHANGED: Improved chart displaying workflow
- ADDED: Ability to close chart
## 6.5.1
- FIXED: DbGate Cloud e-mail sign-in method for desktop clients
## 6.5.0
- ADDED: DbGate cloud - online storage for connections, SQL scripts and other objects
- ADDED: Public knowledge base - common SQL scripts for specific DB engines (table sizes, index stats etc.)
- ADDED: Query results could be visualised in charts (Premium)
- REMOVED: Chart from selection, active charts - replaced by query result charts
- ADDED: FirebirdSQL support
- ADDED: SQL front matter - properties of SQL script
- ADDED: Auto-execute SQL script on open (saved in SQL front matter)
- CHANGED: Smaller widget icon panel
- CHANGED: Applications and Single-connection mode removed from widget icon panel
- CHANGED: Temporarily disabled MongoDB profiler support
- FIXED: Pie chart distorted if settings change #838
- FIXED: SQL server generated insert statement should exclude computed and timestamp columns #1111
- ADDED: Added option "Show all columns when searching" #1118
- ADDED: Copy cells/rows (e.g. column names) from Structure view #1119
- ADDED: Setting "Show table aliases in code completion" #1122
- FIXED: Vulnerability - check file paths in web version
- FIXED: Very slow render of tables with very log cells
## 6.4.2
- ADDED: Source label to docker container #1105
- FIXED: DbGate restart needed to take effect after trigger is created/deleted on mariadb #1112
- ADDED: View PostgreSQL query console output #1108
- FIXED: Single quote generete MySql error #1107
- ADDED: Ability to limit query result count #1098
- CHANGED: Correct processing of bigint columns #1087 #1055 #583
- CHANGED: Improved and optimalized algorithm of loading redis keys #1062, #1034
- FIXED: Fixed loading Redis keys with :: in key name
## 6.4.0
- ADDED: DuckDB support
- ADDED: Data deployer (Premium)
- ADDED: Compare data between JSON lines file in archive and database table
- CHANGED: Data Duplicator => Data Replicator (suitable for update, create and delete data, much more customizable)
- REMOVED: Data duplicator GUI (replaced with Data Deployer)
- ADDED: Exporting to ZIP file
- ADDED: Download SQL and SQLite files
- ADDED: Upload SQLite files
- ADDED: Upload archive as ZIP folder (Premium)
- ADDED: Compress, uncompress archive folder (Premium)
- ADDED: Export connections and settings #357
- ADDED: Filtering by MongoDB ObjectId works now also without ObjectId(...) wrapper
- ADDED: Split queries using blank lines #1089
- FIXED: JSON-to-Grid only works if there is no newline #1085
- CHANGED: When running multiple commands in script, stop execution after first error #1070
- FIXED: Selection rectangle remains visible after closing JSONB edit cell value form #1031
- FIXED: Diplaying numeric FK column with right alignement #1021
- ADDED: Additional arguments for MySQL and PostgreSQL backup #1092
- CHANGED: Amazon and Azure instalations are not auto-upgraded by default
## 6.3.3
- CHANGED: New administration UI, redesigned administration of users, connections and roles
- ADDED: Encrypting passwords in team-premium edition
- ADDED: Show scale bar on map #1090
- FIXED: Fixed native backup/restore for MySQL+PostgreSQL over SSH tunnel #1092
- CHANGED: Column mapping dialog - fixes and improvements for copying from one existing table into another
- ADDED: Search in columns in table editor
- ADDED: Line Wrap for JSON viewer #768
### 6.3.2
- ADDED: "Use system theme" switch, use changed system theme without restart #1084
- ADDED: "Skip SETNAME instruction" option for Redis #1077
- FIXED: Clickhouse views are now available even for user with limited permissions #1076
- ADDED: Multiple-token search delimited with comma (=OR) in structure search boxes
- CHANGED: When filtering columns in data browser, data view shows only filtered columns
- ADDED: Advanced settings for diagrams (Premium)
- ADDED: Diagrams - zoom with Ctrl+mouse wheel
- FIXED: Scrollable diagram exports + scroll by mouse drag
- FIXED: Fixed many problems in diagrams when zoom is applied
- FIXED: Correctly end connection process after succesful/unsuccesful connect
### 6.3.0
- ADDED: Support for libSQL and Turso (Premium)
- ADDED: Native backup and restore database for MySQL and PostgreSQL (Premium)
- REMOVED: DbGate internal dump export for MySQL (replaced with call of mysqldump)
- REMOVED: Import SQL dump with internal DbGate capabilities (replaced by calling of mysql and psql utilities)
- FIXED: Many fixes in stream processing (imoprt/export), especialy for MongoDB
- ADDED: Indicating progress of import/export tasks, better error reporting
- CHANGED: #1060 - Changed shortcut for AI assistant
- ADDED: /health endpoint with diagnostic info
- FIXED: Linux Appimage crash => A JavaScript error occurred in the main process #1065 , #1067
### 6.2.1
- ADDED: Commit/rollback and autocommit in scripts #1039
- FIXED: Doesn't import all the records from MongoDB #1044
- ADDED: Show server name alongside database name in title of the tab group #1041
- ADDED: Can't open Sqlite through web #956
- FIXED: Crashed after text input at columns search #1049
- FIXED: Incorrect autojoin for foreign keys with more columns #1051
- FIXED: Scroll in XML cell view, XML view respect themes
- REMOVED: armv7l build for Linux (because of problems with glibc compatibility)
- CHANGED: Upgraded to node:22 for docker builds
- CHANGED: Upgraded SQLite engine version
### 6.2.0
- ADDED: Query AI Assistant (Premium)
- ADDED: Cassandra database support
- ADDED: XML cell data view
- FIXED: Filtering by value in Oracle #1009
- FIXED: Operand type clash: uniqueidentifier is incompatible with int #565
- FIXED: UX in administration
- FIXED: Error reporting of broken connections (sometimes it caused infinite loading of data grid)
- ADDED: Azure managed identity support (Team Premium)
- ADDED: Expanded JSON cell view
- CHANGED: Open real executed query, when datagrid shows loading error
### 6.1.6
- FIXED: Hotfix build process for premium edition
### 6.1.5
- FIXED: Serious security hotfix (for Docker and NPM, when using LOGIN and PASSWORD environment variables or LOGIN_PASSWORD_xxx)
- no changes for desktop app and for Team premium edition, when using storage DB
### 6.1.4
- CHANGED: Show Data/Structure button in one place #1015
- ADDED: Data view coloring (every second row) #1014
- ADDED: Pin icon for tab in preview mode (#1013)
- FIXED: Pin icon misplaced #1007
- ADDED: Set client name when connecting to redis #1004
- ADDED: Redis loading keys optimalization #1002
- ADDED: Browse redis keys with preview with keyboard
- FIXED: Cannot expand tables and views returned from search #1000
- ADDED: Expand all/Collapse all/Expand document commands in MongoDB JSON view #976
- ADDED: Configurable page size for MongoDB collection #976
- ADDED: Redis - SSL connection
- ADDED: Redis JSON format for String values #852
### 6.1.3
- FIXED: Fulltext search now shows correctly columns and SQL code lines
- ADDED: Configuration of SSH tunnel local host (IPv4 vs IPv6). Should fix majority of SSH tunnel problems
- FIXED: Handled SSH tunnel connection error, now it shows error instead of connecting forever
- ADDED: Support of triggers (SQLite)
- ADDED: Create, drop trigger
- ADDED: Support for MySQL scheduled events
- FIXED: Cannot connect to DB using askUser/askPassword mode #995
- FIXED: Filtering in Oracle #992
- ADDED: Open table in raw mode #991, #962
- ADDED: Introduced E2E Cypress tests, test refactor
### 6.1.1
- ADDED: Trigger support (SQL Server, PostgreSQL, MySQL, Oracle)
- FIXED: PostgreSQL and Oracle export #970
- FIXED: Cursor Becomes Stuck When Escaping "Case" #954
- CHANGED: Defualt search criteria for tables are names only
- FIXED: Search in packed list
### 6.1.0
- ADDED: Fulltext search in DB model and connections, highlight searched names
- ADDED: Tab preview mode configuration #963
- CHANGED: Single-click to open server connection/database + ability to configure this #959
- ADDED: Option to align numbers to right in data grid #957
- FIXED: Cursor Becomes Stuck When Escaping "Case" #954
- ADDED: Postgres GEOGRAPHY types are shown on map, event when executing query #948
- FIXED: Error displaying CLOB and NCLOB in Oracle
- FIXED: Analysing of foreign keys in Postgres and MS SQL, when the same FKS are used across different schemas
- ADDED: Support of views, procedures, functions to Oracle. Added integration tests for Oracle
- ADDED: Display "No rows" message, quick add new row
- ADDED: Choose default database from list
- ADDED: Default database is automatically selected on connect
- ADDED: Apple-Silicon-only build for Mac #949
- ADDED: Display comment into tables and column list #755
### 6.0.0
- ADDED: Order or filter the indexes for huge tables #922
- ADDED: Empty string filters
- CHANGED: (Premium) Workflow for new installation (used in Docker and AWS distribution)
- ADDED: Show stored procedure and function parameters (MySQL, PostgreSQL, SQL Server, MariaDB) #348
- FIXED: Selected database has changed when closing database grouped tab #983
- ADDED: Add line break option to editor #823
- ADDED: Order or filter the indexes for huge tables #922
- ADDED: Preview mode for the top bar tab like vscode #767
- ADDED: Keyboard navigatioon between connections, databases and tables
- FIXED: Fixed some issues in connection search
- FIXED: Schema selection in Export does not provide all schemas #924
- CHANGED: Standardized Window menu in MacOS app
- FIXED: Typecast ::date is treated as a parameter #925
- FIXED: App crashes when trying to 'Open Structure' in a readonly connection #926
- FIXED: Selected database has changed when closing database grouped tab #938
- CHANGED: (Premium) Query designer and Query perspective designer moved to Premium editioin
- CHANGED: (Premium) Compare database tool - many improvements, moved to Premium edition
- ADDED: (Premium) Export DB model - exporting model to YAML folder, JSON or SQL folder
- CHANGED: Model deployer - many improvements, support of rename missing objects
- ADDED: (Premium) Premium NPM distribution
- CHANGED: (Premium) Amazon Redshift driver moved to Premium edition
- ADDED: Generated API documentation https://dbgate.org/docs/apidoc.html
- ADDED: NPM distribution now supports all dbgate database connectors, many improvements NPM packages
- CHANGED: Optimalized size of NPM plugins (eg. dbgate-plugin-mssql from 1.34 MB to 71 kB)
- CHANGED: Unsaved connections are now shown in "Recent and unsaved" folder after disconnect
- FIXED: Correctly show focused control, as defined by UX standards
- ADDED: Data duplicator - weak references
- ADDED: View JSON detail of log messages from export/import jobs and query executions
- ADDED: Rename procedure/function context menu
- ADDED: Show SQL quick view
### 5.5.6
- FIXED: DbGate process consumes 100% after UI closed - Mac, Linux (#917, #915)
- FIXED: Correctly closing connection behind SSH tunnel (#920)
- FIXED: Updating MongoDB documents on MongoDB 4 (#916)
- FIXED: (Premium) DbGate container correctly waits for underlying storage database, if database container is started after dbgate container is started
- FIXED: (Premium) Better handling of connection storage errors
### 5.5.5
- ADDED: AWS IAM authentication for MySQL, MariaDB, PostgreSQL (Premium)
- FIXED: Datitme filtering #912
- FIXED: Load redis keys
- ADDED: Query parameters #913
- FIXED: Data grid with hidden columns #911
- ADDED: Added buttons for one-click authentification methods (Anonymous, OAuth) (Team Premium)
- ADDED: Link for switching Admin/user login (Team Premium)
- FIXED: Save connection params in administration for MS SQL and Postgres storages (Team Premium)
### 5.5.4
- FIXED: correct handling when use LOGIN and PASSWORD env variables #903
- FIXED: fixed problems in dbmodel commandline tool
- ADDED: dbmodel - allow connection defined in environment variables
- FIXED: Load postgres schema on Azure #906
- FIXED: Oauth2 in combination with Google doesn't log payload #727
- CHANGED: Improved error reporting for unhandler errors
- CHANGED: Don't restart docker container in case of unhandler error
- FIXED: Crash when displaying specific data values from MongoDB #908
- ADDED: (Premium) Show purchase button after trial license is expired
### 5.5.3
- FIXED: Separate schema mode #894 - for databases with many schemas
- FIXED: Sort by UUID column in POstgreSQL #895
- ADDED: Load pg_dump outputs #893
- ADDED: Improved column mapping in import/export #330
- FIXED: Fixed some errors in create-table workflow
- CHANGED: Show single schema by default only if all objects are from default schema
- FIXED: MS Entra authentication for Azure SQL
### 5.5.2
- FIXED: MySQL, PostgreSQL readonly conections #900
### 5.5.1
- ADDED: Clickhouse support (#532)
- ADDED: MySQL - specify table engine, show table engine in table list
- FIXED: Hidden primary key name in PK editor for DB engines with anonymous PK (MySQL)
- CHANGED: Import/export dialog is now tacub instead of modal
- ADDED: Saving import/export job
- REMOVED: Ability to reopen export/import wizard from generated script. This was a bit hack, now you could save import/export job instead
- ADDED: Autodetect CSV delimited
- FIXED: Import CSV files with spaces around quotes
- ADDED: JSON file import
- ADDED: JSON export can export objects with ID field used as object key
- ADDED: JSON and JSON lines imports supports importing from web URL
- FIXED: Editing imported URL in job editor
- ADDED: Quick export from table data grid (#892)
- CHANGED: Create table workflow is reworked, you can specify schema and table name in table editor
- FIXED: After saving new table, table editor is reset to empty state
- ADDED: (PostgreSQL, SQL Server) - ability to filter objects by schema
- ADDED: (PostgreSQL, SQL Server) - Use separate schemas option - for databases with lot of schemas, only selected schema is loaded
- FIXED: Internal refactor of drivers, client objects are not more messed up with auxiliary fields
- ADDED: Copy connection error to clipboard after clicking on error icon
- FIXED: (MySQL) Fixed importing SQL dump exported from mysqldump (#702)
- FIXED: (PostgreSQL) Fixed filtering JSONB fields (#889)
- FIXED: OIDC authentication not working anymore (#891)
- ADDED: Added tests for import from CSV and JSON
- FIXED: multiple shortcuts handling #898
- ADDED: (Premium) MS Entra authentization for Azure SQL databases
### 5.4.4
- CHANGED: Improved autoupdate, notification is now in app
- CHANGED: Default behaviour of autoupdate, new version is downloaded after click of "Download" button
- ADDED: Ability to configure autoupdate (check only, check+download, don't check)
- ADDED: Option to run check for new version manually
- FIXED: Fixed autoupgrade channel for premium edition
- FIXED: Fixes following issues: #886, #865, #782, #375
### 5.4.2
- FIXED: DbGate now works correctly with Oracle 10g
- FIXED: Fixed update channel for premium edition
### 5.4.1
- FIXED: Broken older plugins #881
- ADDED: Premium edition - "Start trial" button
### 5.4.0
- ADDED: Support for CosmosDB (Premium only)
- ADDED: Administration UI (Premium only)
- ADDED: New application icon
- ADDED: MongoDB type support in data editing
- ADDED: MongoDB - posibility to remove field
- ADDED: Oracle - posibility to connect via SID
- FIXED: Many improvements in MongoDB filtering
- FIXED: Switch to form and back to table rows missing #343
- ADDED: Posibility to deactivate MongoDB Profiler #745
- ADDED: Ability to use Oracle thick driver - neccessary for connecting older Oracle servers #843
- FIXED: Connection permissions configuration is broken #860
- ADDED: ssh key file authentication option missing #876
- ADDED: Ability to reset layout #878
- FIXED: Script with escaped backslash causes erro #880
### 5.3.4
- FIXED: On blank system does not start (window does not appear) #862
- FIXED: Missing Execute, Export bar #861
@@ -119,7 +455,7 @@ Builds:
- FIXED: Creating SQLite autoincrement column
- FIXED: Better error reporting from exports/import/dulicator
- CHANGED: Optimalizede OracleDB analysing algorithm
- ADDED: Mutli column filter for perspectives
- ADDED: Multi column filter for perspectives
- FIXED: Fixed some scenarios using tables from different DBs
- FIXED: Sessions with long-running queries are not killed

View File

@@ -15,8 +15,12 @@ But there are also many advanced features like schema compare, visual query desi
DbGate is licensed under GPL-3.0 license and is free to use for any purpose.
* Try it online - [demo.dbgate.org](https://demo.dbgate.org) - online demo application
* **Download** application for Windows, Linux or Mac from [dbgate.org](https://dbgate.org/download/)
* **Download** application for Windows, Linux or Mac from [dbgate.io](https://dbgate.io/download/)
* Looking for DbGate Community? **Download** from [dbgate.org](https://dbgate.org/download/)
* Run web version as [NPM package](https://www.npmjs.com/package/dbgate-serve) or as [docker image](https://hub.docker.com/r/dbgate/dbgate)
* Use nodeJs [scripting interface](https://docs.dbgate.io/scripting) ([API documentation](https://docs.dbgate.io/apidoc))
* [Recommend DbGate](https://testimonial.to/dbgate) | [Rate on G2](https://www.g2.com/products/dbgate/reviews)
* [Give us feedback](https://dbgate.org/feedback) - it will help us to decide, how to improve DbGate in future
## Supported databases
* MySQL
@@ -26,11 +30,16 @@ DbGate is licensed under GPL-3.0 license and is free to use for any purpose.
* MongoDB
* Redis
* SQLite
* Amazon Redshift
* Amazon Redshift (Premium)
* CockroachDB
* MariaDB
<!-- Learn more about DbGate features at the [DbGate website](https://dbgate.org/), or try our online [demo application](https://demo.dbgate.org) -->
* CosmosDB (Premium)
* ClickHouse
* Apache Cassandra
* libSQL/Turso (Premium)
* DuckDB
* Firebird
* Firestore (Premium)
<a href="https://raw.githubusercontent.com/dbgate/dbgate/master/img/screenshot1.png">
@@ -49,13 +58,15 @@ DbGate is licensed under GPL-3.0 license and is free to use for any purpose.
<!-- ![Screenshot](https://raw.githubusercontent.com/dbgate/dbgate/master/screenshot.png) -->
## Features
* Browse table data with many filtering options, Excel-like filters, multi-value filters
* Table data editing, with SQL change script preview
* Edit table schema, indexes, primary and foreign keys
* Compare and synchronize database structure
* ER diagram
* Light and dark theme
* Master/detail views, foreign key lookups
* Query designer
* Light and dark theme, next themes available as plugins from github community
* Huge support for work with related data - master/detail views, foreign key lookups, expanding columns from related tables in flat data view
* Query designer - visual SQL query builder without writing SQL code. Complex conditions like WHERE NOT EXISTS.
* Query perspectives innovative nested table view over complex relational data, something like query designer on MongoDB databases
* Form view for comfortable work with tables with many columns
* JSON view on MongoDB collections
* Explore tables, views, procedures, functions, MongoDB collections
@@ -67,23 +78,26 @@ DbGate is licensed under GPL-3.0 license and is free to use for any purpose.
* Mongo JavaScript editor, execute Mongo script (with NodeJs syntax)
* Redis tree view, generate script from keys, run Redis script
* Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client.
* Import, export from/to CSV, Excel, JSON, NDJSON, XML
* Free table editor - quick table data editing (cleanup data after import/before export, prototype tables etc.)
* Import, export from/to CSV, Excel, JSON, NDJSON, XML, DBF
* Archives - backup your data in NDJSON files on local filesystem (or on DbGate server, when using web application)
* NDJSON data viewer and editor - browse NDJSON data, edit data and structure directly on NDJSON files. Works also for big NDSON files
* Charts, export chart to HTML page
* AI powered database chat
* Show GEO data on map, export map to HTML page
* For detailed info, how to run DbGate in docker container, visit [docker hub](https://hub.docker.com/r/dbgate/dbgate)
* Extensible plugin architecture
* Perspectives - nested table view over complex relational data, query designer on MongoDB databases
## How to contribute
Any contributions are welcome. If you want to contribute without coding, consider following:
* Tell your friends about DbGate or share on social networks - when more people will use DbGate, it will grow to be better
* Purchase a [DbGate Premium](https://dbgate.io/purchase/premium/) liocense
* Write review on [Slant.co](https://www.slant.co/improve/options/41086/~dbgate-review) or [G2](https://www.g2.com/products/dbgate/reviews)
* Create issue, if you find problem in app, or you have idea to new feature. If issue already exists, you could leave comment on it, to prioritise most wanted issues
* Create some tutorial video on [youtube](https://www.youtube.com/playlist?list=PLCo7KjCVXhr0RfUSjM9wJMsp_ShL1q61A)
* Become a backer on [GitHub sponsors](https://github.com/sponsors/dbgate) or [Open collective](https://opencollective.com/dbgate)
* Where a small coding is acceptable for you, you could [create plugin](https://dbgate.org/docs/plugin-development.html). Plugins for new themes can be created actually without JS coding
* Add a SQL script to [Public Knowledge Base](https://github.com/dbgate/dbgate-knowledge-base)
* Where a small coding is acceptable for you, you could [create plugin](https://docs.dbgate.io/plugin-development). Plugins for new themes can be created actually without JS coding
Thank you!
@@ -178,4 +192,4 @@ yarn plugin # this compiles plugin and copies it into existing DbGate installati
After restarting DbGate, you could use your new plugin from DbGate.
## Logging
DbGate uses [pinomin logger](https://github.com/dbgate/pinomin). So by default, it produces JSON log messages into console and log files. If you want to see formatted logs, please use [pino-pretty](https://github.com/pinojs/pino-pretty) log formatter.
DbGate uses [pinomin logger](https://github.com/dbgate/pinomin). So by default, it produces JSON log messages into console and log files. If you want to see formatted logs, please use [pino-pretty](https://github.com/pinojs/pino-pretty) log formatter.

View File

@@ -1,12 +1,75 @@
const fs = require('fs');
const path = require('path');
const volatilePackages = require('./common/volatilePackages');
function adjustFile(file) {
function adjustFile(file, isApp = false) {
const json = JSON.parse(fs.readFileSync(file, { encoding: 'utf-8' }));
function processPackageFile(packageFile) {
const pluginJson = JSON.parse(fs.readFileSync(packageFile, { encoding: 'utf-8' }));
for (const depkey of ['dependencies', 'optionalDependencies']) {
for (const dependency of Object.keys(pluginJson[depkey] || {})) {
if (!volatilePackages.includes(dependency)) {
// add only voletile packages
continue;
}
if (!json[depkey]) {
json[depkey] = {};
}
if (json[depkey][dependency]) {
if (json[depkey][dependency] != pluginJson[depkey][dependency]) {
console.log(`Dependency ${dependency} in ${packageName} is different from ${file}`);
}
continue;
}
json[depkey][dependency] = pluginJson[depkey][dependency];
}
}
}
for (const packageName of fs.readdirSync('plugins')) {
if (!packageName.startsWith('dbgate-plugin-')) continue;
processPackageFile(path.join('plugins', packageName, 'package.json'));
}
if (isApp) {
// add volatile dependencies from api to app
processPackageFile(path.join('packages', 'api', 'package.json'));
}
if (process.platform != 'win32') {
delete json.optionalDependencies.msnodesqlv8;
}
if (process.argv.includes('--community')) {
delete json.optionalDependencies['mongodb-client-encryption'];
delete json.dependencies['@mongosh/service-provider-node-driver'];
delete json.dependencies['@mongosh/browser-runtime-electron'];
}
if (isApp && process.argv.includes('--premium')) {
json.build.win.target = [
{
target: 'nsis',
arch: ['x64'],
},
];
json.build.linux.target = [
{
target: 'AppImage',
arch: ['x64'],
},
];
json.name = 'dbgate-premium';
json.build.artifactName = 'dbgate-premium-${version}-${os}_${arch}.${ext}';
json.build.appId = 'org.dbgate.premium';
json.build.productName = 'DbGate Premium';
}
fs.writeFileSync(file, JSON.stringify(json, null, 2), 'utf-8');
}
adjustFile('packages/api/package.json');
adjustFile('app/package.json');
adjustFile('app/package.json', true);
fs.writeFileSync('common/useBundleExternals.js', "module.exports = 'true';", 'utf-8');

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 123 KiB

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,12 +1,12 @@
{
"name": "dbgate",
"version": "5.0.0-alpha.1",
"version": "6.0.0-alpha.1",
"private": true,
"author": "Jan Prochazka <jenasoft.database@gmail.com>",
"description": "Opensource database administration tool",
"dependencies": {
"electron-log": "^4.4.1",
"electron-updater": "^4.6.1",
"electron-updater": "^6.3.4",
"jsonwebtoken": "^9.0.2",
"lodash.clonedeepwith": "^4.5.0",
"patch-package": "^6.4.7"
@@ -19,7 +19,6 @@
"artifactName": "dbgate-${version}-${os}_${arch}.${ext}",
"appId": "org.dbgate",
"productName": "DbGate",
"afterSign": "electron-builder-notarize",
"asarUnpack": "**/*.node",
"mac": {
"category": "database",
@@ -28,15 +27,21 @@
"entitlements": "entitlements.mac.plist",
"entitlementsInherit": "entitlements.mac.plist",
"publish": [
"github"
{
"provider": "github",
"owner": "dbgate",
"repo": "dbgate"
}
],
"target": {
"target": "default",
"arch": [
"universal",
"x64"
"x64",
"arm64"
]
}
},
"notarize": true
},
"linux": {
"target": [
@@ -46,7 +51,6 @@
"target": "AppImage",
"arch": [
"x64",
"armv7l",
"arm64"
]
},
@@ -56,7 +60,11 @@
"category": "Development",
"synopsis": "Database manager for SQL Server, MySQL, PostgreSQL, MongoDB and SQLite",
"publish": [
"github"
{
"provider": "github",
"owner": "dbgate",
"repo": "dbgate"
}
]
},
"appImage": {
@@ -91,14 +99,18 @@
],
"icon": "icon.ico",
"publish": [
"github"
],
"rfc3161TimeStampServer": "http://sha256timestamp.ws.symantec.com/sha256/timestamp"
{
"provider": "github",
"owner": "dbgate",
"repo": "dbgate"
}
]
},
"files": [
"packages",
"src",
"icon.png"
"icon.png",
"!node_modules/cpu-features/build/**"
]
},
"homepage": "./",
@@ -117,12 +129,6 @@
"copyfiles": "^2.2.0",
"cross-env": "^6.0.3",
"electron": "30.0.2",
"electron-builder": "23.1.0",
"electron-builder-notarize": "^1.5.2"
},
"optionalDependencies": {
"better-sqlite3": "9.6.0",
"msnodesqlv8": "^4.2.1",
"oracledb": "^6.6.0"
"electron-builder": "25.1.8"
}
}

View File

@@ -16,17 +16,20 @@ const BrowserWindow = electron.BrowserWindow;
const path = require('path');
const url = require('url');
const mainMenuDefinition = require('./mainMenuDefinition');
const { isProApp, checkLicense } = require('./proTools');
let disableAutoUpgrade = false;
const { isProApp } = require('./proTools');
const updaterChannel = require('./updaterChannel');
// require('@electron/remote/main').initialize();
const configRootPath = path.join(app.getPath('userData'), 'config-root.json');
let saveConfigOnExit = true;
let initialConfig = {};
let apiLoaded = false;
let mainModule;
// let getLogger;
// let loadLogsContent;
let appUpdateStatus = '';
let settingsJson = {};
process.on('uncaughtException', function (error) {
console.error('uncaughtException', error);
@@ -50,21 +53,11 @@ const isMac = () => os.platform() == 'darwin';
try {
initialConfig = JSON.parse(fs.readFileSync(configRootPath, { encoding: 'utf-8' }));
disableAutoUpgrade = initialConfig['disableAutoUpgrade'] || false;
} catch (err) {
console.log('Error loading config-root:', err.message);
initialConfig = {};
}
if (process.argv.includes('--disable-auto-upgrade')) {
console.log('Disabling auto-upgrade');
disableAutoUpgrade = true;
}
if (process.argv.includes('--enable-auto-upgrade')) {
console.log('Enabling auto-upgrade');
disableAutoUpgrade = false;
}
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let mainWindow;
@@ -73,6 +66,10 @@ let runCommandOnLoad = null;
log.transports.file.level = 'debug';
autoUpdater.logger = log;
if (updaterChannel) {
autoUpdater.channel = updaterChannel;
autoUpdater.allowPrerelease = updaterChannel.includes('beta');
}
// TODO - create settings for this
// appUpdater.channel = 'beta';
@@ -111,7 +108,7 @@ function commandItem(item) {
}
function buildMenu() {
let template = _cloneDeepWith(mainMenuDefinition({ editMenu: true }), item => {
let template = _cloneDeepWith(mainMenuDefinition({ editMenu: true, isMac: isMac() }), item => {
if (item.divider) {
return { type: 'separator' };
}
@@ -173,6 +170,21 @@ ipcMain.on('quit-app', async (event, arg) => {
mainWindow.close();
}
});
ipcMain.on('reset-settings', async (event, arg) => {
try {
saveConfigOnExit = false;
fs.unlinkSync(configRootPath);
console.log('Deleted file:', configRootPath);
} catch (err) {
console.log('Error deleting config-root:', err.message);
}
if (isMac()) {
app.quit();
} else {
mainWindow.close();
}
});
ipcMain.on('set-title', async (event, arg) => {
mainWindow.setTitle(arg);
});
@@ -191,6 +203,15 @@ ipcMain.on('app-started', async (event, arg) => {
if (initialConfig['winIsMaximized']) {
mainWindow.webContents.send('setIsMaximized', true);
}
if (autoUpdater.isUpdaterActive()) {
mainWindow.webContents.send('setAppUpdaterActive');
}
if (!process.env.DEVMODE) {
if (settingsJson['app.autoUpdateMode'] != 'skip') {
autoUpdater.autoDownload = settingsJson['app.autoUpdateMode'] == 'download';
autoUpdater.checkForUpdates();
}
}
});
ipcMain.on('window-action', async (event, arg) => {
if (!mainWindow) {
@@ -264,6 +285,20 @@ ipcMain.handle('showItemInFolder', async (event, path) => {
ipcMain.handle('openExternal', async (event, url) => {
electron.shell.openExternal(url);
});
ipcMain.on('downloadUpdate', async (event, url) => {
autoUpdater.downloadUpdate();
changeAppUpdateStatus({
icon: 'icon loading',
message: `Downloading update...`,
});
});
ipcMain.on('applyUpdate', async (event, url) => {
autoUpdater.quitAndInstall(false, true);
});
ipcMain.on('check-for-updates', async (event, url) => {
autoUpdater.autoDownload = false;
autoUpdater.checkForUpdates();
});
function fillMissingSettings(value) {
const res = {
@@ -301,8 +336,6 @@ function ensureBoundsVisible(bounds) {
function createWindow() {
const datadir = path.join(os.homedir(), '.dbgate');
let settingsJson = {};
let licenseKey = null;
try {
settingsJson = fillMissingSettings(
JSON.parse(fs.readFileSync(path.join(datadir, 'settings.json'), { encoding: 'utf-8' }))
@@ -311,32 +344,23 @@ function createWindow() {
console.log('Error loading settings.json:', err.message);
settingsJson = fillMissingSettings({});
}
if (isProApp()) {
try {
licenseKey = fs.readFileSync(path.join(datadir, 'license.key'), { encoding: 'utf-8' });
} catch (err) {
console.log('Error loading license.key:', err.message);
licenseKey = null;
}
}
const licenseOk = !isProApp() || checkLicense(licenseKey) == 'premium';
let bounds = initialConfig['winBounds'];
if (bounds) {
bounds = ensureBoundsVisible(bounds);
}
useNativeMenu = settingsJson['app.useNativeMenu'] || !licenseOk;
useNativeMenu = settingsJson['app.useNativeMenu'];
mainWindow = new BrowserWindow({
width: 1200,
height: 800,
title: 'DbGate',
title: isProApp() ? 'DbGate Premium' : 'DbGate',
frame: useNativeMenu,
titleBarStyle: useNativeMenu ? undefined : 'hidden',
backgroundColor: electron.nativeTheme.shouldUseDarkColors ? '#111111' : undefined,
...bounds,
icon: os.platform() == 'win32' ? 'icon.ico' : path.resolve(__dirname, '../icon.png'),
partition: 'persist:dbgate',
partition: isProApp() ? 'persist:dbgate-premium' : 'persist:dbgate',
webPreferences: {
nodeIntegration: true,
contextIsolation: false,
@@ -364,15 +388,16 @@ function createWindow() {
});
mainWindow.on('close', () => {
try {
fs.writeFileSync(
configRootPath,
JSON.stringify({
winBounds: mainWindow.getBounds(),
winIsMaximized: mainWindow.isMaximized(),
disableAutoUpgrade,
}),
'utf-8'
);
if (saveConfigOnExit) {
fs.writeFileSync(
configRootPath,
JSON.stringify({
winBounds: mainWindow.getBounds(),
winIsMaximized: mainWindow.isMaximized(),
}),
'utf-8'
);
}
} catch (err) {
console.log('Error saving config-root:', err.message);
}
@@ -406,7 +431,6 @@ function createWindow() {
);
global.API_PACKAGE = apiPackage;
global.NATIVE_MODULES = path.join(__dirname, 'nativeModules');
// console.log('global.API_PACKAGE', global.API_PACKAGE);
const api = require(apiPackage);
@@ -438,13 +462,61 @@ function createWindow() {
});
}
function changeAppUpdateStatus(status) {
appUpdateStatus = status;
mainWindow.webContents.send('app-update-status', appUpdateStatus);
}
autoUpdater.on('checking-for-update', () => {
console.log('Checking for updates');
changeAppUpdateStatus({
icon: 'icon loading',
message: 'Checking for updates...',
});
});
autoUpdater.on('update-available', info => {
console.log('Update available', info);
if (autoUpdater.autoDownload) {
changeAppUpdateStatus({
icon: 'icon loading',
message: `Downloading update...`,
});
} else {
mainWindow.webContents.send('update-available', info.version);
changeAppUpdateStatus({
icon: 'icon download',
message: `Update available`,
});
}
});
autoUpdater.on('update-not-available', info => {
console.log('Update not available', info);
changeAppUpdateStatus({
icon: 'icon check',
message: `No new updates`,
});
});
autoUpdater.on('update-downloaded', info => {
console.log('Update downloaded from', info);
changeAppUpdateStatus({
icon: 'icon download',
message: `Downloaded ${info.version}`,
});
mainWindow.webContents.send('downloaded-new-version', info.version);
});
autoUpdater.on('error', error => {
changeAppUpdateStatus({
icon: 'icon error',
message: `Autoupdate error`,
});
console.error('Update error', error);
});
function onAppReady() {
if (disableAutoUpgrade) {
console.log('Auto-upgrade is disabled, run dbgate --enable-auto-upgrade to enable');
}
if (!process.env.DEVMODE && !disableAutoUpgrade) {
autoUpdater.checkForUpdatesAndNotify();
}
createWindow();
}

View File

@@ -1,17 +1,18 @@
module.exports = ({ editMenu }) => [
module.exports = ({ editMenu, isMac }) => [
{
label: 'File',
submenu: [
{ command: 'new.connection', hideDisabled: true },
{ command: 'new.sqliteDatabase', hideDisabled: true },
{ command: 'new.duckdbDatabase', hideDisabled: true },
{ divider: true },
{ command: 'new.query', hideDisabled: true },
{ command: 'new.queryDesign', hideDisabled: true },
{ command: 'new.diagram', hideDisabled: true },
{ command: 'new.perspective', hideDisabled: true },
{ command: 'new.freetable', hideDisabled: true },
{ command: 'new.shell', hideDisabled: true },
{ command: 'new.jsonl', hideDisabled: true },
{ command: 'new.modelTransform', hideDisabled: true },
{ divider: true },
{ command: 'file.open', hideDisabled: true },
{ command: 'file.openArchive', hideDisabled: true },
@@ -24,20 +25,6 @@ module.exports = ({ editMenu }) => [
{ command: 'app.disconnect', hideDisabled: true, skipInApp: true },
],
},
{
label: 'Window',
submenu: [
{ command: 'tabs.closeTab', hideDisabled: false },
{ command: 'tabs.closeAll', hideDisabled: false },
{ command: 'tabs.closeTabsWithCurrentDb', hideDisabled: false },
{ command: 'tabs.closeTabsButCurrentDb', hideDisabled: false },
{ divider: true },
{ command: 'app.zoomIn', hideDisabled: true },
{ command: 'app.zoomOut', hideDisabled: true },
{ command: 'app.zoomReset', hideDisabled: true },
],
},
editMenu
? {
label: 'Edit',
@@ -75,6 +62,15 @@ module.exports = ({ editMenu }) => [
{ divider: true },
{ command: 'theme.changeTheme', hideDisabled: true },
{ command: 'settings.show' },
{ divider: true },
{ command: 'tabs.closeTab', hideDisabled: false },
{ command: 'tabs.closeAll', hideDisabled: false },
{ command: 'tabs.closeTabsWithCurrentDb', hideDisabled: false },
{ command: 'tabs.closeTabsButCurrentDb', hideDisabled: false },
{ divider: true },
{ command: 'app.zoomIn', hideDisabled: true },
{ command: 'app.zoomOut', hideDisabled: true },
{ command: 'app.zoomReset', hideDisabled: true },
],
},
{
@@ -91,8 +87,20 @@ module.exports = ({ editMenu }) => [
{ command: 'folder.showLogs', hideDisabled: true },
{ command: 'folder.showData', hideDisabled: true },
{ command: 'new.gist', hideDisabled: true },
{ command: 'app.resetSettings', hideDisabled: true },
{ divider: true },
{ command: 'app.exportConnections', hideDisabled: true },
{ command: 'app.importConnections', hideDisabled: true },
],
},
...(isMac
? [
{
role: 'window',
submenu: [{ role: 'minimize' }, { role: 'zoom' }, { type: 'separator' }, { role: 'front' }],
},
]
: []),
{
label: 'Help',
submenu: [
@@ -100,10 +108,13 @@ module.exports = ({ editMenu }) => [
{ command: 'app.openWeb', hideDisabled: true },
{ command: 'app.openIssue', hideDisabled: true },
{ command: 'app.openSponsoring', hideDisabled: true },
{ command: 'app.giveFeedback', hideDisabled: true },
{ divider: true },
{ command: 'settings.commands', hideDisabled: true },
{ command: 'tabs.changelog', hideDisabled: true },
{ command: 'about.show', hideDisabled: true },
{ divider: true },
{ command: 'file.checkForUpdates', hideDisabled: true },
],
},
];

View File

@@ -1,3 +0,0 @@
const content = require('./nativeModulesContent');
module.exports = content;

View File

@@ -0,0 +1 @@
module.exports = null;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,19 @@
const useBundleExternals = require('./useBundleExternals');
const getBundleExternals = require('./getBundleExternals');
function buildExternalsFromDependencies(packageJson) {
if (useBundleExternals == 'true') {
return getBundleExternals();
}
const { dependencies, optionalDependencies } = packageJson;
const externals = {};
for (let dep in dependencies || {}) {
externals[dep] = `commonjs ${dep}`;
}
for (let dep in optionalDependencies || {}) {
externals[dep] = `commonjs ${dep}`;
}
return externals;
}
module.exports = buildExternalsFromDependencies;

View File

@@ -0,0 +1,33 @@
const directory = process.argv[2];
const fs = require('fs');
const volatilePackages = require('./volatilePackages');
const apiPackageJson = JSON.parse(fs.readFileSync(`packages/api/package.json`, { encoding: 'utf-8' }));
const dependencies = {};
const optionalDependencies = {};
for (const pkg of volatilePackages) {
if (pkg == 'msnodesqlv8' && process.platform != 'win32') {
continue;
}
if (apiPackageJson.dependencies[pkg]) {
dependencies[pkg] = apiPackageJson.dependencies[pkg];
}
if (apiPackageJson.optionalDependencies?.[pkg]) {
optionalDependencies[pkg] = apiPackageJson.optionalDependencies[pkg];
}
}
fs.writeFileSync(
`${directory}/package.json`,
JSON.stringify(
{
dependencies,
optionalDependencies,
},
null,
2
),
'utf-8'
);

View File

@@ -0,0 +1,10 @@
const volatilePackages = require('./volatilePackages');
function getBundleExternals() {
return volatilePackages.reduce((acc, item) => {
acc[item] = `commonjs ${item}`;
return acc;
}, {});
}
module.exports = getBundleExternals;

174
common/processWorkflows.js Normal file
View File

@@ -0,0 +1,174 @@
const fs = require('fs');
const path = require('path');
const yaml = require('js-yaml');
const _ = require('lodash');
const indir = path.resolve(path.join(__dirname, '..', 'workflow-templates'));
const outdir = path.resolve(path.join(__dirname, '..', '.github', 'workflows'));
const includes = {};
const HEADER = `# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
`;
function readIncludes() {
for (const file of fs.readdirSync(indir)) {
const text = fs.readFileSync(path.join(indir, file), { encoding: 'utf-8' });
const json = yaml.load(text);
if (json._module) {
for (const key in json) {
if (key === '_module') {
continue;
}
includes[key] = json[key];
}
}
}
}
let modified = false;
function conditionMatch(condition, args) {
if (_.isString(condition)) {
return args.defs.includes(condition);
}
return false;
}
function processJsonStep(json, args) {
return _.cloneDeepWith(json, value => {
if (_.isArray(value)) {
const res = [];
let arrayModified = false;
for (const item of value) {
if (item._if) {
modified = true;
arrayModified = true;
if (conditionMatch(item._if, args)) {
res.push(_.omit(item, ['_if']));
}
} else if (item._replace || item._include) {
const replaceWith = item._replace ? args.replace?.[item._replace] : includes[item._include];
if (replaceWith) {
modified = true;
arrayModified = true;
if (_.isArray(replaceWith)) {
res.push(...replaceWith);
} else {
res.push(replaceWith);
}
} else {
res.push(item);
}
} else {
res.push(item);
}
}
if (arrayModified) {
return res;
}
return undefined;
}
if (_.isPlainObject(value)) {
if (_.intersection(args.allDefs ?? [], Object.keys(value))?.length > 0) {
modified = true;
for (const key in value) {
if (args.defs.includes(key)) {
return value[key];
}
}
return undefined;
}
}
if (_.isString(value)) {
let stringModified = false;
for (const key of Object.keys(args.stringReplace ?? {})) {
if (value.includes(key)) {
modified = true;
stringModified = true;
value = value.replaceAll(key, args.stringReplace[key]);
}
}
if (stringModified) {
return value;
}
return undefined;
}
if (value?._include) {
modified = true;
return includes[value?._include];
}
if (value?._replace) {
modified = true;
return args?.replace[value?._replace];
}
});
}
function processJson(json, args = {}) {
const MAX_STEPS = 64;
for (let i = 0; i < MAX_STEPS; i++) {
modified = false;
json = processJsonStep(json, args);
if (!modified) {
break;
}
}
return json;
}
function processFiles() {
const dumpOptions = {
lineWidth: -1,
};
for (const file of fs.readdirSync(indir)) {
const text = fs.readFileSync(path.join(indir, file), { encoding: 'utf-8' });
const json = yaml.load(text);
if (json._module) {
continue;
}
if (json._templates) {
const allDefs = Object.keys(json._templates);
for (const key in json._templates) {
allDefs.push(...(json._templates[key].defs ?? []));
}
for (const key in json._templates) {
const args = {
defs: [key, ...(json._templates[key]?.defs ?? [])],
replace: json._templates[key]?.replace,
stringReplace: json._templates[key]?.['string-replace'],
allDefs,
};
const converted = processJson(_.omit(json, ['_templates']), args);
const out = path.join(outdir, json._templates[key].file);
fs.writeFileSync(out, HEADER + yaml.dump(converted, dumpOptions));
}
} else {
fs.writeFileSync(path.join(outdir, file), HEADER + yaml.dump(processJson(json), dumpOptions));
}
}
}
function deleteOldFiles() {
const files = fs.readdirSync(outdir);
for (const file of files) {
fs.unlinkSync(path.join(outdir, file));
}
}
function run() {
deleteOldFiles();
readIncludes();
processFiles();
}
run();

View File

@@ -0,0 +1,43 @@
//@ts-check
const { getDefaultTranslations, getLanguageTranslations } = require('./helpers');
/**
* @param {string} language
*/
function getMissingTranslations(language) {
const source = getDefaultTranslations();
/** @type {Record<string, string>} */
let target;
try {
target = getLanguageTranslations(language);
} catch {
console.log(`Language ${language} not found, creating a new one`);
target = {};
}
let added = 0;
let removed = 0;
for (const key in source) {
if (!target[key]) {
target[key] = `*** ${source[key]}`;
added++;
}
}
for (const key in target) {
if (!source[key]) {
delete target[key];
removed++;
}
}
const newLength = Object.keys(target).length;
return { result: target, stats: { added, removed, newLength } };
}
module.exports = {
getMissingTranslations,
};

View File

@@ -0,0 +1,16 @@
// @ts-check
//
const defaultLanguage = 'en';
/** @typedef {{ extensions: string[], directories: string[] }} ExtractConfig
/** @type {ExtractConfig} */
const defaultExtractConfig = {
extensions: ['.js', '.ts', '.svelte'],
directories: ['app', 'packages/web'],
};
module.exports = {
defaultLanguage,
defaultExtractConfig,
};

View File

@@ -0,0 +1,84 @@
//@ts-check
const fs = require('fs');
const { promisify } = require('util');
const { getFiles } = require('./helpers');
const readFilePromise = promisify(fs.readFile);
const translationRegex = /_t\(\s*['"]([^'"]+)['"]\s*,\s*\{\s*defaultMessage\s*:\s*['"]([^'"]+)['"]\s*\}/g;
/**
* @param {string} file
*
* @returns {Promise<Record<string, string>>}
*/
async function extractTranslationsFromFile(file) {
/** @type {Record<string, string>} */
const translations = {};
const content = await readFilePromise(file, 'utf-8');
let match;
while ((match = translationRegex.exec(content)) !== null) {
const [_, key, defaultText] = match;
translations[key] = defaultText;
}
return translations;
}
/** @typedef {{ ignoreDuplicates?: boolean }} ExtractOptions */
/**
* @param {string[]} directories
* @param {string[]} extensions
* @param {ExtractOptions} options
*
* @returns {Promise<Record<string, string>>}
*/
async function extractAllTranslations(directories, extensions, options = {}) {
const { ignoreDuplicates } = options;
try {
/** @type {Record<string, string>} */
const allTranslations = {};
/** @type {Record<string, string[]>} */
const translationKeyToFiles = {};
for (const dir of directories) {
const files = await getFiles(dir, extensions);
for (const file of files) {
const fileTranslations = await extractTranslationsFromFile(file);
for (const key in fileTranslations) {
if (!translationKeyToFiles[key]) {
translationKeyToFiles[key] = [];
}
translationKeyToFiles[key].push(file);
if (!ignoreDuplicates && allTranslations[key] && allTranslations[key] !== fileTranslations[key]) {
console.error(
`Different translations for the same key [${key}] found. ${file}: ${
fileTranslations[key]
}. Previous value: ${allTranslations[key]} was found in ${translationKeyToFiles[key].join(', ')}`
);
throw new Error(`Duplicate translation key found: ${key}`);
}
allTranslations[key] = fileTranslations[key];
}
}
}
return allTranslations;
} catch (error) {
console.error('Error extracting translations:', error);
throw error;
}
}
module.exports = {
extractTranslationsFromFile,
extractAllTranslations,
};

View File

@@ -0,0 +1,198 @@
//@ts-check
const path = require('path');
const fs = require('fs');
const { defaultLanguage } = require('./constants');
const sortJsonKeysAlphabetically = require('./sortJsonKeysAlphabetically');
/**
* @param {string} file
* @param {string[]} extensions
*
* @returns {boolean}
*/
function hasValidExtension(file, extensions) {
return extensions.includes(path.extname(file).toLowerCase());
}
/**
* @param {string} dir
* @param {string[]} extensions
*
* @returns {Promise<string[]>}
*/
async function getFiles(dir, extensions) {
const files = await fs.promises.readdir(dir);
const allFiles = await Promise.all(
files.map(async file => {
const filePath = path.join(dir, file);
const stats = await fs.promises.stat(filePath);
if (stats.isDirectory()) {
return getFiles(filePath, extensions);
} else if (stats.isFile() && hasValidExtension(file, extensions)) {
const slashPath = filePath.replace(/\\/g, '/');
if (slashPath.includes('/node_modules/') || slashPath.includes('/build/') || slashPath.includes('/dist/')) {
return null;
}
return filePath;
}
return null;
})
);
const validFiles = /** @type {string[]} */ (allFiles.flat().filter(file => file !== null));
return validFiles;
}
/**
* @param {string | string[]} value
*
* @returns {string}
*/
function formatDefaultValue(value) {
if (Array.isArray(value)) {
return value.join(', ');
}
return value;
}
const scriptDir = getScriptDir();
/** @param {string} file
*
* @returns {string}
*/
function resolveFile(file) {
if (path.isAbsolute(file)) {
return file;
}
return path.resolve(scriptDir, '..', '..', file);
}
/** @param {string[]} dirs
*
* @returns {string[]}
*/
function resolveDirs(dirs) {
return dirs.map(resolveFile);
}
/**
* @param {string[]} extensions
*
* @returns {string[]}
*/
function resolveExtensions(extensions) {
return extensions.map(ext => (ext.startsWith('.') ? ext : `.${ext}`));
}
function getScriptDir() {
if (require.main?.filename) {
return path.dirname(require.main.filename);
}
if ('pkg' in process && process.pkg) {
return path.dirname(process.execPath);
}
return __dirname;
}
/**
* @param {string} file
*/
function ensureFileDirExists(file) {
const dir = path.dirname(file);
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true });
}
}
/**
* @param {Record<string, string>} existingTranslations - Previously extracted translations
* @param {Record<string, string>} newTranslations - Newly extracted translations
* @returns {{ added: string[], removed: string[], updated: string[] }} Translation changes
*/
const getTranslationChanges = (existingTranslations, newTranslations) => {
const existingKeys = new Set(Object.keys(existingTranslations || {}));
const newKeys = new Set(Object.keys(newTranslations));
const added = [...newKeys].filter(key => !existingKeys.has(key));
const removed = [...existingKeys].filter(key => !newKeys.has(key));
const updated = [...newKeys].filter(
key => existingKeys.has(key) && existingTranslations[key] !== newTranslations[key]
);
return { added, removed, updated };
};
function getDefaultTranslations() {
return getLanguageTranslations(defaultLanguage);
}
/**
* @param {string} language
*
* @returns {Record<string, string>}
*/
function getLanguageTranslations(language) {
const file = resolveFile(`translations/${language}.json`);
const content = fs.readFileSync(file, 'utf-8');
return JSON.parse(content);
}
/**
* @param {string} language
* @param {Record<string, string>} translations
*/
function setLanguageTranslations(language, translations) {
const file = resolveFile(`translations/${language}.json`);
const sorted = sortJsonKeysAlphabetically(translations);
fs.writeFileSync(file, JSON.stringify(sorted, null, 2));
}
/**
* @param {string} language
* @param {Record<string, string>} newTranslations
*/
function updateLanguageTranslations(language, newTranslations) {
const translations = getLanguageTranslations(language);
const updatedTranslations = { ...translations, ...newTranslations };
const sorted = sortJsonKeysAlphabetically(updatedTranslations);
setLanguageTranslations(language, sorted);
}
function getAllLanguages() {
const dir = resolveFile('translations');
const files = fs.readdirSync(dir);
const languages = files.filter(file => file.endsWith('.json')).map(file => file.replace('.json', ''));
return languages;
}
function getAllNonDefaultLanguages() {
return getAllLanguages().filter(language => language !== defaultLanguage);
}
module.exports = {
hasValidExtension,
getFiles,
formatDefaultValue,
resolveFile,
resolveDirs,
resolveExtensions,
ensureFileDirExists,
getTranslationChanges,
getDefaultTranslations,
getLanguageTranslations,
setLanguageTranslations,
updateLanguageTranslations,
getAllLanguages,
getAllNonDefaultLanguages,
};

View File

@@ -0,0 +1,3 @@
const { program } = require('./program');
program.parse();

View File

@@ -0,0 +1,163 @@
//@ts-check
const fs = require('fs');
const { program } = require('commander');
const {
resolveDirs,
resolveExtensions,
getTranslationChanges,
setLanguageTranslations,
getAllNonDefaultLanguages,
updateLanguageTranslations,
getDefaultTranslations,
} = require('./helpers');
const { extractAllTranslations } = require('./extract');
const { getMissingTranslations } = require('./addMissing');
const { defaultLanguage, defaultExtractConfig } = require('./constants');
const { removeUnusedAllTranslations, removeUnusedForSignelLanguage } = require('./removeUnused');
/**
* @typedef {import('./constants').ExtractConfig & { verbose?: boolean, ignoreUnused?: boolean }} ExtractOptions
*/
program.name('dbgate-translations-cli').description('CLI tool for managing translation').version('1.0.0');
program
.command('extract')
.description('Extract translation keys from source files')
.option('-d, --directories <directories...>', 'directories to search', defaultExtractConfig.directories)
.option('-e, --extensions <extensions...>', 'file extensions to process', defaultExtractConfig.extensions)
.option('-r, --ignoreUnused', 'Ignore unused keys in the output file')
.option('-v, --verbose', 'verbose mode')
.action(async (/** @type {ExtractOptions} */ options) => {
try {
const { directories, extensions, verbose, ignoreUnused } = options;
const resolvedRirectories = resolveDirs(directories);
const resolvedExtensions = resolveExtensions(extensions);
const extractedTranslations = await extractAllTranslations(resolvedRirectories, resolvedExtensions);
const defaultTranslations = getDefaultTranslations();
const { added, removed, updated } = getTranslationChanges(defaultTranslations, extractedTranslations);
console.log('\nTranslation changes:');
console.log(`- Added: ${added.length} keys`);
console.log(`- ${ignoreUnused ? 'Unused' : 'Removed'}: ${removed.length} keys`);
console.log(`- Updated: ${updated.length} keys`);
console.log(`- Total: ${Object.keys(extractedTranslations).length} keys`);
if (verbose) {
if (added.length > 0) {
console.log('\nNew keys:');
added.forEach(key => console.log(` + ${key}`));
}
if (removed.length > 0) {
console.log('\nRemoved keys:');
removed.forEach(key => console.log(` - ${key}`));
}
if (updated.length > 0) {
console.log('\nUpdated keys:');
updated.forEach(key => {
console.log(` ~ ${key}`);
console.log(` Old: ${defaultLanguage[key]}`);
console.log(` New: ${extractedTranslations[key]}`);
});
}
}
if (ignoreUnused) {
console.log('New translations were saved. Unused keys are kept.\n');
updateLanguageTranslations(defaultLanguage, extractedTranslations);
if (verbose) {
console.log('\nUnused keys:');
for (const key of removed) {
console.log(`${key}: "${defaultTranslations[key]}"`);
}
}
} else {
console.log('Unused keys were removed.\n');
setLanguageTranslations(defaultLanguage, extractedTranslations);
}
} catch (error) {
console.error(error);
console.error('Error during extraction:', error.message);
process.exit(1);
}
});
const ALL_LANGUAGES = 'all';
/**
* @param {string} target
*/
function addMissingTranslations(target) {
console.log(`Adding missing keys for language: ${target}`);
const { result, stats } = getMissingTranslations(target);
console.log(`Added: ${stats.added}, Removed: ${stats.removed}, Total: ${stats.newLength}`);
setLanguageTranslations(target, result);
console.log(`New translations for ${target} were saved.`);
}
program
.command('add-missing')
.description('Add missing keys for a langauge to the translation file')
.option('-t, --target <target>', 'language to add missing translations to', ALL_LANGUAGES)
.action(options => {
try {
const { target } = options;
const languages = getAllNonDefaultLanguages();
if (target === ALL_LANGUAGES) {
console.log('Adding missing keys for all languages\n');
for (const language of languages) {
addMissingTranslations(language);
console.log();
}
} else {
addMissingTranslations(target);
}
} catch (error) {
console.error(error);
console.error('Error during add-missing:', error.message);
process.exit(1);
}
});
program
.command('remove-unused')
.description('Remove unused keys from the translation files')
.option('-t, --target <target>', 'language to add missing translations to', ALL_LANGUAGES)
.action(async options => {
try {
const { target } = options;
if (target === ALL_LANGUAGES) {
console.log('Removing unused keys from all languages\n');
await removeUnusedAllTranslations();
} else {
await removeUnusedForSignelLanguage(target);
}
} catch (error) {
console.error(error);
console.error('Error during add-missing:', error.message);
process.exit(1);
}
});
program
.command('check')
.description('Check if there are multiple default values for the same key')
.action(async () => {
try {
await extractAllTranslations(defaultExtractConfig.directories, defaultExtractConfig.extensions);
console.log('No problems found while extracting translations.');
} catch (error) {
console.error(error);
console.error('Error during check:', error.message);
process.exit(1);
}
});
module.exports = { program };

View File

@@ -0,0 +1,46 @@
// @ts-check
const { defaultExtractConfig } = require('./constants');
const { extractAllTranslations } = require('./extract');
const { getLanguageTranslations, getAllLanguages, setLanguageTranslations } = require('./helpers');
const { directories, extensions } = defaultExtractConfig;
/**
* @param {string} language
* @param {Record<string, string>} source
*/
function getUsedTranslations(language, source) {
const languageTranslations = getLanguageTranslations(language);
for (const key in languageTranslations) {
if (!(key in source)) {
delete languageTranslations[key];
}
}
return languageTranslations;
}
async function removeUnusedAllTranslations() {
const source = await extractAllTranslations(directories, extensions);
const languages = getAllLanguages();
for (const language of languages) {
const newTranslations = getUsedTranslations(language, source);
setLanguageTranslations(language, newTranslations);
}
}
/**
* @param {string} language
*/
async function removeUnusedForSignelLanguage(language) {
const source = await extractAllTranslations(directories, extensions);
const newTranslations = getUsedTranslations(language, source);
setLanguageTranslations(language, newTranslations);
}
module.exports = {
removeUnusedAllTranslations,
removeUnusedForSignelLanguage,
};

View File

@@ -0,0 +1,24 @@
// @ts-check
/**
* @param {object|string} json
* @returns {object}
*/
function sortJsonKeysAlphabetically(json) {
const obj = typeof json === 'string' ? JSON.parse(json) : json;
if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) {
return obj;
}
const sortedObj = Object.keys(obj)
.sort()
.reduce((result, key) => {
result[key] = obj[key];
return result;
}, {});
return sortedObj;
}
module.exports = sortJsonKeysAlphabetically;

View File

@@ -0,0 +1 @@
module.exports = 'false';

View File

@@ -0,0 +1,29 @@
// these packages will be never bundled with webpack
const volatilePackages = [
'@clickhouse/client',
'bson', // this package is already bundled and is used in mongodb
'mongodb',
'mongodb-client-encryption',
'tedious',
'msnodesqlv8',
'mysql2',
'oracledb',
'pg-copy-streams',
'pg',
'ioredis',
'node-redis-dump2',
'better-sqlite3',
'libsql',
'@azure/cosmos',
'@aws-sdk/rds-signer',
'activedirectory2',
'axios',
'ssh2',
'wkx',
'@duckdb/node-api',
'@mongosh/browser-runtime-electron',
'@mongosh/service-provider-node-driver',
];
module.exports = volatilePackages;

View File

@@ -1,6 +1,6 @@
# this compose file is for testing purposes only
# use it for testing docker containsers built on local machine
version: "3"
version: '3'
services:
dbgate:
build: docker
@@ -15,31 +15,31 @@ services:
volumes:
- dbgate-data:/root/.dbgate
# environment:
# WEB_ROOT: /dbgate
# CONNECTIONS: mssql
# LABEL_mssql: MS Sql
# SERVER_mssql: mssql
# USER_mssql: sa
# PORT_mssql: 1433
# PASSWORD_mssql: Pwd2020Db
# ENGINE_mssql: mssql@dbgate-plugin-mssql
# proxy:
# # image: nginx
# build: test/nginx
# ports:
# - 8082:80
# CONNECTIONS: mssql
# LABEL_mssql: MS Sql
# SERVER_mssql: mssql
# USER_mssql: sa
# PORT_mssql: 1433
# PASSWORD_mssql: Pwd2020Db
# ENGINE_mssql: mssql@dbgate-plugin-mssql
proxy:
# image: nginx
build: test/nginx
ports:
- 8082:80
# volumes:
# - /home/jena/test/chinook:/mnt/sqt
# environment:
# CONNECTIONS: sqlite
volumes:
- /home/jena/test/chinook:/mnt/sqt
environment:
CONNECTIONS: sqlite
# LABEL_sqlite: sqt
# FILE_sqlite: /mnt/sqt/Chinook.db
# ENGINE_sqlite: sqlite@dbgate-plugin-sqlite
LABEL_sqlite: sqt
FILE_sqlite: /mnt/sqt/Chinook.db
ENGINE_sqlite: sqlite@dbgate-plugin-sqlite
# mssql:
# image: mcr.microsoft.com/mssql/server
@@ -51,4 +51,5 @@ services:
volumes:
dbgate-data:
driver: local
driver: local

View File

@@ -1,21 +1,12 @@
FROM ubuntu:22.04
FROM node:22
LABEL org.opencontainers.image.source="https://github.com/dbgate/dbgate"
RUN apt-get update && apt-get install -y \
curl \
gnupg \
iputils-ping \
iproute2 \
unixodbc \
gcc \
g++ \
make
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource-archive-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/nodesource-archive-keyring.gpg] https://deb.nodesource.com/node_18.x jammy main" | tee /etc/apt/sources.list.d/nodesource.list \
&& echo "deb-src [signed-by=/usr/share/keyrings/nodesource-archive-keyring.gpg] https://deb.nodesource.com/node_18.x jammy main" | tee -a /etc/apt/sources.list.d/nodesource.list \
&& apt-get update && apt-get install -y nodejs \
&& rm -rf /var/lib/apt/lists/* \
&& npm install -g yarn
&& rm -rf /var/lib/apt/lists/*
WORKDIR /home/dbgate-docker

View File

@@ -1,5 +1,7 @@
FROM node:18-alpine
LABEL org.opencontainers.image.source="https://github.com/dbgate/dbgate"
WORKDIR /home/dbgate-docker
RUN apk --no-cache upgrade \

View File

@@ -0,0 +1,8 @@
module.exports = {
mysql: true,
postgres: true,
mssql: true,
oracle: true,
sqlite: true,
mongo: true
};

View File

@@ -0,0 +1,25 @@
const path = require('path');
const os = require('os');
const fs = require('fs');
const baseDir = path.join(os.homedir(), '.dbgate');
function clearTestingData() {
if (fs.existsSync(path.join(baseDir, 'connections-e2etests.jsonl'))) {
fs.unlinkSync(path.join(baseDir, 'connections-e2etests.jsonl'));
}
if (fs.existsSync(path.join(baseDir, 'settings-e2etests.json'))) {
fs.unlinkSync(path.join(baseDir, 'settings-e2etests.json'));
}
if (fs.existsSync(path.join(baseDir, 'files-e2etests'))) {
fs.rmdirSync(path.join(baseDir, 'files-e2etests'), { recursive: true });
}
if (fs.existsSync(path.join(baseDir, 'archive-e2etests'))) {
fs.rmdirSync(path.join(baseDir, 'archive-e2etests'), { recursive: true });
}
if (fs.existsSync(path.join(__dirname, 'tmpdata', 'my_guitar_shop.db'))) {
fs.unlinkSync(path.join(__dirname, 'tmpdata', 'my_guitar_shop.db'));
}
}
clearTestingData();

View File

@@ -0,0 +1,7 @@
FROM dexidp/dex:v2.35.3
COPY dex-config.yaml /etc/dex/cfg/config.yaml
EXPOSE 5556
CMD ["dex", "serve", "/etc/dex/cfg/config.yaml"]

View File

@@ -0,0 +1,27 @@
issuer: http://localhost:16009/dex
storage:
type: memory
web:
http: 0.0.0.0:5556
oauth2:
skipApprovalScreen: true
staticClients:
- id: my-app
redirectURIs:
- 'http://localhost:3000/'
name: 'My Test App'
secret: my-secret
enablePasswordDB: true
staticPasswords:
- email: "test@example.com"
emailVerified: true
hash: "$2y$10$JcmlXnV1y7.egUdKwYNbseOnqYVIGc323gtvvHh4ZuSPZB30veYZy"
username: "test"
userID: "1234"
allowedScopes:
- openid
- email
- profile

View File

@@ -0,0 +1,27 @@
FROM ubuntu:22.04
RUN apt-get update && \
apt-get install -y openssh-server mysql-server && \
apt-get clean && rm -rf /var/lib/apt/lists/*
RUN mkdir /var/run/sshd
RUN sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config && \
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin without-password/' /etc/ssh/sshd_config
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh
COPY mykey.pub /root/.ssh/authorized_keys
RUN chmod 600 /root/.ssh/authorized_keys
RUN service mysql start && \
mysql -uroot -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; FLUSH PRIVILEGES;" && \
service mysql stop
EXPOSE 22
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQClN/tu+X7PVYpMBEQDwxtyG0oNuKqcJdBud/vBUalyYSpliXO30BsBusjCyAh8ENVllmGTRaTcqAUPg/vwekaAMFZu9EXmQsdhPEWSxrkPkXXKsWrZVPtRV8l3wuSy/VLxbXRLujTpIEE5Au88e2CFN3zzuhg9rvsXE0cGjyYe9Cw3Ub+Yo6rbnESI7F+Jun29/wD8RF+kRL5cr7BrDoOBQf4yGexrTbUPMZ4b8QlGfXUwZhn6LlWVoWq7BMRelnfIAkuC+LwavvnkMqXMITmGa7sG0zOXByW7iGdP6TWVq9Ks+yCZoAA9ncAkgkpwoNrOSXR6dM5UjrsfJ2Na332QfxK8MmC+nBiyXIKUaQY2G8Wfm93GQqDc+349JFwH4ZjgYWJlTd/UfRCn4j30jxe1RKnjt5xGqb3L+j8JfuSPcojWRekg/K8GxBmaMCcEdqjIFD4MxeIUW3bGHd30wnuZkTPWlSmAGrO0fZXj0s1fmOBME05TjE8jsyKPmb2Kd3JdtCuTrjOgrYiHaMfcv/VqVhIv2kCKjnvhAxCqfGfKxxgcerItbrsfFAvYak1kwZelBquHOK6SkMH5WhDyhvGY+ZF0Wbg3CpynlpJVu4E3LSglYNbkIWqS3pAf+hqJtXl9SHCLgKFUcCIz0ZNQkT+PtUlR3klp6qoPXUWrcL3pdQ== test

View File

@@ -0,0 +1,7 @@
#!/bin/bash
service ssh start
service mysql start
tail -f /dev/null

View File

@@ -0,0 +1,23 @@
FROM ubuntu:22.04
RUN apt-get update && \
apt-get install -y openssh-server mysql-server && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN mkdir /var/run/sshd
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN echo 'root:root' | chpasswd
RUN service mysql start && \
mysql -uroot -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root'; FLUSH PRIVILEGES;" && \
service mysql stop
EXPOSE 22
COPY start.sh /start.sh
RUN chmod +x /start.sh
CMD ["/start.sh"]

View File

@@ -0,0 +1,7 @@
#!/bin/bash
service ssh start
service mysql start
tail -f /dev/null

View File

@@ -0,0 +1,75 @@
const { defineConfig } = require('cypress');
const killPort = require('kill-port');
const waitOn = require('wait-on');
const { exec } = require('child_process');
const fs = require('fs');
const path = require('path');
module.exports = defineConfig({
e2e: {
// baseUrl: 'http://localhost:3000',
// trashAssetsBeforeRuns: false,
chromeWebSecurity: false,
setupNodeEvents(on, config) {
// implement node event listeners here
on('before:spec', async details => {
// console.log('********************* DETAILS *********************', JSON.stringify(details));
if (config.isInteractive) {
try {
await killPort(3000);
} catch (e) {
console.warn('Error killing process on port 3000:', e.message);
}
switch (details.fileName) {
case 'add-connection':
serverProcess = exec('yarn start:add-connection');
break;
case 'portal':
serverProcess = exec('yarn start:portal');
break;
case 'oauth':
serverProcess = exec('yarn start:oauth');
break;
case 'browse-data':
serverProcess = exec('yarn start:browse-data');
break;
case 'team':
serverProcess = exec('yarn start:team');
break;
case 'multi-sql':
serverProcess = exec('yarn start:multi-sql');
break;
case 'cloud':
serverProcess = exec('yarn start:cloud');
break;
case 'charts':
serverProcess = exec('yarn start:charts');
break;
}
await waitOn({ resources: ['http://localhost:3000'] });
serverProcess.stdout.on('data', data => {
console.log(data.toString());
});
serverProcess.stderr.on('data', data => {
console.error(data.toString());
});
}
});
on('after:screenshot', details => {
if (details.name) {
fs.renameSync(details.path, path.resolve(__dirname, `screenshots/${details.name}.png`));
}
});
// on('task', {
// renameFile({ from, to }) {
// fs.renameSync(from, to);
// },
// });
},
},
});

View File

@@ -0,0 +1,122 @@
const path = require('path');
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1200, 900);
});
describe('Add connection', () => {
it('successfully loads', () => {
cy.contains('Database not selected');
});
it('adds connection', () => {
// cy.get('[data-testid=ConnectionList_buttonNewConnection]').click();
cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL');
cy.themeshot('new-connection');
cy.get('[data-testid=ConnectionDriverFields_user]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_password]').clear().type('Pwd2020Db');
cy.get('[data-testid=ConnectionDriverFields_port]').clear().type('16004');
cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-1');
// test connection
cy.testid('ConnectionTab_buttonTest').click();
cy.contains('Connected:');
cy.testid('ConnectionTab_tabSshTunnel').click();
cy.testid('ConnectionTab_tabControlContent').themeshot('connection-sshtunnel-window', { padding: 50 });
cy.testid('ConnectionTab_tabSsl').click();
cy.testid('ConnectionTab_tabControlContent').themeshot('connection-ssl-window', { padding: 50 });
// save and connect
cy.get('[data-testid=ConnectionTab_buttonSave]').click();
cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
cy.contains('performance_schema');
});
it('SSH connection - user + password', () => {
cy.contains('Connections');
// cy.realPress('F1');
// cy.realType('Close all');
// cy.realPress('Enter');
cy.get('[data-testid=ConnectionList_buttonNewConnection]').click();
cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL');
cy.get('[data-testid=ConnectionDriverFields_user]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_password]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-ssh-1');
cy.get('[data-testid=ConnectionTab_tabSshTunnel]').click();
cy.get('[data-testid=ConnectionSshTunnelFields_useSshTunnel]').check();
cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').clear().type('root');
cy.get('[data-testid=ConnectionSshTunnelFields_sshPassword]').clear().type('root');
cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16012');
cy.get('[data-testid=ConnectionTab_buttonSave]').click();
cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
cy.contains('performance_schema');
});
it('SSH connection - keyfile', () => {
cy.contains('Connections');
// cy.realPress('F1');
// cy.realType('Close all');
// cy.realPress('Enter');
cy.get('[data-testid=ConnectionList_buttonNewConnection]').click();
cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL');
cy.get('[data-testid=ConnectionDriverFields_user]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_password]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-ssh-2');
cy.get('[data-testid=ConnectionTab_tabSshTunnel]').click();
cy.get('[data-testid=ConnectionSshTunnelFields_useSshTunnel]').check();
cy.get('[data-testid=ConnectionSshTunnelFields_sshMode]').select('Key file');
cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').clear();
cy.get('[data-testid=ConnectionSshTunnelFields_sshLogin]').type('root');
cy.get('[data-testid=ConnectionSshTunnelFields_sshKeyfile]')
.clear()
.type(path.join(Cypress.config('fileServerFolder'), 'cypress', 'e2e', 'mykey'));
cy.get('[data-testid=ConnectionSshTunnelFields_sshPort]').clear().type('16008');
cy.get('[data-testid=ConnectionTab_buttonSave]').click();
cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
cy.contains('performance_schema');
});
it('ask password - mysql', () => {
cy.get('[data-testid=ConnectionList_buttonNewConnection]').click();
cy.get('[data-testid=ConnectionDriverFields_connectionType]').select('MySQL');
cy.get('[data-testid=ConnectionDriverFields_user]').clear().type('root');
cy.get('[data-testid=ConnectionDriverFields_password]').clear().type('Pwd2020Db');
cy.get('[data-testid=ConnectionDriverFields_port]').clear().type('16004');
cy.get('[data-testid=ConnectionDriverFields_displayName]').clear().type('test-mysql-2');
cy.testid('ConnectionDriverFields_passwordMode').select('askPassword');
// test connection
cy.get('[data-testid=ConnectionTab_buttonTest]').click();
cy.testid('DatabaseLoginModal_password').clear().type('Pwd2020Db');
cy.testid('DatabaseLoginModal_connect').click();
cy.contains('Connected:');
cy.get('[data-testid=ConnectionTab_buttonSave]').click();
cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
// again type DB password - not saved
cy.testid('DatabaseLoginModal_password').clear().type('Pwd2020Db');
cy.testid('DatabaseLoginModal_connect').click();
cy.contains('performance_schema');
});
it('export connections', () => {
cy.testid('WidgetIconPanel_menu').click();
cy.contains('Tools').click();
cy.contains('Export connections').click();
cy.themeshot('export-connections');
});
});

View File

@@ -0,0 +1,499 @@
Cypress.on('uncaught:exception', (err, runnable) => {
// if the error message matches the one about WorkerGlobalScope importScripts
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
// return false to let Cypress know we intentionally want to ignore this error
return false;
}
// otherwise let Cypress throw the error
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('Data browser data', () => {
it('Export window', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').rightclick();
cy.contains('Export').click();
cy.contains('Export advanced').click();
cy.wait(1000);
// cy.testid('SourceTargetConfig_buttonCurrentArchive_target').click();
// cy.testid('FormTablesSelect_buttonAll_tables').click();
// cy.testid('SourceTargetConfig_tablesSelect_source').click();
// cy.find('.listContainer').contains('Album').click();
// cy.find('.listContainer').contains('Track').click();
// cy.wait(4000);
// cy.contains('All tables').click();
cy.contains('Run').click();
cy.contains('Finished job script');
cy.contains('Album.csv');
cy.testid('WidgetIconPanel_database').click();
cy.themeshot('configure-export-csv');
});
it('Data archive editor - macros', () => {
cy.testid('WidgetIconPanel_archive').click();
cy.contains('Album').click();
cy.testid('DataGrid_itemFilters').click();
cy.contains('Let There Be Rock').click();
cy.contains('Out Of Exile').click({ shiftKey: true });
cy.contains('Change text case').click();
cy.contains('AUDIOSLAVE');
cy.themeshot('data-archive-macros');
});
it('Load table data', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.contains('Let There Be Rock').click();
cy.contains('Rows: 347');
cy.realPress(['Control', 'ArrowRight']);
cy.contains('Aerosmith');
});
it('Filter model', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('SqlObjectList_search').clear().type('album');
cy.contains('Tables (1/11)');
cy.contains('347 rows, InnoDB');
cy.testid('SqlObjectList_searchMenuDropDown').click();
cy.contains('Column name').click();
cy.contains('Tables (2/11)');
cy.contains('AlbumId');
cy.contains('Column name').click();
cy.contains('AlbumId').should('not.exist');
cy.contains('Tables (1/11)');
});
it('Show raw data', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').rightclick();
cy.contains('Open raw data').click();
cy.contains('Let There Be Rock').click();
cy.contains('Rows: 347').should('not.exist');
cy.realPress(['Control', 'ArrowRight']);
cy.contains('Aerosmith').should('not.exist');
});
it('Data filter', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.testid('DataFilterControl_input_Title').type('Rock{enter}');
cy.contains('Rows: 7');
cy.testid('DataFilterControl_input_AlbumId').type('>10xxx{enter}');
cy.contains('Rows: 7');
cy.testid('DataFilterControl_filtermenu_Title').click();
// hide what is not needed
cy.testid('WidgetIconPanel_database').click();
cy.testid('DataGrid_itemReferences').click();
cy.themeshot('data-browser-filter');
cy.testid('DataGridCore_button_clearFilters').click();
cy.contains('Rows: 347');
});
it('Data grid screenshots', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.testid('TabsPanel_pinTabButton').click();
cy.contains('Genre').click();
cy.testid('TabsPanel_pinTabButton').click();
cy.contains('Playlist').click();
cy.testid('TabsPanel_pinTabButton').click();
cy.contains('Postgres-connection').click();
cy.contains('PgChinook').click();
cy.contains('customer').click();
cy.contains('Leonie').click();
cy.themeshot('common-data-browser');
cy.contains('invoice').click();
cy.contains('invoice_line (invoice_id)').click();
cy.themeshot('data-browser-master-detail');
cy.contains('9, Place Louis Barthou').click();
cy.contains('Switch to form').click();
cy.contains('Switch to table'); // test that we are in form view
cy.themeshot('data-browser-form-view');
});
it('Column search', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').click();
cy.testid('ColumnManager_searchColumns').clear().type('name,id{enter}');
cy.contains('Company').should('not.exist');
cy.themeshot('data-browser-column-search');
});
it('SQL Gen', () => {
cy.contains('Postgres-connection').click();
cy.contains('PgChinook').rightclick();
cy.contains('SQL Generator').click();
cy.contains('Check all').click();
cy.themeshot('sql-generator');
});
it('Macros in DB', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').click();
cy.contains('Leonie').click();
cy.contains('Ramos').click({ shiftKey: true });
cy.testid('DataGrid_itemColumns').click();
cy.testid('DataGrid_itemFilters').click();
cy.testid('DataGrid_itemReferences').click();
cy.testid('DataGrid_itemMacros').click();
cy.contains('Change text case').click();
cy.contains('NIELSEN');
cy.themeshot('data-browser-macros');
});
it('Perspectives', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Artist').rightclick();
cy.contains('Design perspective query').click();
cy.testid('PerspectiveNodeRow_check_Artist_Album').click();
cy.testid('PerspectiveNodeRow_expand_Artist_Album').click();
cy.testid('PerspectiveNodeRow_check_Artist_Album_Track').click();
// check track is loaded
cy.contains('Put The Finger On You');
cy.themeshot('perspective-designer');
});
it('Query editor - code completion', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').rightclick();
cy.contains('SQL template').click();
cy.contains('CREATE TABLE').click();
cy.wait(1000);
cy.get('body').realPress('PageDown');
cy.get('body').realType('select * from Album where Album.');
// code completion
cy.contains('ArtistId');
cy.themeshot('query-editor-code-completion');
});
it('Query editor - join wizard', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_query').click();
cy.wait(1000);
cy.get('body').realType('select * from Invoice');
cy.get('body').realPress('{enter}');
cy.get('body').realPress(['Control', 'j']);
// JOIN wizard
cy.contains('INNER JOIN Customer ON Invoice.CustomerId = Customer.CustomerId');
cy.themeshot('query-editor-join-wizard');
});
it('Mongo JSON data view', () => {
cy.contains('Mongo-connection').click();
cy.contains('MgChinook').click();
cy.contains('Customer').click();
cy.testid('DataFilterControl_input_CustomerId').type('<=10{enter}');
// test filter
cy.contains('Rows: 10');
cy.contains('Helena').rightclick();
cy.contains('Open query').click();
cy.wait(1000);
cy.contains('Execute').click();
cy.testid('WidgetIconPanel_cell-data').click();
// test JSON view
cy.contains('Country: "Brazil"');
cy.themeshot('mongo-query-json-view');
});
it('SQL preview', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').rightclick();
cy.contains('Show SQL').click();
// index should be part of create script
cy.contains('CREATE INDEX `IFK_CustomerSupportRepId`');
cy.themeshot('sql-preview-create-index');
});
it('Query designer', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('WidgetIconPanel_file').click();
cy.contains('customer').click();
// cy.contains('left join').rightclick();
cy.themeshot('query-designer');
});
it('Database diagram', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('WidgetIconPanel_file').click();
cy.contains('chinook-diagram').click();
cy.testid('WidgetIconPanel_file').click();
// check diagram is shown
cy.contains('MediaTypeId');
cy.themeshot('database-diagram');
});
// it('Charts', () => {
// cy.testid('WidgetIconPanel_file').click();
// cy.contains('pie-chart').click();
// cy.contains('line-chart').click();
// cy.testid('TabsPanel_buttonSplit').click();
// cy.testid('WidgetIconPanel_file').click();
// cy.themeshot('view-split-charts');
// });
it('Keyboard configuration', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Keyboard shortcuts').click();
cy.contains('dataForm.refresh').click();
cy.testid('CommandModal_keyboardButton').click();
cy.themeshot('keyboard-configuration');
});
it('Command palette', () => {
cy.contains('Connections');
cy.testid('WidgetIconPanel_menu').click();
cy.contains('Tools').click();
cy.contains('Command palette').click();
// cy.realPress('F1');
cy.realPress('PageDown');
cy.realPress('PageDown');
cy.testid('CommandPalette_main').themeshot('command-palette', { padding: 50 });
});
it('Show map', () => {
cy.contains('Postgres-connection').click();
cy.contains('PgGeoData').click();
cy.contains('cities').click();
// clicking column header doesn't work, TODO FIX in app!!!
// cy.contains('location').click();
cy.contains('14.2').click();
cy.contains('13.9').click({ shiftKey: true });
cy.testid('WidgetIconPanel_cell-data').click();
cy.wait(2000);
cy.themeshot('cell-map-view');
});
it('Search in connections', () => {
cy.testid('ConnectionList_search').type('my');
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('SqlObjectList_search').type('album');
cy.contains('Album').click();
cy.testid('SqlObjectList_searchMenuDropDown').click();
cy.contains('Column name').click();
cy.themeshot('search-in-connections');
});
it('Plugin tab', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Manage plugins').click();
cy.contains('dbgate-plugin-theme-total-white').click();
// text from plugin markdown
cy.contains('Total white theme');
// wait for load logos
cy.wait(2000);
cy.themeshot('view-plugin-tab');
});
it('Edit mongo data JSON', () => {
// TODO FIX: Missing button+ctx menu Revert all changes, missing button+ctx menu add document
// TODO: Dark theme - not visible changed and deleted document
cy.contains('Mongo-connection').click();
cy.contains('MgChinook').click();
cy.contains('Customer').rightclick();
cy.contains('Open JSON').click();
cy.contains('Leonie').rightclick();
cy.contains('Edit document').click();
// cy.focused()
// .type('{downArrow}'.repeat(11))
// .type('{rightarrow}'.repeat(14))
// .type('{del}'.repeat(7)) // 4*delete
// .type('Italy'); // type "Italy"
Array.from({ length: 11 }).forEach(() => cy.realPress('ArrowDown'));
Array.from({ length: 14 }).forEach(() => cy.realPress('ArrowRight'));
Array.from({ length: 7 }).forEach(() => cy.realPress('Delete'));
cy.realType('Italy');
cy.testid('EditJsonModal_saveButton').click();
cy.contains('Helena').rightclick();
cy.contains('Delete document').click();
cy.contains('Save').click();
cy.themeshot('save-changes-mongodb');
});
it('Edit mongo data JSON', () => {
// TODO FIX: Auto expand cell view
cy.contains('Mongo-connection').click();
cy.contains('MgRivers').click();
cy.contains('RiverInfo').click();
cy.testid('ColumnManagerRow_expand_countries').click();
cy.testid('ColumnManagerRow_checkbox_countries.0').click();
cy.testid('ColumnManagerRow_checkbox_countries.1').click();
cy.testid('ColumnManagerRow_checkbox__id').click();
cy.testid('DataFilterControl_input_countries.1').type('EXISTS{enter}');
cy.testid('WidgetIconPanel_cell-data').click();
cy.themeshot('mongodb-json-cell-view');
});
it('Table structure editor', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').rightclick();
cy.contains('Open structure').click();
cy.contains('varchar(40)');
cy.themeshot('table-structure-editor');
cy.contains('EmployeeId').click();
cy.contains('Ref column - Employee');
cy.themeshot('foreign-key-editor');
});
it('Compare database', () => {
// TODO FIX: SQL diff is not dark in dark mode
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('MyChangedChinook').rightclick();
cy.contains('Compare with').click();
cy.testid('CompareModelTab_gridObjects_Customer_Customer').click();
cy.testid('WidgetIconPanel_database').click();
cy.testid('CompareModelTab_tabDdl').click();
cy.themeshot('compare-database-models');
cy.contains('Settings').click();
cy.testid('CompareModelTab_tabOperations').click();
cy.themeshot('compare-database-settings');
});
it('Database chat', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_databaseChat').click();
cy.wait(1000);
cy.get('body').realType('find most popular artist');
cy.get('body').realPress('{enter}');
cy.testid('DatabaseChatTab_executeAllQueries', { timeout: 20000 }).click();
cy.wait(20000);
// cy.contains('Iron Maiden');
cy.themeshot('database-chat');
// cy.testid('DatabaseChatTab_promptInput').click();
// cy.get('body').realType('I need top 10 songs with the biggest income');
// cy.get('body').realPress('{enter}');
// cy.contains('Hot Girl', { timeout: 20000 });
// cy.wait(1000);
// cy.themeshot('database-chat');
});
it('Modify data', () => {
// TODO FIX: delete references cascade not working
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Employee').click();
cy.contains('Rows: 8');
cy.contains('Laura').click();
cy.contains('Laura').click();
cy.get('body').realType('Jane');
// cy.contains('Peacock').click();
// cy.testid('TableDataTab_deleteSelectedRows').click();
cy.contains('King').click();
cy.testid('TableDataTab_deleteSelectedRows').click();
cy.testid('TableDataTab_insertNewRow').click();
cy.get('body').realType('Novak');
cy.get('body').realPress('{enter}');
cy.realPress(['ArrowRight']);
cy.get('body').realType('Karel');
cy.testid('TableDataTab_save').click();
cy.contains('INSERT INTO `Employee`');
cy.contains("SET `FirstName`='Jane'");
cy.contains('DELETE FROM `Employee`');
cy.themeshot('data-browser-save-changes');
// cy.testid('ConfirmSqlModal_okButton').click();
// cy.contains('Cannot delete or update a parent row')
// cy.testid('ConfirmSqlModal_okButton').click();
// cy.testid('TableDataTab_save').click();
// cy.testid('ConfirmSqlModal_deleteReferencesCascade').click();
// cy.testid('ConfirmSqlModal_okButton').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('Novak');
cy.contains('Rows: 8');
});
it('Export menu', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.testid('DataFilterControl_input_ArtistId').type('22{enter}');
// cy.contains('Presence').rightclick();
// cy.contains('Coda').rightclick();
// cy.testid('DropDownMenu-container-0').contains('Export').click();
cy.contains('Export').click();
// cy.wait(1000);
cy.themeshot('data-browser-export-menu');
});
it('MySQL native backup', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').rightclick();
cy.contains('Create database backup').click();
cy.contains('Customer');
cy.themeshot('mysql-backup-configuration');
});
it('View table YAML model', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').rightclick();
cy.contains('Export DB model').click();
cy.testid('ExportDbModelModal_archiveFolder').select('(Create new)');
cy.testid('InputTextModal_value').clear().type('test-model');
cy.testid('InputTextModal_ok').click();
cy.testid('ModalBase_window').themeshot('export-database-model-window', { padding: 50 });
cy.testid('ExportDbModelModal_exportButton').click();
cy.contains('Album').click();
cy.contains('autoIncrement');
cy.themeshot('database-model-table-yaml');
});
it('Data replicator', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('WidgetIconPanel_archive').click();
cy.contains('chinook-archive').rightclick();
cy.contains('Data deployer').click();
cy.contains('Dry run').click();
cy.testid('TableControl_row_2_checkbox').click();
cy.testid('TableControl_row_2').click();
cy.testid('DataDeploySettings_find_checkbox').click();
cy.testid('DataDeploySettings_create_checkbox').click();
cy.testid('WidgetIconPanel_archive').click();
cy.themeshot('data-deployer');
cy.testid('DataDeployTab_importIntoDb').click();
cy.testid('ConfirmDataDeployModal_okButton').click();
cy.contains('Replicated Customer, inserted 59 rows');
cy.contains('Finished job script');
cy.testid('DataDeployTab_importIntoDb').click();
cy.themeshot('data-replicator');
});
});

View File

@@ -0,0 +1,112 @@
Cypress.on('uncaught:exception', (err, runnable) => {
// if the error message matches the one about WorkerGlobalScope importScripts
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
// return false to let Cypress know we intentionally want to ignore this error
return false;
}
// otherwise let Cypress throw the error
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('Charts', () => {
it('Auto detect chart', () => {
cy.contains('MySql-connection').click();
cy.contains('charts_sample').click();
cy.testid('WidgetIconPanel_file').click();
cy.contains('chart1').click();
cy.contains('department_name');
// cy.testid('QueryTab_executeButton').click();
// cy.testid('QueryTab_openChartButton').click();
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('choose-detected-chart');
});
it('Two line charts', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_query').click();
cy.wait(1000);
cy.get('body').realType('SELECT InvoiceDate, Total from Invoice');
cy.contains('Execute').click();
cy.contains('Open chart').click();
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('two-line-charts');
});
it('Invoice naive autodetection', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_query').click();
cy.wait(1000);
cy.get('body').realType('SELECT * from Invoice');
cy.contains('Execute').click();
cy.contains('Open chart').click();
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('chart-naive-autodetection');
});
it('Invoice by country - grouped chart', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_query').click();
cy.wait(1000);
cy.get('body').realType(
"SELECT InvoiceDate, Total, BillingCountry from Invoice where BillingCountry in ('USA', 'Canada', 'Brazil', 'France', 'Germany')"
);
cy.contains('Execute').click();
cy.contains('Open chart').click();
cy.testid('ChartSelector_chart_1').click();
cy.testid('JslChart_customizeButton').click();
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('chart-grouped-autodetected');
cy.testid('ChartDefinitionEditor_chartTypeSelect').select('Bar');
cy.testid('ChartDefinitionEditor_xAxisTransformSelect').select('Date (Year)');
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('chart-grouped-bars');
});
it('Public Knowledge base - show chart', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('WidgetIconPanel_cloud-public').click();
cy.testid('public-cloud-file-tag-mysql/folder-MySQL/tag-premium/top-tables-row-count.sql').click();
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('public-knowledge-base-tables-sizes');
});
it('Auto detect chart', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Invoice').rightclick();
cy.contains('SQL template').click();
cy.contains('SELECT').click();
cy.testid('QueryTab_detectChartButton').click();
cy.testid('QueryTab_executeButton').click();
cy.contains('Chart 1').click();
cy.testid('ChartSelector_chart_0').click();
cy.testid('JslChart_customizeButton').click();
cy.testid('ChartDefinitionEditor_chartTypeSelect').select('Bar');
cy.testid('ChartDefinitionEditor_chartTypeSelect').select('Line');
cy.testid('chart-canvas').should($c => expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/));
cy.themeshot('query-result-chart');
});
it('New object window', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Invoice').click();
cy.testid('WidgetIconPanel_addButton').click();
cy.contains('Compare database');
cy.themeshot('new-object-window');
});
});

View File

@@ -0,0 +1,56 @@
Cypress.on('uncaught:exception', (err, runnable) => {
// if the error message matches the one about WorkerGlobalScope importScripts
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
// return false to let Cypress know we intentionally want to ignore this error
return false;
}
// otherwise let Cypress throw the error
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('Cloud tests', () => {
it('Private cloud', () => {
cy.testid('WidgetIconPanel_cloudAccount');
cy.window().then(win => {
win.__loginToCloudTest('dbgate.test@gmail.com');
});
cy.contains('dbgate.test@gmail.com');
// cy.testid('WidgetIconPanel_cloudAccount').click();
// cy.origin('https://identity.dbgate.io', () => {
// cy.contains('Sign in with GitHub').click();
// });
// cy.origin('https://github.com', () => {
// cy.get('#login_field').type('dbgatetest');
// cy.get('#password').type('Pwd2020Db');
// cy.get('input[type="submit"]').click();
// });
// cy.wait(3000);
// cy.location('origin').then(origin => {
// if (origin === 'https://github.com') {
// // Still on github.com → an authorization step is waiting
// cy.origin('https://github.com', () => {
// // Try once, don't wait the full default timeout
// cy.get('button[data-octo-click="oauth_application_authorization"]', { timeout: 500, log: false }).click(); // if the button exists it will be clicked
// // if not, the short timeout elapses and we drop out
// });
// } else {
// // Already back on localhost nothing to authorize
// cy.log('OAuth redirect skipped the Authorize screen');
// }
// });
cy.contains('Testing Connections').rightclick();
cy.contains('Administrate access').click();
cy.contains('User email');
cy.themeshot('administer-shared-folder');
});
});

View File

@@ -0,0 +1,203 @@
const localconfig = require('../../.localconfig');
const { formatQueryWithoutParams } = require('dbgate-tools');
global.DBGATE_PACKAGES = {
'dbgate-tools': require('dbgate-tools'),
};
function requireEngineDriver(engine) {
const [shortName, packageName] = engine.split('@');
const plugin = require(`../../../plugins/${packageName}/src/frontend/index`);
if (plugin.drivers) {
return plugin.drivers.find(x => x.engine == engine);
}
throw new Error(`Could not find engine driver ${engine}`);
}
Cypress.on('uncaught:exception', (err, runnable) => {
// if the error message matches the one about WorkerGlobalScope importScripts
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
// return false to let Cypress know we intentionally want to ignore this error
return false;
}
// otherwise let Cypress throw the error
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
function multiTest(testProps, testDefinition) {
if (localconfig.mysql) {
it('MySQL', () => testDefinition('MySql-connection', 'my_guitar_shop', 'mysql@dbgate-plugin-mysql'));
}
if (localconfig.postgres) {
it('Postgres', () => testDefinition('Postgres-connection', 'my_guitar_shop', 'postgres@dbgate-plugin-postgres'));
}
if (localconfig.mssql) {
it('Mssql', () => testDefinition('Mssql-connection', 'my_guitar_shop', 'mssql@dbgate-plugin-mssql'));
}
if (localconfig.oracle) {
it('Oracle', () =>
testDefinition('Oracle-connection', 'C##MY_GUITAR_SHOP', 'oracle@dbgate-plugin-oracle', {
implicitTransactions: true,
}));
}
if (localconfig.sqlite) {
it('Sqlite', () => testDefinition('Sqlite-connection', null, 'sqlite@dbgate-plugin-sqlite'));
}
if (localconfig.mongo && !testProps.skipMongo) {
it('MongoDB', () => testDefinition('Mongo-connection', 'my_guitar_shop', 'mongo@dbgate-plugin-mongo'));
}
}
describe('Transactions', () => {
multiTest({ skipMongo: true }, (connectionName, databaseName, engine, options = {}) => {
const driver = requireEngineDriver(engine);
const implicitTransactions = options.implicitTransactions ?? false;
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_query').click();
cy.wait(1000);
cy.get('body').type(
formatQueryWithoutParams(driver, "INSERT INTO ~categories (~category_id, ~category_name) VALUES (5, 'test');")
);
// rollback
if (!implicitTransactions) {
cy.testid('QueryTab_beginTransactionButton').click();
cy.contains('Begin Transaction finished');
}
cy.testid('QueryTab_executeButton').click();
cy.contains('Query execution finished');
cy.testid('QueryTab_rollbackTransactionButton').click();
cy.contains('Rollback Transaction finished');
// should contain 4 rows
cy.testid('SqlObjectList_container').contains('categories').click();
cy.contains('Guitars').click();
cy.testid('TableDataTab_refreshGrid').click();
cy.contains('Rows: 4');
// commit
cy.contains('Query #1').click();
if (!implicitTransactions) {
cy.testid('QueryTab_beginTransactionButton').click();
cy.contains('Begin Transaction finished');
}
cy.testid('QueryTab_executeButton').click();
cy.contains('Query execution finished');
cy.testid('QueryTab_commitTransactionButton').click();
cy.contains('Commit Transaction finished');
// should contain 5 rows
cy.testid('SqlObjectList_container').contains('categories').click();
cy.contains('Guitars').click();
cy.testid('TableDataTab_refreshGrid').click();
cy.contains('Rows: 5');
});
});
describe('Backup table', () => {
multiTest({ skipMongo: true }, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.contains('customers').rightclick();
cy.contains('Create table backup').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('_customers').click();
cy.contains('Rows: 8').should('be.visible');
});
});
describe('Truncate table', () => {
multiTest({ skipMongo: true }, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick();
cy.contains('Truncate table').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('order_items').click();
cy.contains('No rows loaded').should('be.visible');
});
});
describe('Drop table', () => {
multiTest({ skipMongo: true }, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.contains('order_items').rightclick();
cy.contains('Drop table').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.contains('order_items').should('not.exist');
});
});
describe('Import CSV', () => {
multiTest({}, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.testid('ConnectionList_container')
.contains(databaseName ?? connectionName)
.rightclick();
cy.contains('Import').click();
cy.get('input[type=file]').selectFile('cypress/fixtures/customers-20.csv', { force: true });
cy.contains('customers-20');
cy.testid('ImportExportTab_preview_content').contains('50ddd99fAdF48B3').should('be.visible');
cy.testid('ImportExportTab_executeButton').click();
cy.contains('20 rows written').should('be.visible');
cy.testid('SqlObjectList_refreshButton').click();
cy.testid('SqlObjectList_container').contains('customers-20').click();
cy.contains('Rows: 20').should('be.visible');
// cy.get('table tbody tr')
// .eq(1)
// .within(() => {
// cy.get('select').select('Append data');
// });
});
});
describe('Import CSV - source error', () => {
multiTest({}, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.testid('ConnectionList_container')
.contains(databaseName ?? connectionName)
.rightclick();
cy.contains('Import').click();
cy.get('input[type=file]').selectFile('cypress/fixtures/customers-20-err.csv', { force: true });
cy.contains('customers-20-err');
cy.testid('ImportExportTab_preview_content').contains('Invalid Closing Quote').should('be.visible');
cy.testid('ImportExportTab_executeButton').click();
cy.testid('ImportExportConfigurator_errorInfoIcon_customers-20-err').click();
cy.testid('ErrorMessageModal_message').contains('Invalid Closing Quote').should('be.visible');
});
});
describe('Import CSV - target error', () => {
multiTest({}, (connectionName, databaseName, engine, options = {}) => {
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.testid('ConnectionList_container')
.contains(databaseName ?? connectionName)
.rightclick();
cy.contains('Import').click();
cy.get('input[type=file]').selectFile('cypress/fixtures/customers-20.csv', { force: true });
cy.contains('customers-20');
cy.testid('ImportExportConfigurator_targetName_customers-20').clear().type('system."]`');
cy.testid('ImportExportTab_executeButton').click();
cy.testid('ImportExportConfigurator_errorInfoIcon_customers-20').click();
cy.testid('ErrorMessageModal_message').should('be.visible');
});
});

View File

@@ -0,0 +1,49 @@
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAACFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAgEApTf7bvl+z1WKTAREA8MbchtKDbiqnCXQbnf7wVGpcmEqZYlzt9Ab
AbrIwsgIfBDVZZZhk0Wk3KgFD4P78HpGgDBWbvRF5kLHYTxFksa5D5F1yrFq2VT7UVfJd8
Lksv1S8W10S7o06SBBOQLvPHtghTd887oYPa77FxNHBo8mHvQsN1G/mKOq25xEiOxfibp9
vf8A/ERfpES+XK+waw6DgUH+Mhnsa021DzGeG/EJRn11MGYZ+i5VlaFquwTEXpZ3yAJLgv
i8Gr755DKlzCE5hmu7BtMzlwclu4hnT+k1lavSrPsgmaAAPZ3AJIJKcKDazkl0enTOVI67
HydjWt99kH8SvDJgvpwYslyClGkGNhvFn5vdxkKg3Pt+PSRcB+GY4GFiZU3f1H0Qp+I99I
8XtUSp47ecRqm9y/o/CX7kj3KI1kXpIPyvBsQZmjAnBHaoyBQ+DMXiFFt2xh3d9MJ7mZEz
1pUpgBqztH2V49LNX5jgTBNOU4xPI7Mij5m9indyXbQrk64zoK2Ih2jH3L/1alYSL9pAio
574QMQqnxnyscYHHqyLW67HxQL2GpNZMGXpQarhziukpDB+VoQ8obxmPmRdFm4Nwqcp5aS
VbuBNy0oJWDW5CFqkt6QH/oaibV5fUhwi4ChVHAiM9GTUJE/j7VJUd5JaeqqD11Fq3C96X
UAAAdAKwO+PisDvj4AAAAHc3NoLXJzYQAAAgEApTf7bvl+z1WKTAREA8MbchtKDbiqnCXQ
bnf7wVGpcmEqZYlzt9AbAbrIwsgIfBDVZZZhk0Wk3KgFD4P78HpGgDBWbvRF5kLHYTxFks
a5D5F1yrFq2VT7UVfJd8Lksv1S8W10S7o06SBBOQLvPHtghTd887oYPa77FxNHBo8mHvQs
N1G/mKOq25xEiOxfibp9vf8A/ERfpES+XK+waw6DgUH+Mhnsa021DzGeG/EJRn11MGYZ+i
5VlaFquwTEXpZ3yAJLgvi8Gr755DKlzCE5hmu7BtMzlwclu4hnT+k1lavSrPsgmaAAPZ3A
JIJKcKDazkl0enTOVI67HydjWt99kH8SvDJgvpwYslyClGkGNhvFn5vdxkKg3Pt+PSRcB+
GY4GFiZU3f1H0Qp+I99I8XtUSp47ecRqm9y/o/CX7kj3KI1kXpIPyvBsQZmjAnBHaoyBQ+
DMXiFFt2xh3d9MJ7mZEz1pUpgBqztH2V49LNX5jgTBNOU4xPI7Mij5m9indyXbQrk64zoK
2Ih2jH3L/1alYSL9pAio574QMQqnxnyscYHHqyLW67HxQL2GpNZMGXpQarhziukpDB+VoQ
8obxmPmRdFm4Nwqcp5aSVbuBNy0oJWDW5CFqkt6QH/oaibV5fUhwi4ChVHAiM9GTUJE/j7
VJUd5JaeqqD11Fq3C96XUAAAADAQABAAACAAOZKogKNbF8+BwbuQIpTP8Oim2uE0PUrFYb
lYdqUznDKqc3d9ENs+jfu+DyIQKCuK2+ZAr5vf4dnVlEffIzgjbnK/ASsIsJR/UILlkPVu
x4izY06FIqFackivtpao2zaAu2CeMJqn6r+H+uCVkp3rpIBm1QekKtqEOiZIOcuS8nZjx2
MqliYdA9S7N9DRT0037rKjGpqOOXqQW1FdnfC7d+9nL6OY9EtqgeuTDRQ8BzRGAfeSVdE6
QZ9eHI2CCvP5XtkYjICLYUaWDc8YYhRcggWdxrhnjIQRF1MRApJhpHubjmvJkGm7q70CQm
FPT1q+OeRJko022SsOScI6p7qkJjEsHS4RLbSGkDAn84U9l1MnHbzOqOQbI/Mnn7vNyZt4
e7n/ExUg9HglpdLgETl0oLIaiVgYGrJSLflfYtrgfEISGtoroQDj/X96HZsF+Aku+I3U4z
OD7UasFDl3LsTO3bWz8/vqkCfi/ncejZ4keWUA6VahbtJUg8E/eEIWMz8gFoO/vWf1l0H0
V51ISzInt1yVnqhdbRPH+Ce4NlNjq9JlhiZVJSsc6ke2580Okttc3JETzdHWNac7k+/0u4
lPZK2sII1cq/d+9YAe3JVpUuiQyX6R4Crga2GIyevoqm3EyXUNN/vjDCx4qyToOtJUzHao
tXI4tZZkBmtVrhqf1pAAABAQC3lG50iMbJXL8vVsB7P8UWLgmI13PqwHB8ldzsLrNtkU7q
N3KYdz/ycGGPAKxfMJiGs00qT8/d107MZYmj7hHE84VuBiHVGSXbzmL5zeth0aN4oINee0
jlvCPKjqhoImPtrU1fLglqOeTNJcZK7XzwiZry1ZHp0hXd4XPrWHZBZo37SYv9/t652zR4
qmXlxwwwdtzuNFiAexTu0K4zY12hjmoGlvlCS2YJ+B2wJNd3E1RnL505m7dIA/dLnCLeEj
zf8j1XiZ9i/m7mrU/g/e9SFP+HVwi5AV5eyHbNSPD6GZ7quWL4SlP+GGkNtKden+LIaB+G
iRwCLTgCVThdIC6oAAABAQDA6Gm7luZuzOoWBQzVKc74AOf64Op+eZwQBCC3V+eHjmyIQW
oBozvlvaNxapNxJZQjtnlckCkW59RheQxm155j/MV6aVvaD9WWNFB9k+0fujmPd4fPoZF1
9y5J3L3l9hmv+51vZvKvky5mXxOGdONTQZkpGqGvmlZpVO9jWe4WWACokqRIrS9zwtfLgf
hH+hUMh+9R1iIKACleNdfHbiqia+XIXxivbVdCtTgdPM6mW8i3gP1/oSTpYZI5KIRH4PTO
6OgG8EvRCIPc/0mddXZqiabhpPM/r5qe0jKxcQHFf1siwq7EyZ/C8ctBxpEK4dVCNnCTX4
k7+/JizOJzhzljAAABAQDbQT0BsBCM2Dl+LbwpAy6iaS0fWqhCnQ9B6ojWcfNouXuIW4tF
6fwmoqyFU2SoORmj0G6ww1NiBr+gwSDo5wSEpCI78S1CnFcp7J1HhONGthmdYDclpDlci5
t5AOIC7hhmdkqL46happxG9MH8oOua7/cqK7300nJo+ZS3XOo4O3siTjDVtVKXRAY5jWuG
mLNXQ8JKCzqmFfLlAAgGWaY7rMaGu+9Rom+F4FEZ4IUitcsN77jFNBXMXqnWy/ayr8CJpe
CxgwBm5JWQ7m+cmskMl3nmjkNr8nCiZoMcz4sIrVkZWS4PHoVFtN3jKYmo3c02kq8/378I
jIy5WYf/zrVHAAAABHRlc3QBAgMEBQY=
-----END OPENSSH PRIVATE KEY-----

View File

@@ -0,0 +1,14 @@
describe('OAuth', () => {
it('OAuth login', () => {
cy.visit('http://localhost:3000');
// login on DEX
cy.get('#login').clear().type('test@example.com');
cy.get('#password').clear().type('test');
cy.get('#submit-login').click();
// check DbGate connection
cy.contains('MySql-connection').click();
cy.contains('performance_schema');
});
});

View File

@@ -0,0 +1,93 @@
describe('Run as portal', () => {
it('successfully loads', () => {
cy.visit('http://localhost:3000');
cy.contains('MySql-connection');
cy.contains('Postgres-connection');
});
// it('Delete chinook', () => {
// cy.visit('http://localhost:3000');
// cy.contains('MySql-connection').rightclick();
// cy.contains('New Query (server)').click();
// cy.realType('drop database if exists Chinook');
// cy.realPress('F5');
// cy.contains('Query execution finished');
// cy.contains('Postgres-connection').rightclick();
// cy.contains('New Query (server)').click();
// cy.realType('drop database if exists "Chinook"');
// cy.realPress('F5');
// cy.contains('Query execution finished');
// // cy.realPress('F1');
// // cy.realType('Close all');
// // cy.realPress('Enter');
// });
it('Create Chinook MySQL', () => {
cy.visit('http://localhost:3000');
cy.contains('MySql-connection').click();
cy.contains('MySql-connection').rightclick();
cy.contains('Create database').click();
cy.get('[data-testid=InputTextModal_value]').clear().type('Chinook');
cy.get('[data-testid=InputTextModal_ok]').click();
});
it('Create Chinook Postgres', () => {
cy.visit('http://localhost:3000');
cy.contains('Postgres-connection').click();
cy.contains('Postgres-connection').rightclick();
cy.contains('Create database').click();
cy.get('[data-testid=InputTextModal_value]').clear().type('Chinook');
cy.get('[data-testid=InputTextModal_ok]').click();
});
// it('Import Chinook MySQL', () => {
// cy.visit('http://localhost:3000');
// cy.contains('MySql-connection').click();
// cy.get('[data-testid=DatabaseAppObject_Chinook]').rightclick();
// cy.contains('Chinook').rightclick();
// cy.contains('Restore/import SQL dump').click();
// cy.get('#uploadFileButton').selectFile('data/chinook-mysql.sql', { force: true });
// cy.wait(500);
// cy.get('[data-testid=ImportDatabaseDumpModal_runImport]').click();
// cy.contains('Importing database');
// cy.contains('Finished job script');
// cy.get('[data-testid=RunScriptModal_close]').click();
// cy.contains('Chinook').click();
// cy.contains('Album');
// });
// it('Import Chinook Postgres', () => {
// cy.visit('http://localhost:3000');
// cy.contains('Postgres-connection').click();
// cy.get('[data-testid=DatabaseAppObject_Chinook]').rightclick();
// cy.contains('Restore/import SQL dump').click();
// cy.get('#uploadFileButton').selectFile('data/chinook-postgres.sql', { force: true });
// cy.wait(500);
// cy.get('[data-testid=ImportDatabaseDumpModal_runImport]').click();
// cy.contains('Importing database');
// cy.contains('Finished job script');
// cy.get('[data-testid=RunScriptModal_close]').click();
// cy.contains('Chinook').click();
// cy.contains('album');
// });
it('Open ask pwd connection', () => {
cy.visit('http://localhost:3000');
cy.contains('Postgres-ask-connection').click();
cy.testid('DatabaseLoginModal_username').clear().type('postgres');
cy.testid('DatabaseLoginModal_password').clear().type('Pwd2020Db');
cy.testid('DatabaseLoginModal_connect').click();
cy.contains('Chinook').click();
// cy.contains('album');
});
// it('import chinook DB', () => {
// cy.visit('http://localhost:3000');
// cy.get('[data-testid=ConnectionTab_buttonConnect]').click();
// });
});

View File

@@ -0,0 +1,122 @@
Cypress.on('uncaught:exception', (err, runnable) => {
// if the error message matches the one about WorkerGlobalScope importScripts
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
// return false to let Cypress know we intentionally want to ignore this error
return false;
}
// otherwise let Cypress throw the error
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('Team edition tests', () => {
it('Team edition screens', () => {
cy.testid('LoginPage_linkAdmin').click();
cy.testid('LoginPage_password').type('adminpwd');
cy.testid('LoginPage_submitLogin').click();
cy.testid('AdminMenuWidget_itemConnections').click();
cy.contains('New connection').click();
cy.testid('ConnectionDriverFields_connectionType').select('PostgreSQL');
cy.themeshot('connection-administration');
cy.testid('AdminMenuWidget_itemRoles').click();
cy.contains('logged-user').click();
cy.themeshot('role-administration');
cy.testid('AdminMenuWidget_itemUsers').click();
cy.contains('New user').click();
cy.themeshot('user-administration');
cy.testid('AdminMenuWidget_itemAuthentication').click();
cy.contains('Add authentication').click();
cy.contains('Use database login').click();
cy.contains('Add authentication').click();
cy.contains('OAuth 2.0').click();
cy.themeshot('authentication-administration');
});
it('OAuth authentication', () => {
cy.testid('LoginPage_linkAdmin').click();
cy.testid('LoginPage_password').type('adminpwd');
cy.testid('LoginPage_submitLogin').click();
cy.testid('AdminMenuWidget_itemAuthentication').click();
// cy.testid('AdminAuthForm_disableButton_local').click();
// cy.testid('AdminAuthForm_disableButton_none').click();
// fill OAuth
cy.contains('Add authentication').click();
cy.contains('OAuth 2.0').click();
cy.testid('AdminAuthForm_oauthAuth_oauth').type('http://localhost:16009/dex/auth');
cy.testid('AdminAuthForm_oauthToken_oauth').type('http://localhost:16009/dex/token');
cy.testid('AdminAuthForm_oauthScope_oauth').type('openid email profile');
cy.testid('AdminAuthForm_oauthClient_oauth').type('my-app');
cy.testid('AdminAuthForm_oauthClientSecret_oauth').type('my-secret');
cy.testid('AdminAuthForm_oauthLoginField_oauth').type('name');
cy.testid('AdminAuthForm_oauthSaveNotDefinedLogins_oauth').click();
cy.testid('AdminAuthForm_oauthEmailField_oauth').type('email');
cy.testid('AdminAuthTab_saveButton').click();
cy.testid('WidgetIconPanel_menu').click();
cy.contains('File').click();
cy.contains('Logout').click();
cy.testid('LoginPage_linkRegularUser').click();
// login two times
for (let index of [1, 2]) {
// login as OAuth
cy.testid('LoginPage_loginButton_OAuth 2.0').click();
// login on DEX
cy.get('#login').clear().type('test@example.com');
cy.get('#password').clear().type('test');
cy.get('#submit-login').click();
// logout
cy.testid('WidgetIconPanel_menu').click();
cy.contains('File').click();
cy.contains('Logout').click();
cy.testid('NotLoggedPage_loginButton').click();
}
// Logout and login again as admin
cy.testid('LoginPage_linkAdmin').click();
cy.testid('LoginPage_password').type('adminpwd');
cy.testid('LoginPage_submitLogin').click();
cy.testid('AdminMenuWidget_itemUsers').click();
cy.contains('test@example.com');
});
it('Audit logging', () => {
cy.testid('LoginPage_linkAdmin').click();
cy.testid('LoginPage_password').type('adminpwd');
cy.testid('LoginPage_submitLogin').click();
cy.testid('AdminMenuWidget_itemAuditLog').click();
cy.contains('Audit log is not enabled');
cy.testid('AdminMenuWidget_itemSettings').click();
cy.testid('AdminSettingsTab_auditLogCheckbox').click();
cy.testid('AdminMenuWidget_itemAuditLog').click();
cy.contains('No data for selected date');
cy.testid('AdminMenuWidget_itemConnections').click();
cy.contains('Open table').click();
cy.contains('displayName');
cy.get('.toolstrip').contains('Export').click();
cy.contains('CSV file').click();
cy.testid('AdminMenuWidget_itemUsers').click();
cy.contains('Open table').click();
cy.contains('login');
cy.get('.toolstrip').contains('Export').click();
cy.contains('XML file').click();
cy.testid('AdminMenuWidget_itemAuditLog').click();
cy.testid('AdminAuditLogTab_refreshButton').click();
cy.contains('Exporting query').click();
cy.themeshot('auditlog');
});
});

View File

@@ -0,0 +1,21 @@
Index,Customer Id,First Name,Last Name,Company,City,Country,Phone 1,Phone 2,Email,Subscription Date,Website
1,50ddd99fAdF48B3,Jessica,Navarro,"Tran, Odom and Graham",Port Terranceview,Jersey,(883)287-7947,479-044-3187,wmcintyre@myers.net,2023-03-11,http://pennington.com/
"2,BD1AB97979DDcDe,Preston,Andrews,"Townsend, Lawrence and Davenport",Harringtonmouth,Croatia,188-270-5676x63873,001-428-148-4270,bradley63@jacobs.net,2023-11-15,http://burke.com/
3,0FDDD9aCa501acE,Melissa,Mckay,Rivas-Cooke,Oliviabury,Cook Islands,8257631531,001-650-689-5600x927,ugalloway@maxwell-mcclain.com,2025-01-25,https://patrick.com/
4,A7dA284B7c4AfaD,Frank,Livingston,"Lambert, Garner and Mathews",Mallorytown,Faroe Islands,766.182.6201x689,+1-476-912-2027x4370,tracie00@webster.biz,2021-03-27,https://www.hart.com/
5,38bb1624e4f8211,Ross,Mendoza,Cook and Sons,New Perry,Bolivia,001-440-468-2236,165.562.4328x9274,austincarmen@abbott.com,2024-12-12,http://harmon.com/
6,55c9Fda2BABFE1a,Jane,Tate,Knapp PLC,West Kathyshire,Morocco,001-606-447-0584x07975,(003)872-1307x285,carlosgomez@mcpherson-ramos.biz,2021-09-13,http://www.yu.com/
7,A15eccAc67cCc5b,Tanya,Chung,Frost Inc,South Julieburgh,United States of America,778-360-8301x268,+1-034-169-4237,onewton@crosby.com,2024-10-01,http://www.gill-velez.biz/
8,aFdab04acACaf90,Jackson,Moyer,Bowen Ltd,Port Triciabury,Bahrain,001-187-882-2891x169,154.903.2525,gabriela16@mejia.org,2023-06-20,http://www.david.biz/
9,A2EaeAd3c6529B9,Kelly,Douglas,Phillips PLC,Weissberg,Qatar,767.177.3199x5576,5156730935,wigginsmercedes@tanner.com,2021-06-30,https://gonzalez.net/
10,188175A5641d080,Mariah,Riddle,"Mata, Fuller and Good",Choiton,Namibia,092-993-3559x342,190.937.3937,eileen32@greer.biz,2021-04-17,http://www.bowen.info/
11,B2BA817C7bC09f0,Kristine,Pennington,"Koch, Diaz and Valdez",Port Rachael,Suriname,877.152.6488x921,790-804-9979x3290,tonya00@flynn.com,2024-03-28,https://www.rocha.net/
12,fFAD70B5Febc43a,Robert,Adams,Bender-Wolfe,Billfort,Tanzania,219-696-1912x93626,518-969-4058,jeffersoncolton@moss-ashley.com,2022-07-31,https://www.alvarez.com/
13,9a44524E1261Ed6,Franklin,Costa,Werner Group,North Bradley,Cook Islands,(895)448-4681x1999,648-345-3083x88242,marksmith@novak.com,2024-12-03,http://thornton.com/
14,0C360EfE17D06cc,Dan,Ballard,Sampson-Huff,Michaelchester,Sao Tome and Principe,+1-803-469-5237x2580,(729)574-6101x0605,molly54@acevedo.info,2022-10-24,https://www.sloan-gonzales.biz/
15,fb5cE8cb1eF2954,Clifford,Moyer,Fry-Whitehead,Lake Gary,Japan,(504)263-0450,247.514.1614x551,rhonda34@orr.com,2020-03-08,https://norton.com/
16,3e53DcaD1cB0054,Tonya,Durham,"Lowe, West and Reynolds",South Sylviaton,Brunei Darussalam,(613)893-8183,(461)399-6120,kiara96@meadows.biz,2022-08-04,https://www.reeves.com/
17,83fDDE5812EbEde,Dale,Bishop,Shaw-Ray,Lake Miranda,Congo,(082)202-9241,+1-413-610-1854x79378,bhoward@hodges.biz,2023-05-08,http://www.escobar.com/
18,8dB7ACe2C5758cE,Priscilla,Mills,Pope PLC,North Cliffordshire,South Georgia and the South Sandwich Islands,+1-465-802-4573x30191,044-393-6049x598,nathaniel28@hess.com,2020-09-08,https://www.watts.org/
19,c1092ebDaF2ceED,Alice,Bond,Chan-Liu,West Wesley,Lithuania,+1-333-285-8515,(715)759-3158x77103,jose92@peters.com,2024-05-30,http://www.marquez.com/
20,4d0c95579D095aF,Cole,Compton,Calderon PLC,Robertaville,Saudi Arabia,029.862.3387x470,001-319-474-2394,sspence@dorsey.com,2020-08-02,http://hamilton.net/
Can't render this file because it contains an unexpected character in line 3 and column 36.

View File

@@ -0,0 +1,21 @@
Index,Customer Id,First Name,Last Name,Company,City,Country,Phone 1,Phone 2,Email,Subscription Date,Website
1,50ddd99fAdF48B3,Jessica,Navarro,"Tran, Odom and Graham",Port Terranceview,Jersey,(883)287-7947,479-044-3187,wmcintyre@myers.net,2023-03-11,http://pennington.com/
2,BD1AB97979DDcDe,Preston,Andrews,"Townsend, Lawrence and Davenport",Harringtonmouth,Croatia,188-270-5676x63873,001-428-148-4270,bradley63@jacobs.net,2023-11-15,http://burke.com/
3,0FDDD9aCa501acE,Melissa,Mckay,Rivas-Cooke,Oliviabury,Cook Islands,8257631531,001-650-689-5600x927,ugalloway@maxwell-mcclain.com,2025-01-25,https://patrick.com/
4,A7dA284B7c4AfaD,Frank,Livingston,"Lambert, Garner and Mathews",Mallorytown,Faroe Islands,766.182.6201x689,+1-476-912-2027x4370,tracie00@webster.biz,2021-03-27,https://www.hart.com/
5,38bb1624e4f8211,Ross,Mendoza,Cook and Sons,New Perry,Bolivia,001-440-468-2236,165.562.4328x9274,austincarmen@abbott.com,2024-12-12,http://harmon.com/
6,55c9Fda2BABFE1a,Jane,Tate,Knapp PLC,West Kathyshire,Morocco,001-606-447-0584x07975,(003)872-1307x285,carlosgomez@mcpherson-ramos.biz,2021-09-13,http://www.yu.com/
7,A15eccAc67cCc5b,Tanya,Chung,Frost Inc,South Julieburgh,United States of America,778-360-8301x268,+1-034-169-4237,onewton@crosby.com,2024-10-01,http://www.gill-velez.biz/
8,aFdab04acACaf90,Jackson,Moyer,Bowen Ltd,Port Triciabury,Bahrain,001-187-882-2891x169,154.903.2525,gabriela16@mejia.org,2023-06-20,http://www.david.biz/
9,A2EaeAd3c6529B9,Kelly,Douglas,Phillips PLC,Weissberg,Qatar,767.177.3199x5576,5156730935,wigginsmercedes@tanner.com,2021-06-30,https://gonzalez.net/
10,188175A5641d080,Mariah,Riddle,"Mata, Fuller and Good",Choiton,Namibia,092-993-3559x342,190.937.3937,eileen32@greer.biz,2021-04-17,http://www.bowen.info/
11,B2BA817C7bC09f0,Kristine,Pennington,"Koch, Diaz and Valdez",Port Rachael,Suriname,877.152.6488x921,790-804-9979x3290,tonya00@flynn.com,2024-03-28,https://www.rocha.net/
12,fFAD70B5Febc43a,Robert,Adams,Bender-Wolfe,Billfort,Tanzania,219-696-1912x93626,518-969-4058,jeffersoncolton@moss-ashley.com,2022-07-31,https://www.alvarez.com/
13,9a44524E1261Ed6,Franklin,Costa,Werner Group,North Bradley,Cook Islands,(895)448-4681x1999,648-345-3083x88242,marksmith@novak.com,2024-12-03,http://thornton.com/
14,0C360EfE17D06cc,Dan,Ballard,Sampson-Huff,Michaelchester,Sao Tome and Principe,+1-803-469-5237x2580,(729)574-6101x0605,molly54@acevedo.info,2022-10-24,https://www.sloan-gonzales.biz/
15,fb5cE8cb1eF2954,Clifford,Moyer,Fry-Whitehead,Lake Gary,Japan,(504)263-0450,247.514.1614x551,rhonda34@orr.com,2020-03-08,https://norton.com/
16,3e53DcaD1cB0054,Tonya,Durham,"Lowe, West and Reynolds",South Sylviaton,Brunei Darussalam,(613)893-8183,(461)399-6120,kiara96@meadows.biz,2022-08-04,https://www.reeves.com/
17,83fDDE5812EbEde,Dale,Bishop,Shaw-Ray,Lake Miranda,Congo,(082)202-9241,+1-413-610-1854x79378,bhoward@hodges.biz,2023-05-08,http://www.escobar.com/
18,8dB7ACe2C5758cE,Priscilla,Mills,Pope PLC,North Cliffordshire,South Georgia and the South Sandwich Islands,+1-465-802-4573x30191,044-393-6049x598,nathaniel28@hess.com,2020-09-08,https://www.watts.org/
19,c1092ebDaF2ceED,Alice,Bond,Chan-Liu,West Wesley,Lithuania,+1-333-285-8515,(715)759-3158x77103,jose92@peters.com,2024-05-30,http://www.marquez.com/
20,4d0c95579D095aF,Cole,Compton,Calderon PLC,Robertaville,Saudi Arabia,029.862.3387x470,001-319-474-2394,sspence@dorsey.com,2020-08-02,http://hamilton.net/
1 Index Customer Id First Name Last Name Company City Country Phone 1 Phone 2 Email Subscription Date Website
2 1 50ddd99fAdF48B3 Jessica Navarro Tran, Odom and Graham Port Terranceview Jersey (883)287-7947 479-044-3187 wmcintyre@myers.net 2023-03-11 http://pennington.com/
3 2 BD1AB97979DDcDe Preston Andrews Townsend, Lawrence and Davenport Harringtonmouth Croatia 188-270-5676x63873 001-428-148-4270 bradley63@jacobs.net 2023-11-15 http://burke.com/
4 3 0FDDD9aCa501acE Melissa Mckay Rivas-Cooke Oliviabury Cook Islands 8257631531 001-650-689-5600x927 ugalloway@maxwell-mcclain.com 2025-01-25 https://patrick.com/
5 4 A7dA284B7c4AfaD Frank Livingston Lambert, Garner and Mathews Mallorytown Faroe Islands 766.182.6201x689 +1-476-912-2027x4370 tracie00@webster.biz 2021-03-27 https://www.hart.com/
6 5 38bb1624e4f8211 Ross Mendoza Cook and Sons New Perry Bolivia 001-440-468-2236 165.562.4328x9274 austincarmen@abbott.com 2024-12-12 http://harmon.com/
7 6 55c9Fda2BABFE1a Jane Tate Knapp PLC West Kathyshire Morocco 001-606-447-0584x07975 (003)872-1307x285 carlosgomez@mcpherson-ramos.biz 2021-09-13 http://www.yu.com/
8 7 A15eccAc67cCc5b Tanya Chung Frost Inc South Julieburgh United States of America 778-360-8301x268 +1-034-169-4237 onewton@crosby.com 2024-10-01 http://www.gill-velez.biz/
9 8 aFdab04acACaf90 Jackson Moyer Bowen Ltd Port Triciabury Bahrain 001-187-882-2891x169 154.903.2525 gabriela16@mejia.org 2023-06-20 http://www.david.biz/
10 9 A2EaeAd3c6529B9 Kelly Douglas Phillips PLC Weissberg Qatar 767.177.3199x5576 5156730935 wigginsmercedes@tanner.com 2021-06-30 https://gonzalez.net/
11 10 188175A5641d080 Mariah Riddle Mata, Fuller and Good Choiton Namibia 092-993-3559x342 190.937.3937 eileen32@greer.biz 2021-04-17 http://www.bowen.info/
12 11 B2BA817C7bC09f0 Kristine Pennington Koch, Diaz and Valdez Port Rachael Suriname 877.152.6488x921 790-804-9979x3290 tonya00@flynn.com 2024-03-28 https://www.rocha.net/
13 12 fFAD70B5Febc43a Robert Adams Bender-Wolfe Billfort Tanzania 219-696-1912x93626 518-969-4058 jeffersoncolton@moss-ashley.com 2022-07-31 https://www.alvarez.com/
14 13 9a44524E1261Ed6 Franklin Costa Werner Group North Bradley Cook Islands (895)448-4681x1999 648-345-3083x88242 marksmith@novak.com 2024-12-03 http://thornton.com/
15 14 0C360EfE17D06cc Dan Ballard Sampson-Huff Michaelchester Sao Tome and Principe +1-803-469-5237x2580 (729)574-6101x0605 molly54@acevedo.info 2022-10-24 https://www.sloan-gonzales.biz/
16 15 fb5cE8cb1eF2954 Clifford Moyer Fry-Whitehead Lake Gary Japan (504)263-0450 247.514.1614x551 rhonda34@orr.com 2020-03-08 https://norton.com/
17 16 3e53DcaD1cB0054 Tonya Durham Lowe, West and Reynolds South Sylviaton Brunei Darussalam (613)893-8183 (461)399-6120 kiara96@meadows.biz 2022-08-04 https://www.reeves.com/
18 17 83fDDE5812EbEde Dale Bishop Shaw-Ray Lake Miranda Congo (082)202-9241 +1-413-610-1854x79378 bhoward@hodges.biz 2023-05-08 http://www.escobar.com/
19 18 8dB7ACe2C5758cE Priscilla Mills Pope PLC North Cliffordshire South Georgia and the South Sandwich Islands +1-465-802-4573x30191 044-393-6049x598 nathaniel28@hess.com 2020-09-08 https://www.watts.org/
20 19 c1092ebDaF2ceED Alice Bond Chan-Liu West Wesley Lithuania +1-333-285-8515 (715)759-3158x77103 jose92@peters.com 2024-05-30 http://www.marquez.com/
21 20 4d0c95579D095aF Cole Compton Calderon PLC Robertaville Saudi Arabia 029.862.3387x470 001-319-474-2394 sspence@dorsey.com 2020-08-02 http://hamilton.net/

View File

@@ -0,0 +1,5 @@
{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

View File

@@ -0,0 +1,93 @@
const path = require('path');
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add('login', (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
Cypress.Commands.add('testid', (testId, options = {}) => {
return cy.get(`[data-testid="${testId}"]`, options);
});
Cypress.Commands.add(
'themeshot',
{
prevSubject: 'optional',
},
(subject, file, options) => {
cy.window().then(win => {
win.__changeCurrentTheme('theme-dark');
});
// cy.screenshot(`${file}-dark`, {
// onAfterScreenshot: (doc, props) => {
// cy.task('renameFile', {
// from: props.path,
// to: path.resolve(__dirname, `../../screenshots/${file}-dark.png`),
// });
// // fs.rename(props.path, path.resolve(path.join(__dirname, `../../screenshots/${file}-dark.png`)));
// },
// });
if (subject) {
cy.wrap(subject).screenshot(`${file}-dark`, options);
} else {
cy.screenshot(`${file}-dark`, options);
}
// .then(props => {
// return cy.task('renameFile', {
// from: props.path,
// to: path.resolve(__dirname, `../../screenshots/${file}-dark.png`),
// });
// });
cy.window().then(win => {
win.__changeCurrentTheme('theme-light');
});
if (subject) {
cy.wrap(subject).screenshot(`${file}-light`, options);
} else {
cy.screenshot(`${file}-light`, options);
}
// .then(props => {
// return cy.task('renameFile', {
// from: props.path,
// to: path.resolve(__dirname, `../../screenshots/${file}-light.png`),
// });
// });
// cy.screenshot(`${file}-light`, {
// onAfterScreenshot: (doc, props) => {
// cy.task('renameFile', {
// from: props.path,
// to: path.resolve(__dirname, `../../screenshots/${file}-light.png`),
// });
// // fs.rename(props.path, path.resolve(path.join(__dirname, `../../screenshots/${file}-light.png`)));
// },
// });
}
);

View File

@@ -0,0 +1,52 @@
// ***********************************************************
// This example support/e2e.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands';
// Alternatively you can use CommonJS syntax:
// require('./commands')
import 'cypress-real-events';
beforeEach(() => {
// Replace 'my-database-name' with the actual IndexedDB name
cy.window().then(win => {
return new Promise((resolve, reject) => {
const request = win.indexedDB.deleteDatabase('localforage');
request.onsuccess = () => {
// Database successfully deleted
resolve();
};
request.onerror = () => {
// Some error occurred
reject(request.error);
};
request.onblocked = () => {
// Might happen if there are open connections
console.warn('IndexedDB deletion blocked');
resolve();
};
});
});
});
// Cypress.Screenshot.defaults({
// onBeforeScreenshot() {
// if (window.Chart) {
// Object.values(window.Chart.instances).forEach(c => c.resize());
// }
// },
// });

View File

@@ -0,0 +1,6 @@
{"__isStreamHeader":true,"pureName":"departments","schemaName":"dbo","objectId":1205579333,"createDate":"2025-06-12T10:30:34.083Z","modifyDate":"2025-06-12T10:30:34.120Z","contentHash":"2025-06-12T10:30:34.120Z","columns":[{"columnName":"id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"name","dataType":"varchar(100)","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false}],"primaryKey":{"constraintName":"PK__departme__3213E83FE8E7043D","schemaName":"dbo","pureName":"departments","constraintType":"primaryKey","columns":[{"columnName":"id"}]},"foreignKeys":[],"indexes":[],"uniques":[],"engine":"mssql@dbgate-plugin-mssql"}
{"id":1,"name":"IT"}
{"id":2,"name":"Marketing"}
{"id":3,"name":"Finance"}
{"id":4,"name":"Human Resources"}
{"id":5,"name":"Research and Development"}

View File

@@ -0,0 +1,12 @@
name: departments
columns:
- name: id
type: int
default: null
notNull: true
- name: name
type: varchar(100)
default: null
notNull: true
primaryKey:
- id

View File

@@ -0,0 +1,39 @@
{"__isStreamHeader":true,"pureName":"employee_project","schemaName":"dbo","objectId":1333579789,"createDate":"2025-06-12T10:30:34.133Z","modifyDate":"2025-06-12T10:30:34.133Z","contentHash":"2025-06-12T10:30:34.133Z","columns":[{"columnName":"employee_id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"project_id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"role","dataType":"varchar(50)","notNull":false,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false}],"primaryKey":{"constraintName":"PK__employee__2EE9924949ED9668","schemaName":"dbo","pureName":"employee_project","constraintType":"primaryKey","columns":[{"columnName":"employee_id"},{"columnName":"project_id"}]},"foreignKeys":[{"constraintName":"FK__employee___emplo__5165187F","constraintType":"foreignKey","schemaName":"dbo","pureName":"employee_project","refSchemaName":"dbo","refTableName":"employees","updateAction":"NO ACTION","deleteAction":"NO ACTION","columns":[{"columnName":"employee_id","refColumnName":"id"}]},{"constraintName":"FK__employee___proje__52593CB8","constraintType":"foreignKey","schemaName":"dbo","pureName":"employee_project","refSchemaName":"dbo","refTableName":"projects","updateAction":"NO ACTION","deleteAction":"NO ACTION","columns":[{"columnName":"project_id","refColumnName":"id"}]}],"indexes":[],"uniques":[],"engine":"mssql@dbgate-plugin-mssql"}
{"employee_id":1,"project_id":6,"role":"Manager"}
{"employee_id":1,"project_id":8,"role":"Developer"}
{"employee_id":2,"project_id":7,"role":"Tester"}
{"employee_id":2,"project_id":8,"role":"Developer"}
{"employee_id":3,"project_id":4,"role":"Analyst"}
{"employee_id":3,"project_id":6,"role":"Developer"}
{"employee_id":4,"project_id":2,"role":"Manager"}
{"employee_id":4,"project_id":4,"role":"Analyst"}
{"employee_id":4,"project_id":5,"role":"Analyst"}
{"employee_id":5,"project_id":5,"role":"Tester"}
{"employee_id":6,"project_id":1,"role":"Analyst"}
{"employee_id":6,"project_id":6,"role":"Tester"}
{"employee_id":6,"project_id":9,"role":"Manager"}
{"employee_id":7,"project_id":8,"role":"Manager"}
{"employee_id":8,"project_id":10,"role":"Analyst"}
{"employee_id":9,"project_id":2,"role":"Analyst"}
{"employee_id":9,"project_id":6,"role":"Analyst"}
{"employee_id":9,"project_id":7,"role":"Developer"}
{"employee_id":10,"project_id":2,"role":"Manager"}
{"employee_id":10,"project_id":6,"role":"Analyst"}
{"employee_id":11,"project_id":1,"role":"Tester"}
{"employee_id":12,"project_id":4,"role":"Tester"}
{"employee_id":13,"project_id":2,"role":"Developer"}
{"employee_id":13,"project_id":3,"role":"Analyst"}
{"employee_id":13,"project_id":7,"role":"Developer"}
{"employee_id":14,"project_id":3,"role":"Developer"}
{"employee_id":14,"project_id":9,"role":"Manager"}
{"employee_id":15,"project_id":1,"role":"Developer"}
{"employee_id":15,"project_id":5,"role":"Manager"}
{"employee_id":16,"project_id":3,"role":"Tester"}
{"employee_id":16,"project_id":5,"role":"Developer"}
{"employee_id":17,"project_id":6,"role":"Analyst"}
{"employee_id":18,"project_id":1,"role":"Tester"}
{"employee_id":18,"project_id":5,"role":"Tester"}
{"employee_id":18,"project_id":6,"role":"Manager"}
{"employee_id":19,"project_id":6,"role":"Analyst"}
{"employee_id":20,"project_id":2,"role":"Developer"}
{"employee_id":20,"project_id":4,"role":"Developer"}

View File

@@ -0,0 +1,18 @@
name: employee_project
columns:
- name: employee_id
type: int
default: null
notNull: true
references: employees
- name: project_id
type: int
default: null
notNull: true
references: projects
- name: role
type: varchar(50)
default: null
primaryKey:
- employee_id
- project_id

View File

@@ -0,0 +1,21 @@
{"__isStreamHeader":true,"pureName":"employees","schemaName":"dbo","objectId":1237579447,"createDate":"2025-06-12T10:30:34.113Z","modifyDate":"2025-06-12T12:35:22.140Z","contentHash":"2025-06-12T12:35:22.140Z","columns":[{"columnName":"id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"name","dataType":"varchar(100)","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"email","dataType":"varchar(100)","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"hire_date","dataType":"date","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"department_id","dataType":"int","notNull":false,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false}],"primaryKey":{"constraintName":"PK__employee__3213E83FE576E55A","schemaName":"dbo","pureName":"employees","constraintType":"primaryKey","columns":[{"columnName":"id"}]},"foreignKeys":[{"constraintName":"FK__employees__depar__4CA06362","constraintType":"foreignKey","schemaName":"dbo","pureName":"employees","refSchemaName":"dbo","refTableName":"departments","updateAction":"NO ACTION","deleteAction":"NO ACTION","columns":[{"columnName":"department_id","refColumnName":"id"}]}],"indexes":[],"uniques":[{"constraintName":"UQ__employee__AB6E6164E18D883F","columns":[{"columnName":"email"}]}],"engine":"mssql@dbgate-plugin-mssql"}
{"id":1,"name":"John Smith","email":"john.smith@example.com","hire_date":"2018-07-09T00:00:00.000Z","department_id":2}
{"id":2,"name":"Jane Garcia","email":"jane.garcia@example.com","hire_date":"2019-10-13T00:00:00.000Z","department_id":5}
{"id":3,"name":"Grace Smith","email":"grace.smith@example.com","hire_date":"2019-03-16T00:00:00.000Z","department_id":1}
{"id":4,"name":"Charlie Williams","email":"charlie.williams@example.com","hire_date":"2020-10-18T00:00:00.000Z","department_id":2}
{"id":5,"name":"Eve Brown","email":"eve.brown@example.com","hire_date":"2018-04-12T00:00:00.000Z","department_id":4}
{"id":6,"name":"Alice Moore","email":"alice.moore@example.com","hire_date":"2019-04-20T00:00:00.000Z","department_id":2}
{"id":7,"name":"Eve Williams","email":"eve.williams@example.com","hire_date":"2020-04-26T00:00:00.000Z","department_id":4}
{"id":8,"name":"Eve Jones","email":"eve.jones@example.com","hire_date":"2022-10-04T00:00:00.000Z","department_id":3}
{"id":9,"name":"Diana Miller","email":"diana.miller@example.com","hire_date":"2021-03-28T00:00:00.000Z","department_id":1}
{"id":10,"name":"Diana Smith","email":"diana.smith@example.com","hire_date":"2018-04-12T00:00:00.000Z","department_id":2}
{"id":11,"name":"Hank Johnson","email":"hank.johnson@example.com","hire_date":"2020-09-16T00:00:00.000Z","department_id":2}
{"id":12,"name":"Frank Miller","email":"frank.miller@example.com","hire_date":"2023-01-12T00:00:00.000Z","department_id":4}
{"id":13,"name":"Jane Brown","email":"jane.brown@example.com","hire_date":"2023-05-07T00:00:00.000Z","department_id":3}
{"id":14,"name":"Grace Davis","email":"grace.davis@example.com","hire_date":"2019-08-22T00:00:00.000Z","department_id":3}
{"id":15,"name":"Jane Black","email":"jane.black@example.com","hire_date":"2019-04-28T00:00:00.000Z","department_id":2}
{"id":16,"name":"Charlie Smith","email":"charlie.smith@example.com","hire_date":"2019-06-12T00:00:00.000Z","department_id":5}
{"id":17,"name":"Eve Johnson","email":"eve.johnson@example.com","hire_date":"2020-11-07T00:00:00.000Z","department_id":5}
{"id":18,"name":"Jane Johnson","email":"jane.johnson@example.com","hire_date":"2020-04-06T00:00:00.000Z","department_id":2}
{"id":19,"name":"Hank Brown","email":"hank.brown@example.com","hire_date":"2023-05-10T00:00:00.000Z","department_id":2}
{"id":20,"name":"Frank Jones","email":"frank.jones@example.com","hire_date":"2020-10-26T00:00:00.000Z","department_id":1}

View File

@@ -0,0 +1,28 @@
name: employees
columns:
- name: id
type: int
default: null
notNull: true
- name: name
type: varchar(100)
default: null
notNull: true
- name: email
type: varchar(100)
default: null
notNull: true
- name: hire_date
type: date
default: null
notNull: true
- name: department_id
type: int
default: null
references: departments
primaryKey:
- id
uniques:
- name: UQ__employee__AB6E6164E18D883F
columns:
- email

View File

@@ -0,0 +1,141 @@
{"__isStreamHeader":true,"pureName":"finance_reports","schemaName":"dbo","objectId":338100245,"createDate":"2025-06-23T12:15:08.727Z","modifyDate":"2025-06-23T12:15:08.750Z","contentHash":"2025-06-23T12:15:08.750Z","columns":[{"columnName":"id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"date","dataType":"date","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"profit","dataType":"money","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false}],"foreignKeys":[{"constraintName":"project_id","constraintType":"foreignKey","schemaName":"dbo","pureName":"finance_reports","refSchemaName":"dbo","refTableName":"projects","updateAction":"NO ACTION","deleteAction":"NO ACTION","columns":[{"columnName":"id","refColumnName":"id"}]}],"indexes":[],"uniques":[],"engine":"mssql@dbgate-plugin-mssql"}
{"id":1,"date":"2022-01-01T00:00:00.000Z","profit":73923.4}
{"id":1,"date":"2022-01-31T00:00:00.000Z","profit":21837.75}
{"id":1,"date":"2022-03-02T00:00:00.000Z","profit":67859.8}
{"id":1,"date":"2022-04-01T00:00:00.000Z","profit":77403.3}
{"id":1,"date":"2022-05-01T00:00:00.000Z","profit":84083.19}
{"id":1,"date":"2022-05-31T00:00:00.000Z","profit":30040.55}
{"id":1,"date":"2022-06-30T00:00:00.000Z","profit":50947.14}
{"id":1,"date":"2022-07-30T00:00:00.000Z","profit":63345.62}
{"id":1,"date":"2022-08-29T00:00:00.000Z","profit":23819.45}
{"id":1,"date":"2022-09-28T00:00:00.000Z","profit":-25919.19}
{"id":1,"date":"2022-10-28T00:00:00.000Z","profit":27967.6}
{"id":1,"date":"2022-11-27T00:00:00.000Z","profit":-37402.36}
{"id":1,"date":"2022-12-27T00:00:00.000Z","profit":94528.8}
{"id":1,"date":"2023-01-26T00:00:00.000Z","profit":29491.03}
{"id":1,"date":"2023-02-25T00:00:00.000Z","profit":81541.29}
{"id":2,"date":"2022-01-01T00:00:00.000Z","profit":18070.94}
{"id":2,"date":"2022-01-31T00:00:00.000Z","profit":-40609.87}
{"id":2,"date":"2022-03-02T00:00:00.000Z","profit":42435.51}
{"id":2,"date":"2022-04-01T00:00:00.000Z","profit":-11915.15}
{"id":2,"date":"2022-05-01T00:00:00.000Z","profit":-37417.4}
{"id":2,"date":"2022-05-31T00:00:00.000Z","profit":23028.66}
{"id":2,"date":"2022-06-30T00:00:00.000Z","profit":-6895.49}
{"id":2,"date":"2022-07-30T00:00:00.000Z","profit":63114.54}
{"id":2,"date":"2022-08-29T00:00:00.000Z","profit":94646.99}
{"id":2,"date":"2022-09-28T00:00:00.000Z","profit":99560.77}
{"id":2,"date":"2022-10-28T00:00:00.000Z","profit":62216.22}
{"id":2,"date":"2022-11-27T00:00:00.000Z","profit":85094.32}
{"id":2,"date":"2022-12-27T00:00:00.000Z","profit":-23378.37}
{"id":2,"date":"2023-01-26T00:00:00.000Z","profit":47635.86}
{"id":2,"date":"2023-02-25T00:00:00.000Z","profit":33727.72}
{"id":3,"date":"2022-01-01T00:00:00.000Z","profit":33088.03}
{"id":3,"date":"2022-01-31T00:00:00.000Z","profit":66668.91}
{"id":3,"date":"2022-03-02T00:00:00.000Z","profit":5344.27}
{"id":3,"date":"2022-04-01T00:00:00.000Z","profit":22122.99}
{"id":3,"date":"2022-05-01T00:00:00.000Z","profit":27342.01}
{"id":3,"date":"2022-05-31T00:00:00.000Z","profit":55479.42}
{"id":3,"date":"2022-06-30T00:00:00.000Z","profit":35956.11}
{"id":3,"date":"2022-07-30T00:00:00.000Z","profit":9667.12}
{"id":3,"date":"2022-08-29T00:00:00.000Z","profit":63430.18}
{"id":3,"date":"2022-09-28T00:00:00.000Z","profit":-4883.41}
{"id":3,"date":"2022-10-28T00:00:00.000Z","profit":38902.8}
{"id":3,"date":"2022-11-27T00:00:00.000Z","profit":-25500.13}
{"id":3,"date":"2022-12-27T00:00:00.000Z","profit":65074.21}
{"id":3,"date":"2023-01-26T00:00:00.000Z","profit":12570.27}
{"id":3,"date":"2023-02-25T00:00:00.000Z","profit":35418.36}
{"id":4,"date":"2022-01-01T00:00:00.000Z","profit":68282.98}
{"id":4,"date":"2022-01-31T00:00:00.000Z","profit":77778.99}
{"id":4,"date":"2022-03-02T00:00:00.000Z","profit":95490.49}
{"id":4,"date":"2022-04-01T00:00:00.000Z","profit":-44466.37}
{"id":4,"date":"2022-05-01T00:00:00.000Z","profit":40215.71}
{"id":4,"date":"2022-05-31T00:00:00.000Z","profit":-31228.87}
{"id":4,"date":"2022-06-30T00:00:00.000Z","profit":60667.69}
{"id":4,"date":"2022-07-30T00:00:00.000Z","profit":71439.16}
{"id":4,"date":"2022-08-29T00:00:00.000Z","profit":-25077.4}
{"id":4,"date":"2022-09-28T00:00:00.000Z","profit":-36128.2}
{"id":4,"date":"2022-10-28T00:00:00.000Z","profit":36727.68}
{"id":4,"date":"2022-11-27T00:00:00.000Z","profit":-24207.2}
{"id":4,"date":"2022-12-27T00:00:00.000Z","profit":63846.96}
{"id":5,"date":"2022-01-01T00:00:00.000Z","profit":21648.3}
{"id":5,"date":"2022-01-31T00:00:00.000Z","profit":59263.22}
{"id":5,"date":"2022-03-02T00:00:00.000Z","profit":49154.51}
{"id":5,"date":"2022-04-01T00:00:00.000Z","profit":34787.48}
{"id":5,"date":"2022-05-01T00:00:00.000Z","profit":-24120.19}
{"id":5,"date":"2022-05-31T00:00:00.000Z","profit":98437.86}
{"id":5,"date":"2022-06-30T00:00:00.000Z","profit":18614.77}
{"id":5,"date":"2022-07-30T00:00:00.000Z","profit":17680.34}
{"id":5,"date":"2022-08-29T00:00:00.000Z","profit":74406.86}
{"id":5,"date":"2022-09-28T00:00:00.000Z","profit":61845.3}
{"id":5,"date":"2022-10-28T00:00:00.000Z","profit":-37889.59}
{"id":5,"date":"2022-11-27T00:00:00.000Z","profit":76651.05}
{"id":5,"date":"2022-12-27T00:00:00.000Z","profit":58739.6}
{"id":5,"date":"2023-01-26T00:00:00.000Z","profit":82605.85}
{"id":6,"date":"2022-01-01T00:00:00.000Z","profit":-5206.8}
{"id":6,"date":"2022-01-31T00:00:00.000Z","profit":27498.27}
{"id":6,"date":"2022-03-02T00:00:00.000Z","profit":-2939.84}
{"id":6,"date":"2022-04-01T00:00:00.000Z","profit":-37261.08}
{"id":6,"date":"2022-05-01T00:00:00.000Z","profit":37069.04}
{"id":6,"date":"2022-05-31T00:00:00.000Z","profit":524.88}
{"id":6,"date":"2022-06-30T00:00:00.000Z","profit":-29620.85}
{"id":6,"date":"2022-07-30T00:00:00.000Z","profit":35540.81}
{"id":6,"date":"2022-08-29T00:00:00.000Z","profit":20608.94}
{"id":6,"date":"2022-09-28T00:00:00.000Z","profit":34809.33}
{"id":6,"date":"2022-10-28T00:00:00.000Z","profit":-44949.05}
{"id":6,"date":"2022-11-27T00:00:00.000Z","profit":-22524.26}
{"id":6,"date":"2022-12-27T00:00:00.000Z","profit":37841.58}
{"id":7,"date":"2022-01-01T00:00:00.000Z","profit":6903.17}
{"id":7,"date":"2022-01-31T00:00:00.000Z","profit":58480.84}
{"id":7,"date":"2022-03-02T00:00:00.000Z","profit":48217.34}
{"id":7,"date":"2022-04-01T00:00:00.000Z","profit":73592.44}
{"id":7,"date":"2022-05-01T00:00:00.000Z","profit":-21831.18}
{"id":7,"date":"2022-05-31T00:00:00.000Z","profit":-40926.16}
{"id":7,"date":"2022-06-30T00:00:00.000Z","profit":62299.5}
{"id":7,"date":"2022-07-30T00:00:00.000Z","profit":95376.53}
{"id":7,"date":"2022-08-29T00:00:00.000Z","profit":-13317.36}
{"id":7,"date":"2022-09-28T00:00:00.000Z","profit":81565.05}
{"id":7,"date":"2022-10-28T00:00:00.000Z","profit":77420.52}
{"id":7,"date":"2022-11-27T00:00:00.000Z","profit":-12052.47}
{"id":7,"date":"2022-12-27T00:00:00.000Z","profit":37742.07}
{"id":7,"date":"2023-01-26T00:00:00.000Z","profit":-8057.99}
{"id":8,"date":"2022-01-01T00:00:00.000Z","profit":27213.73}
{"id":8,"date":"2022-01-31T00:00:00.000Z","profit":34271.75}
{"id":8,"date":"2022-03-02T00:00:00.000Z","profit":-44549.47}
{"id":8,"date":"2022-04-01T00:00:00.000Z","profit":15236.34}
{"id":8,"date":"2022-05-01T00:00:00.000Z","profit":-27759.81}
{"id":8,"date":"2022-05-31T00:00:00.000Z","profit":7955.12}
{"id":8,"date":"2022-06-30T00:00:00.000Z","profit":-34484.38}
{"id":8,"date":"2022-07-30T00:00:00.000Z","profit":-49758.7}
{"id":8,"date":"2022-08-29T00:00:00.000Z","profit":-41990.86}
{"id":8,"date":"2022-09-28T00:00:00.000Z","profit":58123.01}
{"id":8,"date":"2022-10-28T00:00:00.000Z","profit":30128.78}
{"id":8,"date":"2022-11-27T00:00:00.000Z","profit":-10151.17}
{"id":8,"date":"2022-12-27T00:00:00.000Z","profit":54048.33}
{"id":8,"date":"2023-01-26T00:00:00.000Z","profit":-43123.17}
{"id":9,"date":"2022-01-01T00:00:00.000Z","profit":61031.83}
{"id":9,"date":"2022-01-31T00:00:00.000Z","profit":68577.58}
{"id":9,"date":"2022-03-02T00:00:00.000Z","profit":88698.97}
{"id":9,"date":"2022-04-01T00:00:00.000Z","profit":8906.03}
{"id":9,"date":"2022-05-01T00:00:00.000Z","profit":28824.73}
{"id":9,"date":"2022-05-31T00:00:00.000Z","profit":88280.34}
{"id":9,"date":"2022-06-30T00:00:00.000Z","profit":35266.09}
{"id":9,"date":"2022-07-30T00:00:00.000Z","profit":-38025.36}
{"id":9,"date":"2022-08-29T00:00:00.000Z","profit":-12118.53}
{"id":9,"date":"2022-09-28T00:00:00.000Z","profit":-27265.86}
{"id":9,"date":"2022-10-28T00:00:00.000Z","profit":56870.57}
{"id":9,"date":"2022-11-27T00:00:00.000Z","profit":88078.95}
{"id":9,"date":"2022-12-27T00:00:00.000Z","profit":-24059.67}
{"id":9,"date":"2023-01-26T00:00:00.000Z","profit":-13301.43}
{"id":10,"date":"2022-01-01T00:00:00.000Z","profit":-22479.23}
{"id":10,"date":"2022-01-31T00:00:00.000Z","profit":8106.27}
{"id":10,"date":"2022-03-02T00:00:00.000Z","profit":69372.19}
{"id":10,"date":"2022-04-01T00:00:00.000Z","profit":-11895.74}
{"id":10,"date":"2022-05-01T00:00:00.000Z","profit":-33206.5}
{"id":10,"date":"2022-05-31T00:00:00.000Z","profit":56073.34}
{"id":10,"date":"2022-06-30T00:00:00.000Z","profit":67488.3}
{"id":10,"date":"2022-07-30T00:00:00.000Z","profit":48529.23}
{"id":10,"date":"2022-08-29T00:00:00.000Z","profit":28680.2}
{"id":10,"date":"2022-09-28T00:00:00.000Z","profit":59311.16}
{"id":10,"date":"2022-10-28T00:00:00.000Z","profit":25315.78}
{"id":10,"date":"2022-11-27T00:00:00.000Z","profit":36116.38}
{"id":10,"date":"2022-12-27T00:00:00.000Z","profit":-42040.4}

View File

@@ -0,0 +1,15 @@
name: finance_reports
columns:
- name: id
type: int
default: null
notNull: true
references: projects
- name: date
type: date
default: null
notNull: true
- name: profit
type: money
default: null
notNull: true

View File

@@ -0,0 +1,11 @@
{"__isStreamHeader":true,"pureName":"projects","schemaName":"dbo","objectId":1301579675,"createDate":"2025-06-12T10:30:34.127Z","modifyDate":"2025-06-23T12:15:08.750Z","contentHash":"2025-06-23T12:15:08.750Z","columns":[{"columnName":"id","dataType":"int","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"name","dataType":"varchar(100)","notNull":true,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"start_date","dataType":"date","notNull":false,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false},{"columnName":"end_date","dataType":"date","notNull":false,"autoIncrement":false,"defaultValue":null,"defaultConstraint":null,"computedExpression":null,"hasAutoValue":false}],"primaryKey":{"constraintName":"PK__projects__3213E83F26A7ED11","schemaName":"dbo","pureName":"projects","constraintType":"primaryKey","columns":[{"columnName":"id"}]},"foreignKeys":[],"indexes":[],"uniques":[],"engine":"mssql@dbgate-plugin-mssql"}
{"id":1,"name":"Apollo Upgrade","start_date":"2020-04-27T00:00:00.000Z","end_date":"2020-10-19T00:00:00.000Z"}
{"id":2,"name":"Market Expansion","start_date":"2022-08-04T00:00:00.000Z","end_date":"2023-06-20T00:00:00.000Z"}
{"id":3,"name":"AI Integration","start_date":"2020-05-11T00:00:00.000Z","end_date":"2021-07-10T00:00:00.000Z"}
{"id":4,"name":"Cost Reduction","start_date":"2022-01-08T00:00:00.000Z","end_date":"2022-07-12T00:00:00.000Z"}
{"id":5,"name":"Cloud Migration","start_date":"2021-01-11T00:00:00.000Z","end_date":"2021-05-27T00:00:00.000Z"}
{"id":6,"name":"Customer Portal","start_date":"2021-07-13T00:00:00.000Z","end_date":"2022-09-22T00:00:00.000Z"}
{"id":7,"name":"Data Lake","start_date":"2021-02-25T00:00:00.000Z","end_date":"2021-08-21T00:00:00.000Z"}
{"id":8,"name":"UX Overhaul","start_date":"2021-05-20T00:00:00.000Z","end_date":"2022-09-10T00:00:00.000Z"}
{"id":9,"name":"Security Hardening","start_date":"2021-05-28T00:00:00.000Z","end_date":"2022-07-28T00:00:00.000Z"}
{"id":10,"name":"Mobile App Revamp","start_date":"2021-11-17T00:00:00.000Z","end_date":"2022-06-04T00:00:00.000Z"}

View File

@@ -0,0 +1,18 @@
name: projects
columns:
- name: id
type: int
default: null
notNull: true
- name: name
type: varchar(100)
default: null
notNull: true
- name: start_date
type: date
default: null
- name: end_date
type: date
default: null
primaryKey:
- id

View File

@@ -0,0 +1,347 @@
{"AlbumId":1,"Title":"For Those About To Rock We Salute You","ArtistId":1}
{"AlbumId":2,"Title":"Balls to the Wall","ArtistId":2}
{"AlbumId":3,"Title":"Restless and Wild","ArtistId":2}
{"AlbumId":4,"Title":"Let There Be Rock","ArtistId":1}
{"AlbumId":5,"Title":"Big Ones","ArtistId":3}
{"AlbumId":6,"Title":"Jagged Little Pill","ArtistId":4}
{"AlbumId":7,"Title":"Facelift","ArtistId":5}
{"AlbumId":8,"Title":"Warner 25 Anos","ArtistId":6}
{"AlbumId":9,"Title":"Plays Metallica By Four Cellos","ArtistId":7}
{"AlbumId":10,"Title":"Audioslave","ArtistId":8}
{"AlbumId":11,"Title":"Out Of Exile","ArtistId":8}
{"AlbumId":12,"Title":"BackBeat Soundtrack","ArtistId":9}
{"AlbumId":13,"Title":"The Best Of Billy Cobham","ArtistId":10}
{"AlbumId":14,"Title":"Alcohol Fueled Brewtality Live! [Disc 1]","ArtistId":11}
{"AlbumId":15,"Title":"Alcohol Fueled Brewtality Live! [Disc 2]","ArtistId":11}
{"AlbumId":16,"Title":"Black Sabbath","ArtistId":12}
{"AlbumId":17,"Title":"Black Sabbath Vol. 4 (Remaster)","ArtistId":12}
{"AlbumId":18,"Title":"Body Count","ArtistId":13}
{"AlbumId":19,"Title":"Chemical Wedding","ArtistId":14}
{"AlbumId":20,"Title":"The Best Of Buddy Guy - The Millenium Collection","ArtistId":15}
{"AlbumId":21,"Title":"Prenda Minha","ArtistId":16}
{"AlbumId":22,"Title":"Sozinho Remix Ao Vivo","ArtistId":16}
{"AlbumId":23,"Title":"Minha Historia","ArtistId":17}
{"AlbumId":24,"Title":"Afrociberdelia","ArtistId":18}
{"AlbumId":25,"Title":"Da Lama Ao Caos","ArtistId":18}
{"AlbumId":26,"Title":"Acústico MTV [Live]","ArtistId":19}
{"AlbumId":27,"Title":"Cidade Negra - Hits","ArtistId":19}
{"AlbumId":28,"Title":"Na Pista","ArtistId":20}
{"AlbumId":29,"Title":"Axé Bahia 2001","ArtistId":21}
{"AlbumId":30,"Title":"BBC Sessions [Disc 1] [Live]","ArtistId":22}
{"AlbumId":31,"Title":"Bongo Fury","ArtistId":23}
{"AlbumId":32,"Title":"Carnaval 2001","ArtistId":21}
{"AlbumId":33,"Title":"Chill: Brazil (Disc 1)","ArtistId":24}
{"AlbumId":34,"Title":"Chill: Brazil (Disc 2)","ArtistId":6}
{"AlbumId":35,"Title":"Garage Inc. (Disc 1)","ArtistId":50}
{"AlbumId":36,"Title":"Greatest Hits II","ArtistId":51}
{"AlbumId":37,"Title":"Greatest Kiss","ArtistId":52}
{"AlbumId":38,"Title":"Heart of the Night","ArtistId":53}
{"AlbumId":39,"Title":"International Superhits","ArtistId":54}
{"AlbumId":40,"Title":"Into The Light","ArtistId":55}
{"AlbumId":41,"Title":"Meus Momentos","ArtistId":56}
{"AlbumId":42,"Title":"Minha História","ArtistId":57}
{"AlbumId":43,"Title":"MK III The Final Concerts [Disc 1]","ArtistId":58}
{"AlbumId":44,"Title":"Physical Graffiti [Disc 1]","ArtistId":22}
{"AlbumId":45,"Title":"Sambas De Enredo 2001","ArtistId":21}
{"AlbumId":46,"Title":"Supernatural","ArtistId":59}
{"AlbumId":47,"Title":"The Best of Ed Motta","ArtistId":37}
{"AlbumId":48,"Title":"The Essential Miles Davis [Disc 1]","ArtistId":68}
{"AlbumId":49,"Title":"The Essential Miles Davis [Disc 2]","ArtistId":68}
{"AlbumId":50,"Title":"The Final Concerts (Disc 2)","ArtistId":58}
{"AlbumId":51,"Title":"Up An' Atom","ArtistId":69}
{"AlbumId":52,"Title":"Vinícius De Moraes - Sem Limite","ArtistId":70}
{"AlbumId":53,"Title":"Vozes do MPB","ArtistId":21}
{"AlbumId":54,"Title":"Chronicle, Vol. 1","ArtistId":76}
{"AlbumId":55,"Title":"Chronicle, Vol. 2","ArtistId":76}
{"AlbumId":56,"Title":"Cássia Eller - Coleçăo Sem Limite [Disc 2]","ArtistId":77}
{"AlbumId":57,"Title":"Cássia Eller - Sem Limite [Disc 1]","ArtistId":77}
{"AlbumId":58,"Title":"Come Taste The Band","ArtistId":58}
{"AlbumId":59,"Title":"Deep Purple In Rock","ArtistId":58}
{"AlbumId":60,"Title":"Fireball","ArtistId":58}
{"AlbumId":61,"Title":"Knocking at Your Back Door: The Best Of Deep Purple in the 80's","ArtistId":58}
{"AlbumId":62,"Title":"Machine Head","ArtistId":58}
{"AlbumId":63,"Title":"Purpendicular","ArtistId":58}
{"AlbumId":64,"Title":"Slaves And Masters","ArtistId":58}
{"AlbumId":65,"Title":"Stormbringer","ArtistId":58}
{"AlbumId":66,"Title":"The Battle Rages On","ArtistId":58}
{"AlbumId":67,"Title":"Vault: Def Leppard's Greatest Hits","ArtistId":78}
{"AlbumId":68,"Title":"Outbreak","ArtistId":79}
{"AlbumId":69,"Title":"Djavan Ao Vivo - Vol. 02","ArtistId":80}
{"AlbumId":70,"Title":"Djavan Ao Vivo - Vol. 1","ArtistId":80}
{"AlbumId":71,"Title":"Elis Regina-Minha História","ArtistId":41}
{"AlbumId":72,"Title":"The Cream Of Clapton","ArtistId":81}
{"AlbumId":73,"Title":"Unplugged","ArtistId":81}
{"AlbumId":74,"Title":"Album Of The Year","ArtistId":82}
{"AlbumId":75,"Title":"Angel Dust","ArtistId":82}
{"AlbumId":76,"Title":"King For A Day Fool For A Lifetime","ArtistId":82}
{"AlbumId":77,"Title":"The Real Thing","ArtistId":82}
{"AlbumId":78,"Title":"Deixa Entrar","ArtistId":83}
{"AlbumId":79,"Title":"In Your Honor [Disc 1]","ArtistId":84}
{"AlbumId":80,"Title":"In Your Honor [Disc 2]","ArtistId":84}
{"AlbumId":81,"Title":"One By One","ArtistId":84}
{"AlbumId":82,"Title":"The Colour And The Shape","ArtistId":84}
{"AlbumId":83,"Title":"My Way: The Best Of Frank Sinatra [Disc 1]","ArtistId":85}
{"AlbumId":84,"Title":"Roda De Funk","ArtistId":86}
{"AlbumId":85,"Title":"As Cançőes de Eu Tu Eles","ArtistId":27}
{"AlbumId":86,"Title":"Quanta Gente Veio Ver (Live)","ArtistId":27}
{"AlbumId":87,"Title":"Quanta Gente Veio ver--Bônus De Carnaval","ArtistId":27}
{"AlbumId":88,"Title":"Faceless","ArtistId":87}
{"AlbumId":89,"Title":"American Idiot","ArtistId":54}
{"AlbumId":90,"Title":"Appetite for Destruction","ArtistId":88}
{"AlbumId":91,"Title":"Use Your Illusion I","ArtistId":88}
{"AlbumId":92,"Title":"Use Your Illusion II","ArtistId":88}
{"AlbumId":93,"Title":"Blue Moods","ArtistId":89}
{"AlbumId":94,"Title":"A Matter of Life and Death","ArtistId":90}
{"AlbumId":95,"Title":"A Real Dead One","ArtistId":90}
{"AlbumId":96,"Title":"A Real Live One","ArtistId":90}
{"AlbumId":97,"Title":"Brave New World","ArtistId":90}
{"AlbumId":98,"Title":"Dance Of Death","ArtistId":90}
{"AlbumId":99,"Title":"Fear Of The Dark","ArtistId":90}
{"AlbumId":100,"Title":"Iron Maiden","ArtistId":90}
{"AlbumId":101,"Title":"Killers","ArtistId":90}
{"AlbumId":102,"Title":"Live After Death","ArtistId":90}
{"AlbumId":103,"Title":"Live At Donington 1992 (Disc 1)","ArtistId":90}
{"AlbumId":104,"Title":"Live At Donington 1992 (Disc 2)","ArtistId":90}
{"AlbumId":105,"Title":"No Prayer For The Dying","ArtistId":90}
{"AlbumId":106,"Title":"Piece Of Mind","ArtistId":90}
{"AlbumId":107,"Title":"Powerslave","ArtistId":90}
{"AlbumId":108,"Title":"Rock In Rio [CD1]","ArtistId":90}
{"AlbumId":109,"Title":"Rock In Rio [CD2]","ArtistId":90}
{"AlbumId":110,"Title":"Seventh Son of a Seventh Son","ArtistId":90}
{"AlbumId":111,"Title":"Somewhere in Time","ArtistId":90}
{"AlbumId":112,"Title":"The Number of The Beast","ArtistId":90}
{"AlbumId":113,"Title":"The X Factor","ArtistId":90}
{"AlbumId":114,"Title":"Virtual XI","ArtistId":90}
{"AlbumId":115,"Title":"Sex Machine","ArtistId":91}
{"AlbumId":116,"Title":"Emergency On Planet Earth","ArtistId":92}
{"AlbumId":117,"Title":"Synkronized","ArtistId":92}
{"AlbumId":118,"Title":"The Return Of The Space Cowboy","ArtistId":92}
{"AlbumId":119,"Title":"Get Born","ArtistId":93}
{"AlbumId":120,"Title":"Are You Experienced?","ArtistId":94}
{"AlbumId":121,"Title":"Surfing with the Alien (Remastered)","ArtistId":95}
{"AlbumId":122,"Title":"Jorge Ben Jor 25 Anos","ArtistId":46}
{"AlbumId":123,"Title":"Jota Quest-1995","ArtistId":96}
{"AlbumId":124,"Title":"Cafezinho","ArtistId":97}
{"AlbumId":125,"Title":"Living After Midnight","ArtistId":98}
{"AlbumId":126,"Title":"Unplugged [Live]","ArtistId":52}
{"AlbumId":127,"Title":"BBC Sessions [Disc 2] [Live]","ArtistId":22}
{"AlbumId":128,"Title":"Coda","ArtistId":22}
{"AlbumId":129,"Title":"Houses Of The Holy","ArtistId":22}
{"AlbumId":130,"Title":"In Through The Out Door","ArtistId":22}
{"AlbumId":131,"Title":"IV","ArtistId":22}
{"AlbumId":132,"Title":"Led Zeppelin I","ArtistId":22}
{"AlbumId":133,"Title":"Led Zeppelin II","ArtistId":22}
{"AlbumId":134,"Title":"Led Zeppelin III","ArtistId":22}
{"AlbumId":135,"Title":"Physical Graffiti [Disc 2]","ArtistId":22}
{"AlbumId":136,"Title":"Presence","ArtistId":22}
{"AlbumId":137,"Title":"The Song Remains The Same (Disc 1)","ArtistId":22}
{"AlbumId":138,"Title":"The Song Remains The Same (Disc 2)","ArtistId":22}
{"AlbumId":139,"Title":"A TempestadeTempestade Ou O Livro Dos Dias","ArtistId":99}
{"AlbumId":140,"Title":"Mais Do Mesmo","ArtistId":99}
{"AlbumId":141,"Title":"Greatest Hits","ArtistId":100}
{"AlbumId":142,"Title":"Lulu Santos - RCA 100 Anos De Música - Álbum 01","ArtistId":101}
{"AlbumId":143,"Title":"Lulu Santos - RCA 100 Anos De Música - Álbum 02","ArtistId":101}
{"AlbumId":144,"Title":"Misplaced Childhood","ArtistId":102}
{"AlbumId":145,"Title":"Barulhinho Bom","ArtistId":103}
{"AlbumId":146,"Title":"Seek And Shall Find: More Of The Best (1963-1981)","ArtistId":104}
{"AlbumId":147,"Title":"The Best Of Men At Work","ArtistId":105}
{"AlbumId":148,"Title":"Black Album","ArtistId":50}
{"AlbumId":149,"Title":"Garage Inc. (Disc 2)","ArtistId":50}
{"AlbumId":150,"Title":"Kill 'Em All","ArtistId":50}
{"AlbumId":151,"Title":"Load","ArtistId":50}
{"AlbumId":152,"Title":"Master Of Puppets","ArtistId":50}
{"AlbumId":153,"Title":"ReLoad","ArtistId":50}
{"AlbumId":154,"Title":"Ride The Lightning","ArtistId":50}
{"AlbumId":155,"Title":"St. Anger","ArtistId":50}
{"AlbumId":156,"Title":"...And Justice For All","ArtistId":50}
{"AlbumId":157,"Title":"Miles Ahead","ArtistId":68}
{"AlbumId":158,"Title":"Milton Nascimento Ao Vivo","ArtistId":42}
{"AlbumId":159,"Title":"Minas","ArtistId":42}
{"AlbumId":160,"Title":"Ace Of Spades","ArtistId":106}
{"AlbumId":161,"Title":"Demorou...","ArtistId":108}
{"AlbumId":162,"Title":"Motley Crue Greatest Hits","ArtistId":109}
{"AlbumId":163,"Title":"From The Muddy Banks Of The Wishkah [Live]","ArtistId":110}
{"AlbumId":164,"Title":"Nevermind","ArtistId":110}
{"AlbumId":165,"Title":"Compositores","ArtistId":111}
{"AlbumId":166,"Title":"Olodum","ArtistId":112}
{"AlbumId":167,"Title":"Acústico MTV","ArtistId":113}
{"AlbumId":168,"Title":"Arquivo II","ArtistId":113}
{"AlbumId":169,"Title":"Arquivo Os Paralamas Do Sucesso","ArtistId":113}
{"AlbumId":170,"Title":"Bark at the Moon (Remastered)","ArtistId":114}
{"AlbumId":171,"Title":"Blizzard of Ozz","ArtistId":114}
{"AlbumId":172,"Title":"Diary of a Madman (Remastered)","ArtistId":114}
{"AlbumId":173,"Title":"No More Tears (Remastered)","ArtistId":114}
{"AlbumId":174,"Title":"Tribute","ArtistId":114}
{"AlbumId":175,"Title":"Walking Into Clarksdale","ArtistId":115}
{"AlbumId":176,"Title":"Original Soundtracks 1","ArtistId":116}
{"AlbumId":177,"Title":"The Beast Live","ArtistId":117}
{"AlbumId":178,"Title":"Live On Two Legs [Live]","ArtistId":118}
{"AlbumId":179,"Title":"Pearl Jam","ArtistId":118}
{"AlbumId":180,"Title":"Riot Act","ArtistId":118}
{"AlbumId":181,"Title":"Ten","ArtistId":118}
{"AlbumId":182,"Title":"Vs.","ArtistId":118}
{"AlbumId":183,"Title":"Dark Side Of The Moon","ArtistId":120}
{"AlbumId":184,"Title":"Os Căes Ladram Mas A Caravana Năo Pára","ArtistId":121}
{"AlbumId":185,"Title":"Greatest Hits I","ArtistId":51}
{"AlbumId":186,"Title":"News Of The World","ArtistId":51}
{"AlbumId":187,"Title":"Out Of Time","ArtistId":122}
{"AlbumId":188,"Title":"Green","ArtistId":124}
{"AlbumId":189,"Title":"New Adventures In Hi-Fi","ArtistId":124}
{"AlbumId":190,"Title":"The Best Of R.E.M.: The IRS Years","ArtistId":124}
{"AlbumId":191,"Title":"Cesta Básica","ArtistId":125}
{"AlbumId":192,"Title":"Raul Seixas","ArtistId":126}
{"AlbumId":193,"Title":"Blood Sugar Sex Magik","ArtistId":127}
{"AlbumId":194,"Title":"By The Way","ArtistId":127}
{"AlbumId":195,"Title":"Californication","ArtistId":127}
{"AlbumId":196,"Title":"Retrospective I (1974-1980)","ArtistId":128}
{"AlbumId":197,"Title":"Santana - As Years Go By","ArtistId":59}
{"AlbumId":198,"Title":"Santana Live","ArtistId":59}
{"AlbumId":199,"Title":"Maquinarama","ArtistId":130}
{"AlbumId":200,"Title":"O Samba Poconé","ArtistId":130}
{"AlbumId":201,"Title":"Judas 0: B-Sides and Rarities","ArtistId":131}
{"AlbumId":202,"Title":"Rotten Apples: Greatest Hits","ArtistId":131}
{"AlbumId":203,"Title":"A-Sides","ArtistId":132}
{"AlbumId":204,"Title":"Morning Dance","ArtistId":53}
{"AlbumId":205,"Title":"In Step","ArtistId":133}
{"AlbumId":206,"Title":"Core","ArtistId":134}
{"AlbumId":207,"Title":"Mezmerize","ArtistId":135}
{"AlbumId":208,"Title":"[1997] Black Light Syndrome","ArtistId":136}
{"AlbumId":209,"Title":"Live [Disc 1]","ArtistId":137}
{"AlbumId":210,"Title":"Live [Disc 2]","ArtistId":137}
{"AlbumId":211,"Title":"The Singles","ArtistId":138}
{"AlbumId":212,"Title":"Beyond Good And Evil","ArtistId":139}
{"AlbumId":213,"Title":"Pure Cult: The Best Of The Cult (For Rockers, Ravers, Lovers & Sinners) [UK]","ArtistId":139}
{"AlbumId":214,"Title":"The Doors","ArtistId":140}
{"AlbumId":215,"Title":"The Police Greatest Hits","ArtistId":141}
{"AlbumId":216,"Title":"Hot Rocks, 1964-1971 (Disc 1)","ArtistId":142}
{"AlbumId":217,"Title":"No Security","ArtistId":142}
{"AlbumId":218,"Title":"Voodoo Lounge","ArtistId":142}
{"AlbumId":219,"Title":"Tangents","ArtistId":143}
{"AlbumId":220,"Title":"Transmission","ArtistId":143}
{"AlbumId":221,"Title":"My Generation - The Very Best Of The Who","ArtistId":144}
{"AlbumId":222,"Title":"Serie Sem Limite (Disc 1)","ArtistId":145}
{"AlbumId":223,"Title":"Serie Sem Limite (Disc 2)","ArtistId":145}
{"AlbumId":224,"Title":"Acústico","ArtistId":146}
{"AlbumId":225,"Title":"Volume Dois","ArtistId":146}
{"AlbumId":226,"Title":"Battlestar Galactica: The Story So Far","ArtistId":147}
{"AlbumId":227,"Title":"Battlestar Galactica, Season 3","ArtistId":147}
{"AlbumId":228,"Title":"Heroes, Season 1","ArtistId":148}
{"AlbumId":229,"Title":"Lost, Season 3","ArtistId":149}
{"AlbumId":230,"Title":"Lost, Season 1","ArtistId":149}
{"AlbumId":231,"Title":"Lost, Season 2","ArtistId":149}
{"AlbumId":232,"Title":"Achtung Baby","ArtistId":150}
{"AlbumId":233,"Title":"All That You Can't Leave Behind","ArtistId":150}
{"AlbumId":234,"Title":"B-Sides 1980-1990","ArtistId":150}
{"AlbumId":235,"Title":"How To Dismantle An Atomic Bomb","ArtistId":150}
{"AlbumId":236,"Title":"Pop","ArtistId":150}
{"AlbumId":237,"Title":"Rattle And Hum","ArtistId":150}
{"AlbumId":238,"Title":"The Best Of 1980-1990","ArtistId":150}
{"AlbumId":239,"Title":"War","ArtistId":150}
{"AlbumId":240,"Title":"Zooropa","ArtistId":150}
{"AlbumId":241,"Title":"UB40 The Best Of - Volume Two [UK]","ArtistId":151}
{"AlbumId":242,"Title":"Diver Down","ArtistId":152}
{"AlbumId":243,"Title":"The Best Of Van Halen, Vol. I","ArtistId":152}
{"AlbumId":244,"Title":"Van Halen","ArtistId":152}
{"AlbumId":245,"Title":"Van Halen III","ArtistId":152}
{"AlbumId":246,"Title":"Contraband","ArtistId":153}
{"AlbumId":247,"Title":"Vinicius De Moraes","ArtistId":72}
{"AlbumId":248,"Title":"Ao Vivo [IMPORT]","ArtistId":155}
{"AlbumId":249,"Title":"The Office, Season 1","ArtistId":156}
{"AlbumId":250,"Title":"The Office, Season 2","ArtistId":156}
{"AlbumId":251,"Title":"The Office, Season 3","ArtistId":156}
{"AlbumId":252,"Title":"Un-Led-Ed","ArtistId":157}
{"AlbumId":253,"Title":"Battlestar Galactica (Classic), Season 1","ArtistId":158}
{"AlbumId":254,"Title":"Aquaman","ArtistId":159}
{"AlbumId":255,"Title":"Instant Karma: The Amnesty International Campaign to Save Darfur","ArtistId":150}
{"AlbumId":256,"Title":"Speak of the Devil","ArtistId":114}
{"AlbumId":257,"Title":"20th Century Masters - The Millennium Collection: The Best of Scorpions","ArtistId":179}
{"AlbumId":258,"Title":"House of Pain","ArtistId":180}
{"AlbumId":259,"Title":"Radio Brasil (O Som da Jovem Vanguarda) - Seleccao de Henrique Amaro","ArtistId":36}
{"AlbumId":260,"Title":"Cake: B-Sides and Rarities","ArtistId":196}
{"AlbumId":261,"Title":"LOST, Season 4","ArtistId":149}
{"AlbumId":262,"Title":"Quiet Songs","ArtistId":197}
{"AlbumId":263,"Title":"Muso Ko","ArtistId":198}
{"AlbumId":264,"Title":"Realize","ArtistId":199}
{"AlbumId":265,"Title":"Every Kind of Light","ArtistId":200}
{"AlbumId":266,"Title":"Duos II","ArtistId":201}
{"AlbumId":267,"Title":"Worlds","ArtistId":202}
{"AlbumId":268,"Title":"The Best of Beethoven","ArtistId":203}
{"AlbumId":269,"Title":"Temple of the Dog","ArtistId":204}
{"AlbumId":270,"Title":"Carry On","ArtistId":205}
{"AlbumId":271,"Title":"Revelations","ArtistId":8}
{"AlbumId":272,"Title":"Adorate Deum: Gregorian Chant from the Proper of the Mass","ArtistId":206}
{"AlbumId":273,"Title":"Allegri: Miserere","ArtistId":207}
{"AlbumId":274,"Title":"Pachelbel: Canon & Gigue","ArtistId":208}
{"AlbumId":275,"Title":"Vivaldi: The Four Seasons","ArtistId":209}
{"AlbumId":276,"Title":"Bach: Violin Concertos","ArtistId":210}
{"AlbumId":277,"Title":"Bach: Goldberg Variations","ArtistId":211}
{"AlbumId":278,"Title":"Bach: The Cello Suites","ArtistId":212}
{"AlbumId":279,"Title":"Handel: The Messiah (Highlights)","ArtistId":213}
{"AlbumId":280,"Title":"The World of Classical Favourites","ArtistId":214}
{"AlbumId":281,"Title":"Sir Neville Marriner: A Celebration","ArtistId":215}
{"AlbumId":282,"Title":"Mozart: Wind Concertos","ArtistId":216}
{"AlbumId":283,"Title":"Haydn: Symphonies 99 - 104","ArtistId":217}
{"AlbumId":284,"Title":"Beethoven: Symhonies Nos. 5 & 6","ArtistId":218}
{"AlbumId":285,"Title":"A Soprano Inspired","ArtistId":219}
{"AlbumId":286,"Title":"Great Opera Choruses","ArtistId":220}
{"AlbumId":287,"Title":"Wagner: Favourite Overtures","ArtistId":221}
{"AlbumId":288,"Title":"Fauré: Requiem, Ravel: Pavane & Others","ArtistId":222}
{"AlbumId":289,"Title":"Tchaikovsky: The Nutcracker","ArtistId":223}
{"AlbumId":290,"Title":"The Last Night of the Proms","ArtistId":224}
{"AlbumId":291,"Title":"Puccini: Madama Butterfly - Highlights","ArtistId":225}
{"AlbumId":292,"Title":"Holst: The Planets, Op. 32 & Vaughan Williams: Fantasies","ArtistId":226}
{"AlbumId":293,"Title":"Pavarotti's Opera Made Easy","ArtistId":227}
{"AlbumId":294,"Title":"Great Performances - Barber's Adagio and Other Romantic Favorites for Strings","ArtistId":228}
{"AlbumId":295,"Title":"Carmina Burana","ArtistId":229}
{"AlbumId":296,"Title":"A Copland Celebration, Vol. I","ArtistId":230}
{"AlbumId":297,"Title":"Bach: Toccata & Fugue in D Minor","ArtistId":231}
{"AlbumId":298,"Title":"Prokofiev: Symphony No.1","ArtistId":232}
{"AlbumId":299,"Title":"Scheherazade","ArtistId":233}
{"AlbumId":300,"Title":"Bach: The Brandenburg Concertos","ArtistId":234}
{"AlbumId":301,"Title":"Chopin: Piano Concertos Nos. 1 & 2","ArtistId":235}
{"AlbumId":302,"Title":"Mascagni: Cavalleria Rusticana","ArtistId":236}
{"AlbumId":303,"Title":"Sibelius: Finlandia","ArtistId":237}
{"AlbumId":304,"Title":"Beethoven Piano Sonatas: Moonlight & Pastorale","ArtistId":238}
{"AlbumId":305,"Title":"Great Recordings of the Century - Mahler: Das Lied von der Erde","ArtistId":240}
{"AlbumId":306,"Title":"Elgar: Cello Concerto & Vaughan Williams: Fantasias","ArtistId":241}
{"AlbumId":307,"Title":"Adams, John: The Chairman Dances","ArtistId":242}
{"AlbumId":308,"Title":"Tchaikovsky: 1812 Festival Overture, Op.49, Capriccio Italien & Beethoven: Wellington's Victory","ArtistId":243}
{"AlbumId":309,"Title":"Palestrina: Missa Papae Marcelli & Allegri: Miserere","ArtistId":244}
{"AlbumId":310,"Title":"Prokofiev: Romeo & Juliet","ArtistId":245}
{"AlbumId":311,"Title":"Strauss: Waltzes","ArtistId":226}
{"AlbumId":312,"Title":"Berlioz: Symphonie Fantastique","ArtistId":245}
{"AlbumId":313,"Title":"Bizet: Carmen Highlights","ArtistId":246}
{"AlbumId":314,"Title":"English Renaissance","ArtistId":247}
{"AlbumId":315,"Title":"Handel: Music for the Royal Fireworks (Original Version 1749)","ArtistId":208}
{"AlbumId":316,"Title":"Grieg: Peer Gynt Suites & Sibelius: Pelléas et Mélisande","ArtistId":248}
{"AlbumId":317,"Title":"Mozart Gala: Famous Arias","ArtistId":249}
{"AlbumId":318,"Title":"SCRIABIN: Vers la flamme","ArtistId":250}
{"AlbumId":319,"Title":"Armada: Music from the Courts of England and Spain","ArtistId":251}
{"AlbumId":320,"Title":"Mozart: Symphonies Nos. 40 & 41","ArtistId":248}
{"AlbumId":321,"Title":"Back to Black","ArtistId":252}
{"AlbumId":322,"Title":"Frank","ArtistId":252}
{"AlbumId":323,"Title":"Carried to Dust (Bonus Track Version)","ArtistId":253}
{"AlbumId":324,"Title":"Beethoven: Symphony No. 6 'Pastoral' Etc.","ArtistId":254}
{"AlbumId":325,"Title":"Bartok: Violin & Viola Concertos","ArtistId":255}
{"AlbumId":326,"Title":"Mendelssohn: A Midsummer Night's Dream","ArtistId":256}
{"AlbumId":327,"Title":"Bach: Orchestral Suites Nos. 1 - 4","ArtistId":257}
{"AlbumId":328,"Title":"Charpentier: Divertissements, Airs & Concerts","ArtistId":258}
{"AlbumId":329,"Title":"South American Getaway","ArtistId":259}
{"AlbumId":330,"Title":"Górecki: Symphony No. 3","ArtistId":260}
{"AlbumId":331,"Title":"Purcell: The Fairy Queen","ArtistId":261}
{"AlbumId":332,"Title":"The Ultimate Relexation Album","ArtistId":262}
{"AlbumId":333,"Title":"Purcell: Music for the Queen Mary","ArtistId":263}
{"AlbumId":334,"Title":"Weill: The Seven Deadly Sins","ArtistId":264}
{"AlbumId":335,"Title":"J.S. Bach: Chaconne, Suite in E Minor, Partita in E Major & Prelude, Fugue and Allegro","ArtistId":265}
{"AlbumId":336,"Title":"Prokofiev: Symphony No.5 & Stravinksy: Le Sacre Du Printemps","ArtistId":248}
{"AlbumId":337,"Title":"Szymanowski: Piano Works, Vol. 1","ArtistId":266}
{"AlbumId":338,"Title":"Nielsen: The Six Symphonies","ArtistId":267}
{"AlbumId":339,"Title":"Great Recordings of the Century: Paganini's 24 Caprices","ArtistId":268}
{"AlbumId":340,"Title":"Liszt - 12 Études D'Execution Transcendante","ArtistId":269}
{"AlbumId":341,"Title":"Great Recordings of the Century - Shubert: Schwanengesang, 4 Lieder","ArtistId":270}
{"AlbumId":342,"Title":"Locatelli: Concertos for Violin, Strings and Continuo, Vol. 3","ArtistId":271}
{"AlbumId":343,"Title":"Respighi:Pines of Rome","ArtistId":226}
{"AlbumId":344,"Title":"Schubert: The Late String Quartets & String Quintet (3 CD's)","ArtistId":272}
{"AlbumId":345,"Title":"Monteverdi: L'Orfeo","ArtistId":273}
{"AlbumId":346,"Title":"Mozart: Chamber Music","ArtistId":274}
{"AlbumId":347,"Title":"Koyaanisqatsi (Soundtrack from the Motion Picture)","ArtistId":275}

View File

@@ -0,0 +1,275 @@
{"ArtistId":1,"Name":"AC/DC"}
{"ArtistId":2,"Name":"Accept"}
{"ArtistId":3,"Name":"Aerosmith"}
{"ArtistId":4,"Name":"Alanis Morissette"}
{"ArtistId":5,"Name":"Alice In Chains"}
{"ArtistId":6,"Name":"Antônio Carlos Jobim"}
{"ArtistId":7,"Name":"Apocalyptica"}
{"ArtistId":8,"Name":"Audioslave"}
{"ArtistId":9,"Name":"BackBeat"}
{"ArtistId":10,"Name":"Billy Cobham"}
{"ArtistId":11,"Name":"Black Label Society"}
{"ArtistId":12,"Name":"Black Sabbath"}
{"ArtistId":13,"Name":"Body Count"}
{"ArtistId":14,"Name":"Bruce Dickinson"}
{"ArtistId":15,"Name":"Buddy Guy"}
{"ArtistId":16,"Name":"Caetano Veloso"}
{"ArtistId":17,"Name":"Chico Buarque"}
{"ArtistId":18,"Name":"Chico Science & Naçăo Zumbi"}
{"ArtistId":19,"Name":"Cidade Negra"}
{"ArtistId":20,"Name":"Cláudio Zoli"}
{"ArtistId":21,"Name":"Various Artists"}
{"ArtistId":22,"Name":"Led Zeppelin"}
{"ArtistId":23,"Name":"Frank Zappa & Captain Beefheart"}
{"ArtistId":24,"Name":"Marcos Valle"}
{"ArtistId":25,"Name":"Milton Nascimento & Bebeto"}
{"ArtistId":26,"Name":"Azymuth"}
{"ArtistId":27,"Name":"Gilberto Gil"}
{"ArtistId":28,"Name":"Joăo Gilberto"}
{"ArtistId":29,"Name":"Bebel Gilberto"}
{"ArtistId":30,"Name":"Jorge Vercilo"}
{"ArtistId":31,"Name":"Baby Consuelo"}
{"ArtistId":32,"Name":"Ney Matogrosso"}
{"ArtistId":33,"Name":"Luiz Melodia"}
{"ArtistId":34,"Name":"Nando Reis"}
{"ArtistId":35,"Name":"Pedro Luís & A Parede"}
{"ArtistId":36,"Name":"O Rappa"}
{"ArtistId":37,"Name":"Ed Motta"}
{"ArtistId":38,"Name":"Banda Black Rio"}
{"ArtistId":39,"Name":"Fernanda Porto"}
{"ArtistId":40,"Name":"Os Cariocas"}
{"ArtistId":41,"Name":"Elis Regina"}
{"ArtistId":42,"Name":"Milton Nascimento"}
{"ArtistId":43,"Name":"A Cor Do Som"}
{"ArtistId":44,"Name":"Kid Abelha"}
{"ArtistId":45,"Name":"Sandra De Sá"}
{"ArtistId":46,"Name":"Jorge Ben"}
{"ArtistId":47,"Name":"Hermeto Pascoal"}
{"ArtistId":48,"Name":"Barăo Vermelho"}
{"ArtistId":49,"Name":"Edson, DJ Marky & DJ Patife Featuring Fernanda Porto"}
{"ArtistId":50,"Name":"Metallica"}
{"ArtistId":51,"Name":"Queen"}
{"ArtistId":52,"Name":"Kiss"}
{"ArtistId":53,"Name":"Spyro Gyra"}
{"ArtistId":54,"Name":"Green Day"}
{"ArtistId":55,"Name":"David Coverdale"}
{"ArtistId":56,"Name":"Gonzaguinha"}
{"ArtistId":57,"Name":"Os Mutantes"}
{"ArtistId":58,"Name":"Deep Purple"}
{"ArtistId":59,"Name":"Santana"}
{"ArtistId":60,"Name":"Santana Feat. Dave Matthews"}
{"ArtistId":61,"Name":"Santana Feat. Everlast"}
{"ArtistId":62,"Name":"Santana Feat. Rob Thomas"}
{"ArtistId":63,"Name":"Santana Feat. Lauryn Hill & Cee-Lo"}
{"ArtistId":64,"Name":"Santana Feat. The Project G&B"}
{"ArtistId":65,"Name":"Santana Feat. Maná"}
{"ArtistId":66,"Name":"Santana Feat. Eagle-Eye Cherry"}
{"ArtistId":67,"Name":"Santana Feat. Eric Clapton"}
{"ArtistId":68,"Name":"Miles Davis"}
{"ArtistId":69,"Name":"Gene Krupa"}
{"ArtistId":70,"Name":"Toquinho & Vinícius"}
{"ArtistId":71,"Name":"Vinícius De Moraes & Baden Powell"}
{"ArtistId":72,"Name":"Vinícius De Moraes"}
{"ArtistId":73,"Name":"Vinícius E Qurteto Em Cy"}
{"ArtistId":74,"Name":"Vinícius E Odette Lara"}
{"ArtistId":75,"Name":"Vinicius, Toquinho & Quarteto Em Cy"}
{"ArtistId":76,"Name":"Creedence Clearwater Revival"}
{"ArtistId":77,"Name":"Cássia Eller"}
{"ArtistId":78,"Name":"Def Leppard"}
{"ArtistId":79,"Name":"Dennis Chambers"}
{"ArtistId":80,"Name":"Djavan"}
{"ArtistId":81,"Name":"Eric Clapton"}
{"ArtistId":82,"Name":"Faith No More"}
{"ArtistId":83,"Name":"Falamansa"}
{"ArtistId":84,"Name":"Foo Fighters"}
{"ArtistId":85,"Name":"Frank Sinatra"}
{"ArtistId":86,"Name":"Funk Como Le Gusta"}
{"ArtistId":87,"Name":"Godsmack"}
{"ArtistId":88,"Name":"Guns N' Roses"}
{"ArtistId":89,"Name":"Incognito"}
{"ArtistId":90,"Name":"Iron Maiden"}
{"ArtistId":91,"Name":"James Brown"}
{"ArtistId":92,"Name":"Jamiroquai"}
{"ArtistId":93,"Name":"JET"}
{"ArtistId":94,"Name":"Jimi Hendrix"}
{"ArtistId":95,"Name":"Joe Satriani"}
{"ArtistId":96,"Name":"Jota Quest"}
{"ArtistId":97,"Name":"Joăo Suplicy"}
{"ArtistId":98,"Name":"Judas Priest"}
{"ArtistId":99,"Name":"Legiăo Urbana"}
{"ArtistId":100,"Name":"Lenny Kravitz"}
{"ArtistId":101,"Name":"Lulu Santos"}
{"ArtistId":102,"Name":"Marillion"}
{"ArtistId":103,"Name":"Marisa Monte"}
{"ArtistId":104,"Name":"Marvin Gaye"}
{"ArtistId":105,"Name":"Men At Work"}
{"ArtistId":106,"Name":"Motörhead"}
{"ArtistId":107,"Name":"Motörhead & Girlschool"}
{"ArtistId":108,"Name":"Mônica Marianno"}
{"ArtistId":109,"Name":"Mötley Crüe"}
{"ArtistId":110,"Name":"Nirvana"}
{"ArtistId":111,"Name":"O Terço"}
{"ArtistId":112,"Name":"Olodum"}
{"ArtistId":113,"Name":"Os Paralamas Do Sucesso"}
{"ArtistId":114,"Name":"Ozzy Osbourne"}
{"ArtistId":115,"Name":"Page & Plant"}
{"ArtistId":116,"Name":"Passengers"}
{"ArtistId":117,"Name":"Paul D'Ianno"}
{"ArtistId":118,"Name":"Pearl Jam"}
{"ArtistId":119,"Name":"Peter Tosh"}
{"ArtistId":120,"Name":"Pink Floyd"}
{"ArtistId":121,"Name":"Planet Hemp"}
{"ArtistId":122,"Name":"R.E.M. Feat. Kate Pearson"}
{"ArtistId":123,"Name":"R.E.M. Feat. KRS-One"}
{"ArtistId":124,"Name":"R.E.M."}
{"ArtistId":125,"Name":"Raimundos"}
{"ArtistId":126,"Name":"Raul Seixas"}
{"ArtistId":127,"Name":"Red Hot Chili Peppers"}
{"ArtistId":128,"Name":"Rush"}
{"ArtistId":129,"Name":"Simply Red"}
{"ArtistId":130,"Name":"Skank"}
{"ArtistId":131,"Name":"Smashing Pumpkins"}
{"ArtistId":132,"Name":"Soundgarden"}
{"ArtistId":133,"Name":"Stevie Ray Vaughan & Double Trouble"}
{"ArtistId":134,"Name":"Stone Temple Pilots"}
{"ArtistId":135,"Name":"System Of A Down"}
{"ArtistId":136,"Name":"Terry Bozzio, Tony Levin & Steve Stevens"}
{"ArtistId":137,"Name":"The Black Crowes"}
{"ArtistId":138,"Name":"The Clash"}
{"ArtistId":139,"Name":"The Cult"}
{"ArtistId":140,"Name":"The Doors"}
{"ArtistId":141,"Name":"The Police"}
{"ArtistId":142,"Name":"The Rolling Stones"}
{"ArtistId":143,"Name":"The Tea Party"}
{"ArtistId":144,"Name":"The Who"}
{"ArtistId":145,"Name":"Tim Maia"}
{"ArtistId":146,"Name":"Tităs"}
{"ArtistId":147,"Name":"Battlestar Galactica"}
{"ArtistId":148,"Name":"Heroes"}
{"ArtistId":149,"Name":"Lost"}
{"ArtistId":150,"Name":"U2"}
{"ArtistId":151,"Name":"UB40"}
{"ArtistId":152,"Name":"Van Halen"}
{"ArtistId":153,"Name":"Velvet Revolver"}
{"ArtistId":154,"Name":"Whitesnake"}
{"ArtistId":155,"Name":"Zeca Pagodinho"}
{"ArtistId":156,"Name":"The Office"}
{"ArtistId":157,"Name":"Dread Zeppelin"}
{"ArtistId":158,"Name":"Battlestar Galactica (Classic)"}
{"ArtistId":159,"Name":"Aquaman"}
{"ArtistId":160,"Name":"Christina Aguilera featuring BigElf"}
{"ArtistId":161,"Name":"Aerosmith & Sierra Leone's Refugee Allstars"}
{"ArtistId":162,"Name":"Los Lonely Boys"}
{"ArtistId":163,"Name":"Corinne Bailey Rae"}
{"ArtistId":164,"Name":"Dhani Harrison & Jakob Dylan"}
{"ArtistId":165,"Name":"Jackson Browne"}
{"ArtistId":166,"Name":"Avril Lavigne"}
{"ArtistId":167,"Name":"Big & Rich"}
{"ArtistId":168,"Name":"Youssou N'Dour"}
{"ArtistId":169,"Name":"Black Eyed Peas"}
{"ArtistId":170,"Name":"Jack Johnson"}
{"ArtistId":171,"Name":"Ben Harper"}
{"ArtistId":172,"Name":"Snow Patrol"}
{"ArtistId":173,"Name":"Matisyahu"}
{"ArtistId":174,"Name":"The Postal Service"}
{"ArtistId":175,"Name":"Jaguares"}
{"ArtistId":176,"Name":"The Flaming Lips"}
{"ArtistId":177,"Name":"Jack's Mannequin & Mick Fleetwood"}
{"ArtistId":178,"Name":"Regina Spektor"}
{"ArtistId":179,"Name":"Scorpions"}
{"ArtistId":180,"Name":"House Of Pain"}
{"ArtistId":181,"Name":"Xis"}
{"ArtistId":182,"Name":"Nega Gizza"}
{"ArtistId":183,"Name":"Gustavo & Andres Veiga & Salazar"}
{"ArtistId":184,"Name":"Rodox"}
{"ArtistId":185,"Name":"Charlie Brown Jr."}
{"ArtistId":186,"Name":"Pedro Luís E A Parede"}
{"ArtistId":187,"Name":"Los Hermanos"}
{"ArtistId":188,"Name":"Mundo Livre S/A"}
{"ArtistId":189,"Name":"Otto"}
{"ArtistId":190,"Name":"Instituto"}
{"ArtistId":191,"Name":"Naçăo Zumbi"}
{"ArtistId":192,"Name":"DJ Dolores & Orchestra Santa Massa"}
{"ArtistId":193,"Name":"Seu Jorge"}
{"ArtistId":194,"Name":"Sabotage E Instituto"}
{"ArtistId":195,"Name":"Stereo Maracana"}
{"ArtistId":196,"Name":"Cake"}
{"ArtistId":197,"Name":"Aisha Duo"}
{"ArtistId":198,"Name":"Habib Koité and Bamada"}
{"ArtistId":199,"Name":"Karsh Kale"}
{"ArtistId":200,"Name":"The Posies"}
{"ArtistId":201,"Name":"Luciana Souza/Romero Lubambo"}
{"ArtistId":202,"Name":"Aaron Goldberg"}
{"ArtistId":203,"Name":"Nicolaus Esterhazy Sinfonia"}
{"ArtistId":204,"Name":"Temple of the Dog"}
{"ArtistId":205,"Name":"Chris Cornell"}
{"ArtistId":206,"Name":"Alberto Turco & Nova Schola Gregoriana"}
{"ArtistId":207,"Name":"Richard Marlow & The Choir of Trinity College, Cambridge"}
{"ArtistId":208,"Name":"English Concert & Trevor Pinnock"}
{"ArtistId":209,"Name":"Anne-Sophie Mutter, Herbert Von Karajan & Wiener Philharmoniker"}
{"ArtistId":210,"Name":"Hilary Hahn, Jeffrey Kahane, Los Angeles Chamber Orchestra & Margaret Batjer"}
{"ArtistId":211,"Name":"Wilhelm Kempff"}
{"ArtistId":212,"Name":"Yo-Yo Ma"}
{"ArtistId":213,"Name":"Scholars Baroque Ensemble"}
{"ArtistId":214,"Name":"Academy of St. Martin in the Fields & Sir Neville Marriner"}
{"ArtistId":215,"Name":"Academy of St. Martin in the Fields Chamber Ensemble & Sir Neville Marriner"}
{"ArtistId":216,"Name":"Berliner Philharmoniker, Claudio Abbado & Sabine Meyer"}
{"ArtistId":217,"Name":"Royal Philharmonic Orchestra & Sir Thomas Beecham"}
{"ArtistId":218,"Name":"Orchestre Révolutionnaire et Romantique & John Eliot Gardiner"}
{"ArtistId":219,"Name":"Britten Sinfonia, Ivor Bolton & Lesley Garrett"}
{"ArtistId":220,"Name":"Chicago Symphony Chorus, Chicago Symphony Orchestra & Sir Georg Solti"}
{"ArtistId":221,"Name":"Sir Georg Solti & Wiener Philharmoniker"}
{"ArtistId":222,"Name":"Academy of St. Martin in the Fields, John Birch, Sir Neville Marriner & Sylvia McNair"}
{"ArtistId":223,"Name":"London Symphony Orchestra & Sir Charles Mackerras"}
{"ArtistId":224,"Name":"Barry Wordsworth & BBC Concert Orchestra"}
{"ArtistId":225,"Name":"Herbert Von Karajan, Mirella Freni & Wiener Philharmoniker"}
{"ArtistId":226,"Name":"Eugene Ormandy"}
{"ArtistId":227,"Name":"Luciano Pavarotti"}
{"ArtistId":228,"Name":"Leonard Bernstein & New York Philharmonic"}
{"ArtistId":229,"Name":"Boston Symphony Orchestra & Seiji Ozawa"}
{"ArtistId":230,"Name":"Aaron Copland & London Symphony Orchestra"}
{"ArtistId":231,"Name":"Ton Koopman"}
{"ArtistId":232,"Name":"Sergei Prokofiev & Yuri Temirkanov"}
{"ArtistId":233,"Name":"Chicago Symphony Orchestra & Fritz Reiner"}
{"ArtistId":234,"Name":"Orchestra of The Age of Enlightenment"}
{"ArtistId":235,"Name":"Emanuel Ax, Eugene Ormandy & Philadelphia Orchestra"}
{"ArtistId":236,"Name":"James Levine"}
{"ArtistId":237,"Name":"Berliner Philharmoniker & Hans Rosbaud"}
{"ArtistId":238,"Name":"Maurizio Pollini"}
{"ArtistId":239,"Name":"Academy of St. Martin in the Fields, Sir Neville Marriner & William Bennett"}
{"ArtistId":240,"Name":"Gustav Mahler"}
{"ArtistId":241,"Name":"Felix Schmidt, London Symphony Orchestra & Rafael Frühbeck de Burgos"}
{"ArtistId":242,"Name":"Edo de Waart & San Francisco Symphony"}
{"ArtistId":243,"Name":"Antal Doráti & London Symphony Orchestra"}
{"ArtistId":244,"Name":"Choir Of Westminster Abbey & Simon Preston"}
{"ArtistId":245,"Name":"Michael Tilson Thomas & San Francisco Symphony"}
{"ArtistId":246,"Name":"Chor der Wiener Staatsoper, Herbert Von Karajan & Wiener Philharmoniker"}
{"ArtistId":247,"Name":"The King's Singers"}
{"ArtistId":248,"Name":"Berliner Philharmoniker & Herbert Von Karajan"}
{"ArtistId":249,"Name":"Sir Georg Solti, Sumi Jo & Wiener Philharmoniker"}
{"ArtistId":250,"Name":"Christopher O'Riley"}
{"ArtistId":251,"Name":"Fretwork"}
{"ArtistId":252,"Name":"Amy Winehouse"}
{"ArtistId":253,"Name":"Calexico"}
{"ArtistId":254,"Name":"Otto Klemperer & Philharmonia Orchestra"}
{"ArtistId":255,"Name":"Yehudi Menuhin"}
{"ArtistId":256,"Name":"Philharmonia Orchestra & Sir Neville Marriner"}
{"ArtistId":257,"Name":"Academy of St. Martin in the Fields, Sir Neville Marriner & Thurston Dart"}
{"ArtistId":258,"Name":"Les Arts Florissants & William Christie"}
{"ArtistId":259,"Name":"The 12 Cellists of The Berlin Philharmonic"}
{"ArtistId":260,"Name":"Adrian Leaper & Doreen de Feis"}
{"ArtistId":261,"Name":"Roger Norrington, London Classical Players"}
{"ArtistId":262,"Name":"Charles Dutoit & L'Orchestre Symphonique de Montréal"}
{"ArtistId":263,"Name":"Equale Brass Ensemble, John Eliot Gardiner & Munich Monteverdi Orchestra and Choir"}
{"ArtistId":264,"Name":"Kent Nagano and Orchestre de l'Opéra de Lyon"}
{"ArtistId":265,"Name":"Julian Bream"}
{"ArtistId":266,"Name":"Martin Roscoe"}
{"ArtistId":267,"Name":"Göteborgs Symfoniker & Neeme Järvi"}
{"ArtistId":268,"Name":"Itzhak Perlman"}
{"ArtistId":269,"Name":"Michele Campanella"}
{"ArtistId":270,"Name":"Gerald Moore"}
{"ArtistId":271,"Name":"Mela Tenenbaum, Pro Musica Prague & Richard Kapp"}
{"ArtistId":272,"Name":"Emerson String Quartet"}
{"ArtistId":273,"Name":"C. Monteverdi, Nigel Rogers - Chiaroscuro; London Baroque; London Cornett & Sackbu"}
{"ArtistId":274,"Name":"Nash Ensemble"}
{"ArtistId":275,"Name":"Philip Glass Ensemble"}

View File

@@ -0,0 +1,59 @@
{"CustomerId":1,"FirstName":"Luís","LastName":"Gonçalves","Company":"Embraer - Empresa Brasileira de Aeronáutica S.A.","Address":"Av. Brigadeiro Faria Lima, 2170","City":"Săo José dos Campos","State":"SP","Country":"Brazil","PostalCode":"12227-000","Phone":"+55 (12) 3923-5555","Fax":"+55 (12) 3923-5566","Email":"luisg@embraer.com.br","SupportRepId":3}
{"CustomerId":2,"FirstName":"Leonie","LastName":"Köhler","Company":null,"Address":"Theodor-Heuss-Straße 34","City":"Stuttgart","State":null,"Country":"Germany","PostalCode":"70174","Phone":"+49 0711 2842222","Fax":null,"Email":"leonekohler@surfeu.de","SupportRepId":5}
{"CustomerId":3,"FirstName":"François","LastName":"Tremblay","Company":null,"Address":"1498 rue Bélanger","City":"Montréal","State":"QC","Country":"Canada","PostalCode":"H2G 1A7","Phone":"+1 (514) 721-4711","Fax":null,"Email":"ftremblay@gmail.com","SupportRepId":3}
{"CustomerId":4,"FirstName":"Bjřrn","LastName":"Hansen","Company":null,"Address":"Ullevĺlsveien 14","City":"Oslo","State":null,"Country":"Norway","PostalCode":"0171","Phone":"+47 22 44 22 22","Fax":null,"Email":"bjorn.hansen@yahoo.no","SupportRepId":4}
{"CustomerId":5,"FirstName":"František","LastName":"Wichterlová","Company":"JetBrains s.r.o.","Address":"Klanova 9/506","City":"Prague","State":null,"Country":"Czech Republic","PostalCode":"14700","Phone":"+420 2 4172 5555","Fax":"+420 2 4172 5555","Email":"frantisekw@jetbrains.com","SupportRepId":4}
{"CustomerId":6,"FirstName":"Helena","LastName":"Holý","Company":null,"Address":"Rilská 3174/6","City":"Prague","State":null,"Country":"Czech Republic","PostalCode":"14300","Phone":"+420 2 4177 0449","Fax":null,"Email":"hholy@gmail.com","SupportRepId":5}
{"CustomerId":7,"FirstName":"Astrid","LastName":"Gruber","Company":null,"Address":"Rotenturmstraße 4, 1010 Innere Stadt","City":"Vienne","State":null,"Country":"Austria","PostalCode":"1010","Phone":"+43 01 5134505","Fax":null,"Email":"astrid.gruber@apple.at","SupportRepId":5}
{"CustomerId":8,"FirstName":"Daan","LastName":"Peeters","Company":null,"Address":"Grétrystraat 63","City":"Brussels","State":null,"Country":"Belgium","PostalCode":"1000","Phone":"+32 02 219 03 03","Fax":null,"Email":"daan_peeters@apple.be","SupportRepId":4}
{"CustomerId":9,"FirstName":"Kara","LastName":"Nielsen","Company":null,"Address":"Sřnder Boulevard 51","City":"Copenhagen","State":null,"Country":"Denmark","PostalCode":"1720","Phone":"+453 3331 9991","Fax":null,"Email":"kara.nielsen@jubii.dk","SupportRepId":4}
{"CustomerId":10,"FirstName":"Eduardo","LastName":"Martins","Company":"Woodstock Discos","Address":"Rua Dr. Falcăo Filho, 155","City":"Săo Paulo","State":"SP","Country":"Brazil","PostalCode":"01007-010","Phone":"+55 (11) 3033-5446","Fax":"+55 (11) 3033-4564","Email":"eduardo@woodstock.com.br","SupportRepId":4}
{"CustomerId":11,"FirstName":"Alexandre","LastName":"Rocha","Company":"Banco do Brasil S.A.","Address":"Av. Paulista, 2022","City":"Săo Paulo","State":"SP","Country":"Brazil","PostalCode":"01310-200","Phone":"+55 (11) 3055-3278","Fax":"+55 (11) 3055-8131","Email":"alero@uol.com.br","SupportRepId":5}
{"CustomerId":12,"FirstName":"Roberto","LastName":"Almeida","Company":"Riotur","Address":"Praça Pio X, 119","City":"Rio de Janeiro","State":"RJ","Country":"Brazil","PostalCode":"20040-020","Phone":"+55 (21) 2271-7000","Fax":"+55 (21) 2271-7070","Email":"roberto.almeida@riotur.gov.br","SupportRepId":3}
{"CustomerId":13,"FirstName":"Fernanda","LastName":"Ramos","Company":null,"Address":"Qe 7 Bloco G","City":"Brasília","State":"DF","Country":"Brazil","PostalCode":"71020-677","Phone":"+55 (61) 3363-5547","Fax":"+55 (61) 3363-7855","Email":"fernadaramos4@uol.com.br","SupportRepId":4}
{"CustomerId":14,"FirstName":"Mark","LastName":"Philips","Company":"Telus","Address":"8210 111 ST NW","City":"Edmonton","State":"AB","Country":"Canada","PostalCode":"T6G 2C7","Phone":"+1 (780) 434-4554","Fax":"+1 (780) 434-5565","Email":"mphilips12@shaw.ca","SupportRepId":5}
{"CustomerId":15,"FirstName":"Jennifer","LastName":"Peterson","Company":"Rogers Canada","Address":"700 W Pender Street","City":"Vancouver","State":"BC","Country":"Canada","PostalCode":"V6C 1G8","Phone":"+1 (604) 688-2255","Fax":"+1 (604) 688-8756","Email":"jenniferp@rogers.ca","SupportRepId":3}
{"CustomerId":16,"FirstName":"Frank","LastName":"Harris","Company":"Google Inc.","Address":"1600 Amphitheatre Parkway","City":"Mountain View","State":"CA","Country":"USA","PostalCode":"94043-1351","Phone":"+1 (650) 253-0000","Fax":"+1 (650) 253-0000","Email":"fharris@google.com","SupportRepId":4}
{"CustomerId":17,"FirstName":"Jack","LastName":"Smith","Company":"Microsoft Corporation","Address":"1 Microsoft Way","City":"Redmond","State":"WA","Country":"USA","PostalCode":"98052-8300","Phone":"+1 (425) 882-8080","Fax":"+1 (425) 882-8081","Email":"jacksmith@microsoft.com","SupportRepId":5}
{"CustomerId":18,"FirstName":"Michelle","LastName":"Brooks","Company":null,"Address":"627 Broadway","City":"New York","State":"NY","Country":"USA","PostalCode":"10012-2612","Phone":"+1 (212) 221-3546","Fax":"+1 (212) 221-4679","Email":"michelleb@aol.com","SupportRepId":3}
{"CustomerId":19,"FirstName":"Tim","LastName":"Goyer","Company":"Apple Inc.","Address":"1 Infinite Loop","City":"Cupertino","State":"CA","Country":"USA","PostalCode":"95014","Phone":"+1 (408) 996-1010","Fax":"+1 (408) 996-1011","Email":"tgoyer@apple.com","SupportRepId":3}
{"CustomerId":20,"FirstName":"Dan","LastName":"Miller","Company":null,"Address":"541 Del Medio Avenue","City":"Mountain View","State":"CA","Country":"USA","PostalCode":"94040-111","Phone":"+1 (650) 644-3358","Fax":null,"Email":"dmiller@comcast.com","SupportRepId":4}
{"CustomerId":21,"FirstName":"Kathy","LastName":"Chase","Company":null,"Address":"801 W 4th Street","City":"Reno","State":"NV","Country":"USA","PostalCode":"89503","Phone":"+1 (775) 223-7665","Fax":null,"Email":"kachase@hotmail.com","SupportRepId":5}
{"CustomerId":22,"FirstName":"Heather","LastName":"Leacock","Company":null,"Address":"120 S Orange Ave","City":"Orlando","State":"FL","Country":"USA","PostalCode":"32801","Phone":"+1 (407) 999-7788","Fax":null,"Email":"hleacock@gmail.com","SupportRepId":4}
{"CustomerId":23,"FirstName":"John","LastName":"Gordon","Company":null,"Address":"69 Salem Street","City":"Boston","State":"MA","Country":"USA","PostalCode":"2113","Phone":"+1 (617) 522-1333","Fax":null,"Email":"johngordon22@yahoo.com","SupportRepId":4}
{"CustomerId":24,"FirstName":"Frank","LastName":"Ralston","Company":null,"Address":"162 E Superior Street","City":"Chicago","State":"IL","Country":"USA","PostalCode":"60611","Phone":"+1 (312) 332-3232","Fax":null,"Email":"fralston@gmail.com","SupportRepId":3}
{"CustomerId":25,"FirstName":"Victor","LastName":"Stevens","Company":null,"Address":"319 N. Frances Street","City":"Madison","State":"WI","Country":"USA","PostalCode":"53703","Phone":"+1 (608) 257-0597","Fax":null,"Email":"vstevens@yahoo.com","SupportRepId":5}
{"CustomerId":26,"FirstName":"Richard","LastName":"Cunningham","Company":null,"Address":"2211 W Berry Street","City":"Fort Worth","State":"TX","Country":"USA","PostalCode":"76110","Phone":"+1 (817) 924-7272","Fax":null,"Email":"ricunningham@hotmail.com","SupportRepId":4}
{"CustomerId":27,"FirstName":"Patrick","LastName":"Gray","Company":null,"Address":"1033 N Park Ave","City":"Tucson","State":"AZ","Country":"USA","PostalCode":"85719","Phone":"+1 (520) 622-4200","Fax":null,"Email":"patrick.gray@aol.com","SupportRepId":4}
{"CustomerId":28,"FirstName":"Julia","LastName":"Barnett","Company":null,"Address":"302 S 700 E","City":"Salt Lake City","State":"UT","Country":"USA","PostalCode":"84102","Phone":"+1 (801) 531-7272","Fax":null,"Email":"jubarnett@gmail.com","SupportRepId":5}
{"CustomerId":29,"FirstName":"Robert","LastName":"Brown","Company":null,"Address":"796 Dundas Street West","City":"Toronto","State":"ON","Country":"Canada","PostalCode":"M6J 1V1","Phone":"+1 (416) 363-8888","Fax":null,"Email":"robbrown@shaw.ca","SupportRepId":3}
{"CustomerId":30,"FirstName":"Edward","LastName":"Francis","Company":null,"Address":"230 Elgin Street","City":"Ottawa","State":"ON","Country":"Canada","PostalCode":"K2P 1L7","Phone":"+1 (613) 234-3322","Fax":null,"Email":"edfrancis@yachoo.ca","SupportRepId":3}
{"CustomerId":31,"FirstName":"Martha","LastName":"Silk","Company":null,"Address":"194A Chain Lake Drive","City":"Halifax","State":"NS","Country":"Canada","PostalCode":"B3S 1C5","Phone":"+1 (902) 450-0450","Fax":null,"Email":"marthasilk@gmail.com","SupportRepId":5}
{"CustomerId":32,"FirstName":"Aaron","LastName":"Mitchell","Company":null,"Address":"696 Osborne Street","City":"Winnipeg","State":"MB","Country":"Canada","PostalCode":"R3L 2B9","Phone":"+1 (204) 452-6452","Fax":null,"Email":"aaronmitchell@yahoo.ca","SupportRepId":4}
{"CustomerId":33,"FirstName":"Ellie","LastName":"Sullivan","Company":null,"Address":"5112 48 Street","City":"Yellowknife","State":"NT","Country":"Canada","PostalCode":"X1A 1N6","Phone":"+1 (867) 920-2233","Fax":null,"Email":"ellie.sullivan@shaw.ca","SupportRepId":3}
{"CustomerId":34,"FirstName":"Joăo","LastName":"Fernandes","Company":null,"Address":"Rua da Assunçăo 53","City":"Lisbon","State":null,"Country":"Portugal","PostalCode":null,"Phone":"+351 (213) 466-111","Fax":null,"Email":"jfernandes@yahoo.pt","SupportRepId":4}
{"CustomerId":35,"FirstName":"Madalena","LastName":"Sampaio","Company":null,"Address":"Rua dos Campeőes Europeus de Viena, 4350","City":"Porto","State":null,"Country":"Portugal","PostalCode":null,"Phone":"+351 (225) 022-448","Fax":null,"Email":"masampaio@sapo.pt","SupportRepId":4}
{"CustomerId":36,"FirstName":"Hannah","LastName":"Schneider","Company":null,"Address":"Tauentzienstraße 8","City":"Berlin","State":null,"Country":"Germany","PostalCode":"10789","Phone":"+49 030 26550280","Fax":null,"Email":"hannah.schneider@yahoo.de","SupportRepId":5}
{"CustomerId":37,"FirstName":"Fynn","LastName":"Zimmermann","Company":null,"Address":"Berger Straße 10","City":"Frankfurt","State":null,"Country":"Germany","PostalCode":"60316","Phone":"+49 069 40598889","Fax":null,"Email":"fzimmermann@yahoo.de","SupportRepId":3}
{"CustomerId":38,"FirstName":"Niklas","LastName":"Schröder","Company":null,"Address":"Barbarossastraße 19","City":"Berlin","State":null,"Country":"Germany","PostalCode":"10779","Phone":"+49 030 2141444","Fax":null,"Email":"nschroder@surfeu.de","SupportRepId":3}
{"CustomerId":39,"FirstName":"Camille","LastName":"Bernard","Company":null,"Address":"4, Rue Milton","City":"Paris","State":null,"Country":"France","PostalCode":"75009","Phone":"+33 01 49 70 65 65","Fax":null,"Email":"camille.bernard@yahoo.fr","SupportRepId":4}
{"CustomerId":40,"FirstName":"Dominique","LastName":"Lefebvre","Company":null,"Address":"8, Rue Hanovre","City":"Paris","State":null,"Country":"France","PostalCode":"75002","Phone":"+33 01 47 42 71 71","Fax":null,"Email":"dominiquelefebvre@gmail.com","SupportRepId":4}
{"CustomerId":41,"FirstName":"Marc","LastName":"Dubois","Company":null,"Address":"11, Place Bellecour","City":"Lyon","State":null,"Country":"France","PostalCode":"69002","Phone":"+33 04 78 30 30 30","Fax":null,"Email":"marc.dubois@hotmail.com","SupportRepId":5}
{"CustomerId":42,"FirstName":"Wyatt","LastName":"Girard","Company":null,"Address":"9, Place Louis Barthou","City":"Bordeaux","State":null,"Country":"France","PostalCode":"33000","Phone":"+33 05 56 96 96 96","Fax":null,"Email":"wyatt.girard@yahoo.fr","SupportRepId":3}
{"CustomerId":43,"FirstName":"Isabelle","LastName":"Mercier","Company":null,"Address":"68, Rue Jouvence","City":"Dijon","State":null,"Country":"France","PostalCode":"21000","Phone":"+33 03 80 73 66 99","Fax":null,"Email":"isabelle_mercier@apple.fr","SupportRepId":3}
{"CustomerId":44,"FirstName":"Terhi","LastName":"Hämäläinen","Company":null,"Address":"Porthaninkatu 9","City":"Helsinki","State":null,"Country":"Finland","PostalCode":"00530","Phone":"+358 09 870 2000","Fax":null,"Email":"terhi.hamalainen@apple.fi","SupportRepId":3}
{"CustomerId":45,"FirstName":"Ladislav","LastName":"Kovács","Company":null,"Address":"Erzsébet krt. 58.","City":"Budapest","State":null,"Country":"Hungary","PostalCode":"H-1073","Phone":null,"Fax":null,"Email":"ladislav_kovacs@apple.hu","SupportRepId":3}
{"CustomerId":46,"FirstName":"Hugh","LastName":"O'Reilly","Company":null,"Address":"3 Chatham Street","City":"Dublin","State":"Dublin","Country":"Ireland","PostalCode":null,"Phone":"+353 01 6792424","Fax":null,"Email":"hughoreilly@apple.ie","SupportRepId":3}
{"CustomerId":47,"FirstName":"Lucas","LastName":"Mancini","Company":null,"Address":"Via Degli Scipioni, 43","City":"Rome","State":"RM","Country":"Italy","PostalCode":"00192","Phone":"+39 06 39733434","Fax":null,"Email":"lucas.mancini@yahoo.it","SupportRepId":5}
{"CustomerId":48,"FirstName":"Johannes","LastName":"Van der Berg","Company":null,"Address":"Lijnbaansgracht 120bg","City":"Amsterdam","State":"VV","Country":"Netherlands","PostalCode":"1016","Phone":"+31 020 6223130","Fax":null,"Email":"johavanderberg@yahoo.nl","SupportRepId":5}
{"CustomerId":49,"FirstName":"Stanislaw","LastName":"Wójcik","Company":null,"Address":"Ordynacka 10","City":"Warsaw","State":null,"Country":"Poland","PostalCode":"00-358","Phone":"+48 22 828 37 39","Fax":null,"Email":"stanislaw.wójcik@wp.pl","SupportRepId":4}
{"CustomerId":50,"FirstName":"Enrique","LastName":"Muńoz","Company":null,"Address":"C/ San Bernardo 85","City":"Madrid","State":null,"Country":"Spain","PostalCode":"28015","Phone":"+34 914 454 454","Fax":null,"Email":"enrique_munoz@yahoo.es","SupportRepId":5}
{"CustomerId":51,"FirstName":"Joakim","LastName":"Johansson","Company":null,"Address":"Celsiusg. 9","City":"Stockholm","State":null,"Country":"Sweden","PostalCode":"11230","Phone":"+46 08-651 52 52","Fax":null,"Email":"joakim.johansson@yahoo.se","SupportRepId":5}
{"CustomerId":52,"FirstName":"Emma","LastName":"Jones","Company":null,"Address":"202 Hoxton Street","City":"London","State":null,"Country":"United Kingdom","PostalCode":"N1 5LH","Phone":"+44 020 7707 0707","Fax":null,"Email":"emma_jones@hotmail.com","SupportRepId":3}
{"CustomerId":53,"FirstName":"Phil","LastName":"Hughes","Company":null,"Address":"113 Lupus St","City":"London","State":null,"Country":"United Kingdom","PostalCode":"SW1V 3EN","Phone":"+44 020 7976 5722","Fax":null,"Email":"phil.hughes@gmail.com","SupportRepId":3}
{"CustomerId":54,"FirstName":"Steve","LastName":"Murray","Company":null,"Address":"110 Raeburn Pl","City":"Edinburgh","State":null,"Country":"United Kingdom","PostalCode":"EH4 1HH","Phone":"+44 0131 315 3300","Fax":null,"Email":"steve.murray@yahoo.uk","SupportRepId":5}
{"CustomerId":55,"FirstName":"Mark","LastName":"Taylor","Company":null,"Address":"421 Bourke Street","City":"Sidney","State":"NSW","Country":"Australia","PostalCode":"2010","Phone":"+61 (02) 9332 3633","Fax":null,"Email":"mark.taylor@yahoo.au","SupportRepId":4}
{"CustomerId":56,"FirstName":"Diego","LastName":"Gutiérrez","Company":null,"Address":"307 Macacha Güemes","City":"Buenos Aires","State":null,"Country":"Argentina","PostalCode":"1106","Phone":"+54 (0)11 4311 4333","Fax":null,"Email":"diego.gutierrez@yahoo.ar","SupportRepId":4}
{"CustomerId":57,"FirstName":"Luis","LastName":"Rojas","Company":null,"Address":"Calle Lira, 198","City":"Santiago","State":null,"Country":"Chile","PostalCode":null,"Phone":"+56 (0)2 635 4444","Fax":null,"Email":"luisrojas@yahoo.cl","SupportRepId":5}
{"CustomerId":58,"FirstName":"Manoj","LastName":"Pareek","Company":null,"Address":"12,Community Centre","City":"Delhi","State":null,"Country":"India","PostalCode":"110017","Phone":"+91 0124 39883988","Fax":null,"Email":"manoj.pareek@rediff.com","SupportRepId":3}
{"CustomerId":59,"FirstName":"Puja","LastName":"Srivastava","Company":null,"Address":"3,Raj Bhavan Road","City":"Bangalore","State":null,"Country":"India","PostalCode":"560001","Phone":"+91 080 22289999","Fax":null,"Email":"puja_srivastava@yahoo.in","SupportRepId":3}

View File

@@ -0,0 +1,8 @@
{"EmployeeId":1,"LastName":"Adams","FirstName":"Andrew","Title":"General Manager","ReportsTo":null,"BirthDate":"1962-02-17T23:00:00.000Z","HireDate":"2002-08-13T22:00:00.000Z","Address":"11120 Jasper Ave NW","City":"Edmonton","State":"AB","Country":"Canada","PostalCode":"T5K 2N1","Phone":"+1 (780) 428-9482","Fax":"+1 (780) 428-3457","Email":"andrew@chinookcorp.com"}
{"EmployeeId":2,"LastName":"Edwards","FirstName":"Nancy","Title":"Sales Manager","ReportsTo":1,"BirthDate":"1958-12-07T23:00:00.000Z","HireDate":"2002-04-30T22:00:00.000Z","Address":"825 8 Ave SW","City":"Calgary","State":"AB","Country":"Canada","PostalCode":"T2P 2T3","Phone":"+1 (403) 262-3443","Fax":"+1 (403) 262-3322","Email":"nancy@chinookcorp.com"}
{"EmployeeId":3,"LastName":"Peacock","FirstName":"Jane","Title":"Sales Support Agent","ReportsTo":2,"BirthDate":"1973-08-28T23:00:00.000Z","HireDate":"2002-03-31T22:00:00.000Z","Address":"1111 6 Ave SW","City":"Calgary","State":"AB","Country":"Canada","PostalCode":"T2P 5M5","Phone":"+1 (403) 262-3443","Fax":"+1 (403) 262-6712","Email":"jane@chinookcorp.com"}
{"EmployeeId":4,"LastName":"Park","FirstName":"Margaret","Title":"Sales Support Agent","ReportsTo":2,"BirthDate":"1947-09-18T22:00:00.000Z","HireDate":"2003-05-02T22:00:00.000Z","Address":"683 10 Street SW","City":"Calgary","State":"AB","Country":"Canada","PostalCode":"T2P 5G3","Phone":"+1 (403) 263-4423","Fax":"+1 (403) 263-4289","Email":"margaret@chinookcorp.com"}
{"EmployeeId":5,"LastName":"Johnson","FirstName":"Steve","Title":"Sales Support Agent","ReportsTo":2,"BirthDate":"1965-03-02T23:00:00.000Z","HireDate":"2003-10-16T22:00:00.000Z","Address":"7727B 41 Ave","City":"Calgary","State":"AB","Country":"Canada","PostalCode":"T3B 1Y7","Phone":"1 (780) 836-9987","Fax":"1 (780) 836-9543","Email":"steve@chinookcorp.com"}
{"EmployeeId":6,"LastName":"Mitchell","FirstName":"Michael","Title":"IT Manager","ReportsTo":1,"BirthDate":"1973-06-30T23:00:00.000Z","HireDate":"2003-10-16T22:00:00.000Z","Address":"5827 Bowness Road NW","City":"Calgary","State":"AB","Country":"Canada","PostalCode":"T3B 0C5","Phone":"+1 (403) 246-9887","Fax":"+1 (403) 246-9899","Email":"michael@chinookcorp.com"}
{"EmployeeId":7,"LastName":"King","FirstName":"Robert","Title":"IT Staff","ReportsTo":6,"BirthDate":"1970-05-28T23:00:00.000Z","HireDate":"2004-01-01T23:00:00.000Z","Address":"590 Columbia Boulevard West","City":"Lethbridge","State":"AB","Country":"Canada","PostalCode":"T1K 5N8","Phone":"+1 (403) 456-9986","Fax":"+1 (403) 456-8485","Email":"robert@chinookcorp.com"}
{"EmployeeId":8,"LastName":"Callahan","FirstName":"Laura","Title":"IT Staff","ReportsTo":6,"BirthDate":"1968-01-08T23:00:00.000Z","HireDate":"2004-03-03T23:00:00.000Z","Address":"923 7 ST NW","City":"Lethbridge","State":"AB","Country":"Canada","PostalCode":"T1H 1Y8","Phone":"+1 (403) 467-3351","Fax":"+1 (403) 467-8772","Email":"laura@chinookcorp.com"}

View File

@@ -0,0 +1,25 @@
{"GenreId":1,"Name":"Rock"}
{"GenreId":2,"Name":"Jazz"}
{"GenreId":3,"Name":"Metal"}
{"GenreId":4,"Name":"Alternative & Punk"}
{"GenreId":5,"Name":"Rock And Roll"}
{"GenreId":6,"Name":"Blues"}
{"GenreId":7,"Name":"Latin"}
{"GenreId":8,"Name":"Reggae"}
{"GenreId":9,"Name":"Pop"}
{"GenreId":10,"Name":"Soundtrack"}
{"GenreId":11,"Name":"Bossa Nova"}
{"GenreId":12,"Name":"Easy Listening"}
{"GenreId":13,"Name":"Heavy Metal"}
{"GenreId":14,"Name":"R&B/Soul"}
{"GenreId":15,"Name":"Electronica/Dance"}
{"GenreId":16,"Name":"World"}
{"GenreId":17,"Name":"Hip Hop/Rap"}
{"GenreId":18,"Name":"Science Fiction"}
{"GenreId":19,"Name":"TV Shows"}
{"GenreId":20,"Name":"Sci Fi & Fantasy"}
{"GenreId":21,"Name":"Drama"}
{"GenreId":22,"Name":"Comedy"}
{"GenreId":23,"Name":"Alternative"}
{"GenreId":24,"Name":"Classical"}
{"GenreId":25,"Name":"Opera"}

View File

@@ -0,0 +1,412 @@
{"InvoiceId":1,"CustomerId":2,"InvoiceDate":"2008-12-31T23:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"1.98"}
{"InvoiceId":2,"CustomerId":4,"InvoiceDate":"2009-01-01T23:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"3.96"}
{"InvoiceId":3,"CustomerId":8,"InvoiceDate":"2009-01-02T23:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"5.94"}
{"InvoiceId":4,"CustomerId":14,"InvoiceDate":"2009-01-05T23:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"8.91"}
{"InvoiceId":5,"CustomerId":23,"InvoiceDate":"2009-01-10T23:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"13.86"}
{"InvoiceId":6,"CustomerId":37,"InvoiceDate":"2009-01-18T23:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"0.99"}
{"InvoiceId":7,"CustomerId":38,"InvoiceDate":"2009-01-31T23:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"1.98"}
{"InvoiceId":8,"CustomerId":40,"InvoiceDate":"2009-01-31T23:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"1.98"}
{"InvoiceId":9,"CustomerId":42,"InvoiceDate":"2009-02-01T23:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"3.96"}
{"InvoiceId":10,"CustomerId":46,"InvoiceDate":"2009-02-02T23:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"5.94"}
{"InvoiceId":11,"CustomerId":52,"InvoiceDate":"2009-02-05T23:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"8.91"}
{"InvoiceId":12,"CustomerId":2,"InvoiceDate":"2009-02-10T23:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"13.86"}
{"InvoiceId":13,"CustomerId":16,"InvoiceDate":"2009-02-18T23:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"0.99"}
{"InvoiceId":14,"CustomerId":17,"InvoiceDate":"2009-03-03T23:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"1.98"}
{"InvoiceId":15,"CustomerId":19,"InvoiceDate":"2009-03-03T23:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"1.98"}
{"InvoiceId":16,"CustomerId":21,"InvoiceDate":"2009-03-04T23:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"3.96"}
{"InvoiceId":17,"CustomerId":25,"InvoiceDate":"2009-03-05T23:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"5.94"}
{"InvoiceId":18,"CustomerId":31,"InvoiceDate":"2009-03-08T23:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"8.91"}
{"InvoiceId":19,"CustomerId":40,"InvoiceDate":"2009-03-13T23:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"13.86"}
{"InvoiceId":20,"CustomerId":54,"InvoiceDate":"2009-03-21T23:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"0.99"}
{"InvoiceId":21,"CustomerId":55,"InvoiceDate":"2009-04-03T22:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"1.98"}
{"InvoiceId":22,"CustomerId":57,"InvoiceDate":"2009-04-03T22:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":23,"CustomerId":59,"InvoiceDate":"2009-04-04T22:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"3.96"}
{"InvoiceId":24,"CustomerId":4,"InvoiceDate":"2009-04-05T22:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"5.94"}
{"InvoiceId":25,"CustomerId":10,"InvoiceDate":"2009-04-08T22:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"8.91"}
{"InvoiceId":26,"CustomerId":19,"InvoiceDate":"2009-04-13T22:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"13.86"}
{"InvoiceId":27,"CustomerId":33,"InvoiceDate":"2009-04-21T22:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"0.99"}
{"InvoiceId":28,"CustomerId":34,"InvoiceDate":"2009-05-04T22:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":29,"CustomerId":36,"InvoiceDate":"2009-05-04T22:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"1.98"}
{"InvoiceId":30,"CustomerId":38,"InvoiceDate":"2009-05-05T22:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"3.96"}
{"InvoiceId":31,"CustomerId":42,"InvoiceDate":"2009-05-06T22:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"5.94"}
{"InvoiceId":32,"CustomerId":48,"InvoiceDate":"2009-05-09T22:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"8.91"}
{"InvoiceId":33,"CustomerId":57,"InvoiceDate":"2009-05-14T22:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"13.86"}
{"InvoiceId":34,"CustomerId":12,"InvoiceDate":"2009-05-22T22:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"0.99"}
{"InvoiceId":35,"CustomerId":13,"InvoiceDate":"2009-06-04T22:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"1.98"}
{"InvoiceId":36,"CustomerId":15,"InvoiceDate":"2009-06-04T22:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"1.98"}
{"InvoiceId":37,"CustomerId":17,"InvoiceDate":"2009-06-05T22:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"3.96"}
{"InvoiceId":38,"CustomerId":21,"InvoiceDate":"2009-06-06T22:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"5.94"}
{"InvoiceId":39,"CustomerId":27,"InvoiceDate":"2009-06-09T22:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"8.91"}
{"InvoiceId":40,"CustomerId":36,"InvoiceDate":"2009-06-14T22:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"13.86"}
{"InvoiceId":41,"CustomerId":50,"InvoiceDate":"2009-06-22T22:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"0.99"}
{"InvoiceId":42,"CustomerId":51,"InvoiceDate":"2009-07-05T22:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"1.98"}
{"InvoiceId":43,"CustomerId":53,"InvoiceDate":"2009-07-05T22:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"1.98"}
{"InvoiceId":44,"CustomerId":55,"InvoiceDate":"2009-07-06T22:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"3.96"}
{"InvoiceId":45,"CustomerId":59,"InvoiceDate":"2009-07-07T22:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"5.94"}
{"InvoiceId":46,"CustomerId":6,"InvoiceDate":"2009-07-10T22:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"8.91"}
{"InvoiceId":47,"CustomerId":15,"InvoiceDate":"2009-07-15T22:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"13.86"}
{"InvoiceId":48,"CustomerId":29,"InvoiceDate":"2009-07-23T22:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"0.99"}
{"InvoiceId":49,"CustomerId":30,"InvoiceDate":"2009-08-05T22:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"1.98"}
{"InvoiceId":50,"CustomerId":32,"InvoiceDate":"2009-08-05T22:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"1.98"}
{"InvoiceId":51,"CustomerId":34,"InvoiceDate":"2009-08-06T22:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"3.96"}
{"InvoiceId":52,"CustomerId":38,"InvoiceDate":"2009-08-07T22:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"5.94"}
{"InvoiceId":53,"CustomerId":44,"InvoiceDate":"2009-08-10T22:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"8.91"}
{"InvoiceId":54,"CustomerId":53,"InvoiceDate":"2009-08-15T22:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"13.86"}
{"InvoiceId":55,"CustomerId":8,"InvoiceDate":"2009-08-23T22:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"0.99"}
{"InvoiceId":56,"CustomerId":9,"InvoiceDate":"2009-09-05T22:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"1.98"}
{"InvoiceId":57,"CustomerId":11,"InvoiceDate":"2009-09-05T22:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"1.98"}
{"InvoiceId":58,"CustomerId":13,"InvoiceDate":"2009-09-06T22:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"3.96"}
{"InvoiceId":59,"CustomerId":17,"InvoiceDate":"2009-09-07T22:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"5.94"}
{"InvoiceId":60,"CustomerId":23,"InvoiceDate":"2009-09-10T22:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"8.91"}
{"InvoiceId":61,"CustomerId":32,"InvoiceDate":"2009-09-15T22:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"13.86"}
{"InvoiceId":62,"CustomerId":46,"InvoiceDate":"2009-09-23T22:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"0.99"}
{"InvoiceId":63,"CustomerId":47,"InvoiceDate":"2009-10-06T22:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"1.98"}
{"InvoiceId":64,"CustomerId":49,"InvoiceDate":"2009-10-06T22:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"1.98"}
{"InvoiceId":65,"CustomerId":51,"InvoiceDate":"2009-10-07T22:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"3.96"}
{"InvoiceId":66,"CustomerId":55,"InvoiceDate":"2009-10-08T22:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"5.94"}
{"InvoiceId":67,"CustomerId":2,"InvoiceDate":"2009-10-11T22:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"8.91"}
{"InvoiceId":68,"CustomerId":11,"InvoiceDate":"2009-10-16T22:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"13.86"}
{"InvoiceId":69,"CustomerId":25,"InvoiceDate":"2009-10-24T22:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"0.99"}
{"InvoiceId":70,"CustomerId":26,"InvoiceDate":"2009-11-06T23:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"1.98"}
{"InvoiceId":71,"CustomerId":28,"InvoiceDate":"2009-11-06T23:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"1.98"}
{"InvoiceId":72,"CustomerId":30,"InvoiceDate":"2009-11-07T23:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"3.96"}
{"InvoiceId":73,"CustomerId":34,"InvoiceDate":"2009-11-08T23:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"5.94"}
{"InvoiceId":74,"CustomerId":40,"InvoiceDate":"2009-11-11T23:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"8.91"}
{"InvoiceId":75,"CustomerId":49,"InvoiceDate":"2009-11-16T23:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"13.86"}
{"InvoiceId":76,"CustomerId":4,"InvoiceDate":"2009-11-24T23:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"0.99"}
{"InvoiceId":77,"CustomerId":5,"InvoiceDate":"2009-12-07T23:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"1.98"}
{"InvoiceId":78,"CustomerId":7,"InvoiceDate":"2009-12-07T23:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"1.98"}
{"InvoiceId":79,"CustomerId":9,"InvoiceDate":"2009-12-08T23:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"3.96"}
{"InvoiceId":80,"CustomerId":13,"InvoiceDate":"2009-12-09T23:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"5.94"}
{"InvoiceId":81,"CustomerId":19,"InvoiceDate":"2009-12-12T23:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"8.91"}
{"InvoiceId":82,"CustomerId":28,"InvoiceDate":"2009-12-17T23:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"13.86"}
{"InvoiceId":83,"CustomerId":42,"InvoiceDate":"2009-12-25T23:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"0.99"}
{"InvoiceId":84,"CustomerId":43,"InvoiceDate":"2010-01-07T23:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"1.98"}
{"InvoiceId":85,"CustomerId":45,"InvoiceDate":"2010-01-07T23:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"1.98"}
{"InvoiceId":86,"CustomerId":47,"InvoiceDate":"2010-01-08T23:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"3.96"}
{"InvoiceId":87,"CustomerId":51,"InvoiceDate":"2010-01-09T23:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"6.94"}
{"InvoiceId":88,"CustomerId":57,"InvoiceDate":"2010-01-12T23:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"17.91"}
{"InvoiceId":89,"CustomerId":7,"InvoiceDate":"2010-01-17T23:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"18.86"}
{"InvoiceId":90,"CustomerId":21,"InvoiceDate":"2010-01-25T23:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"0.99"}
{"InvoiceId":91,"CustomerId":22,"InvoiceDate":"2010-02-07T23:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"1.98"}
{"InvoiceId":92,"CustomerId":24,"InvoiceDate":"2010-02-07T23:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"1.98"}
{"InvoiceId":93,"CustomerId":26,"InvoiceDate":"2010-02-08T23:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"3.96"}
{"InvoiceId":94,"CustomerId":30,"InvoiceDate":"2010-02-09T23:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"5.94"}
{"InvoiceId":95,"CustomerId":36,"InvoiceDate":"2010-02-12T23:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"8.91"}
{"InvoiceId":96,"CustomerId":45,"InvoiceDate":"2010-02-17T23:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"21.86"}
{"InvoiceId":97,"CustomerId":59,"InvoiceDate":"2010-02-25T23:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"1.99"}
{"InvoiceId":98,"CustomerId":1,"InvoiceDate":"2010-03-10T23:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"3.98"}
{"InvoiceId":99,"CustomerId":3,"InvoiceDate":"2010-03-10T23:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"3.98"}
{"InvoiceId":100,"CustomerId":5,"InvoiceDate":"2010-03-11T23:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"3.96"}
{"InvoiceId":101,"CustomerId":9,"InvoiceDate":"2010-03-12T23:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"5.94"}
{"InvoiceId":102,"CustomerId":15,"InvoiceDate":"2010-03-15T23:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"9.91"}
{"InvoiceId":103,"CustomerId":24,"InvoiceDate":"2010-03-20T23:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"15.86"}
{"InvoiceId":104,"CustomerId":38,"InvoiceDate":"2010-03-28T22:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"0.99"}
{"InvoiceId":105,"CustomerId":39,"InvoiceDate":"2010-04-10T22:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"1.98"}
{"InvoiceId":106,"CustomerId":41,"InvoiceDate":"2010-04-10T22:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"1.98"}
{"InvoiceId":107,"CustomerId":43,"InvoiceDate":"2010-04-11T22:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"3.96"}
{"InvoiceId":108,"CustomerId":47,"InvoiceDate":"2010-04-12T22:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"5.94"}
{"InvoiceId":109,"CustomerId":53,"InvoiceDate":"2010-04-15T22:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"8.91"}
{"InvoiceId":110,"CustomerId":3,"InvoiceDate":"2010-04-20T22:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"13.86"}
{"InvoiceId":111,"CustomerId":17,"InvoiceDate":"2010-04-28T22:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"0.99"}
{"InvoiceId":112,"CustomerId":18,"InvoiceDate":"2010-05-11T22:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"1.98"}
{"InvoiceId":113,"CustomerId":20,"InvoiceDate":"2010-05-11T22:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"1.98"}
{"InvoiceId":114,"CustomerId":22,"InvoiceDate":"2010-05-12T22:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"3.96"}
{"InvoiceId":115,"CustomerId":26,"InvoiceDate":"2010-05-13T22:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"5.94"}
{"InvoiceId":116,"CustomerId":32,"InvoiceDate":"2010-05-16T22:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"8.91"}
{"InvoiceId":117,"CustomerId":41,"InvoiceDate":"2010-05-21T22:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"13.86"}
{"InvoiceId":118,"CustomerId":55,"InvoiceDate":"2010-05-29T22:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"0.99"}
{"InvoiceId":119,"CustomerId":56,"InvoiceDate":"2010-06-11T22:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"1.98"}
{"InvoiceId":120,"CustomerId":58,"InvoiceDate":"2010-06-11T22:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"1.98"}
{"InvoiceId":121,"CustomerId":1,"InvoiceDate":"2010-06-12T22:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"3.96"}
{"InvoiceId":122,"CustomerId":5,"InvoiceDate":"2010-06-13T22:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"5.94"}
{"InvoiceId":123,"CustomerId":11,"InvoiceDate":"2010-06-16T22:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"8.91"}
{"InvoiceId":124,"CustomerId":20,"InvoiceDate":"2010-06-21T22:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"13.86"}
{"InvoiceId":125,"CustomerId":34,"InvoiceDate":"2010-06-29T22:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"0.99"}
{"InvoiceId":126,"CustomerId":35,"InvoiceDate":"2010-07-12T22:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":127,"CustomerId":37,"InvoiceDate":"2010-07-12T22:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"1.98"}
{"InvoiceId":128,"CustomerId":39,"InvoiceDate":"2010-07-13T22:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"3.96"}
{"InvoiceId":129,"CustomerId":43,"InvoiceDate":"2010-07-14T22:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"5.94"}
{"InvoiceId":130,"CustomerId":49,"InvoiceDate":"2010-07-17T22:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"8.91"}
{"InvoiceId":131,"CustomerId":58,"InvoiceDate":"2010-07-22T22:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"13.86"}
{"InvoiceId":132,"CustomerId":13,"InvoiceDate":"2010-07-30T22:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"0.99"}
{"InvoiceId":133,"CustomerId":14,"InvoiceDate":"2010-08-12T22:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"1.98"}
{"InvoiceId":134,"CustomerId":16,"InvoiceDate":"2010-08-12T22:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"1.98"}
{"InvoiceId":135,"CustomerId":18,"InvoiceDate":"2010-08-13T22:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"3.96"}
{"InvoiceId":136,"CustomerId":22,"InvoiceDate":"2010-08-14T22:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"5.94"}
{"InvoiceId":137,"CustomerId":28,"InvoiceDate":"2010-08-17T22:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"8.91"}
{"InvoiceId":138,"CustomerId":37,"InvoiceDate":"2010-08-22T22:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"13.86"}
{"InvoiceId":139,"CustomerId":51,"InvoiceDate":"2010-08-30T22:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"0.99"}
{"InvoiceId":140,"CustomerId":52,"InvoiceDate":"2010-09-12T22:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"1.98"}
{"InvoiceId":141,"CustomerId":54,"InvoiceDate":"2010-09-12T22:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"1.98"}
{"InvoiceId":142,"CustomerId":56,"InvoiceDate":"2010-09-13T22:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"3.96"}
{"InvoiceId":143,"CustomerId":1,"InvoiceDate":"2010-09-14T22:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"5.94"}
{"InvoiceId":144,"CustomerId":7,"InvoiceDate":"2010-09-17T22:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"8.91"}
{"InvoiceId":145,"CustomerId":16,"InvoiceDate":"2010-09-22T22:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"13.86"}
{"InvoiceId":146,"CustomerId":30,"InvoiceDate":"2010-09-30T22:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"0.99"}
{"InvoiceId":147,"CustomerId":31,"InvoiceDate":"2010-10-13T22:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"1.98"}
{"InvoiceId":148,"CustomerId":33,"InvoiceDate":"2010-10-13T22:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"1.98"}
{"InvoiceId":149,"CustomerId":35,"InvoiceDate":"2010-10-14T22:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"3.96"}
{"InvoiceId":150,"CustomerId":39,"InvoiceDate":"2010-10-15T22:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"5.94"}
{"InvoiceId":151,"CustomerId":45,"InvoiceDate":"2010-10-18T22:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"8.91"}
{"InvoiceId":152,"CustomerId":54,"InvoiceDate":"2010-10-23T22:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"13.86"}
{"InvoiceId":153,"CustomerId":9,"InvoiceDate":"2010-10-31T23:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"0.99"}
{"InvoiceId":154,"CustomerId":10,"InvoiceDate":"2010-11-13T23:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"1.98"}
{"InvoiceId":155,"CustomerId":12,"InvoiceDate":"2010-11-13T23:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"1.98"}
{"InvoiceId":156,"CustomerId":14,"InvoiceDate":"2010-11-14T23:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"3.96"}
{"InvoiceId":157,"CustomerId":18,"InvoiceDate":"2010-11-15T23:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"5.94"}
{"InvoiceId":158,"CustomerId":24,"InvoiceDate":"2010-11-18T23:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"8.91"}
{"InvoiceId":159,"CustomerId":33,"InvoiceDate":"2010-11-23T23:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"13.86"}
{"InvoiceId":160,"CustomerId":47,"InvoiceDate":"2010-12-01T23:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"0.99"}
{"InvoiceId":161,"CustomerId":48,"InvoiceDate":"2010-12-14T23:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"1.98"}
{"InvoiceId":162,"CustomerId":50,"InvoiceDate":"2010-12-14T23:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"1.98"}
{"InvoiceId":163,"CustomerId":52,"InvoiceDate":"2010-12-15T23:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"3.96"}
{"InvoiceId":164,"CustomerId":56,"InvoiceDate":"2010-12-16T23:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"5.94"}
{"InvoiceId":165,"CustomerId":3,"InvoiceDate":"2010-12-19T23:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"8.91"}
{"InvoiceId":166,"CustomerId":12,"InvoiceDate":"2010-12-24T23:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"13.86"}
{"InvoiceId":167,"CustomerId":26,"InvoiceDate":"2011-01-01T23:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"0.99"}
{"InvoiceId":168,"CustomerId":27,"InvoiceDate":"2011-01-14T23:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"1.98"}
{"InvoiceId":169,"CustomerId":29,"InvoiceDate":"2011-01-14T23:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"1.98"}
{"InvoiceId":170,"CustomerId":31,"InvoiceDate":"2011-01-15T23:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"3.96"}
{"InvoiceId":171,"CustomerId":35,"InvoiceDate":"2011-01-16T23:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"5.94"}
{"InvoiceId":172,"CustomerId":41,"InvoiceDate":"2011-01-19T23:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"8.91"}
{"InvoiceId":173,"CustomerId":50,"InvoiceDate":"2011-01-24T23:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"13.86"}
{"InvoiceId":174,"CustomerId":5,"InvoiceDate":"2011-02-01T23:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"0.99"}
{"InvoiceId":175,"CustomerId":6,"InvoiceDate":"2011-02-14T23:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"1.98"}
{"InvoiceId":176,"CustomerId":8,"InvoiceDate":"2011-02-14T23:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"1.98"}
{"InvoiceId":177,"CustomerId":10,"InvoiceDate":"2011-02-15T23:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"3.96"}
{"InvoiceId":178,"CustomerId":14,"InvoiceDate":"2011-02-16T23:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"5.94"}
{"InvoiceId":179,"CustomerId":20,"InvoiceDate":"2011-02-19T23:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"8.91"}
{"InvoiceId":180,"CustomerId":29,"InvoiceDate":"2011-02-24T23:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"13.86"}
{"InvoiceId":181,"CustomerId":43,"InvoiceDate":"2011-03-04T23:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"0.99"}
{"InvoiceId":182,"CustomerId":44,"InvoiceDate":"2011-03-17T23:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"1.98"}
{"InvoiceId":183,"CustomerId":46,"InvoiceDate":"2011-03-17T23:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":184,"CustomerId":48,"InvoiceDate":"2011-03-18T23:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"3.96"}
{"InvoiceId":185,"CustomerId":52,"InvoiceDate":"2011-03-19T23:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"5.94"}
{"InvoiceId":186,"CustomerId":58,"InvoiceDate":"2011-03-22T23:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"8.91"}
{"InvoiceId":187,"CustomerId":8,"InvoiceDate":"2011-03-27T22:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"13.86"}
{"InvoiceId":188,"CustomerId":22,"InvoiceDate":"2011-04-04T22:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"0.99"}
{"InvoiceId":189,"CustomerId":23,"InvoiceDate":"2011-04-17T22:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"1.98"}
{"InvoiceId":190,"CustomerId":25,"InvoiceDate":"2011-04-17T22:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"1.98"}
{"InvoiceId":191,"CustomerId":27,"InvoiceDate":"2011-04-18T22:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"3.96"}
{"InvoiceId":192,"CustomerId":31,"InvoiceDate":"2011-04-19T22:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"5.94"}
{"InvoiceId":193,"CustomerId":37,"InvoiceDate":"2011-04-22T22:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"14.91"}
{"InvoiceId":194,"CustomerId":46,"InvoiceDate":"2011-04-27T22:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"21.86"}
{"InvoiceId":195,"CustomerId":1,"InvoiceDate":"2011-05-05T22:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"0.99"}
{"InvoiceId":196,"CustomerId":2,"InvoiceDate":"2011-05-18T22:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"1.98"}
{"InvoiceId":197,"CustomerId":4,"InvoiceDate":"2011-05-18T22:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"1.98"}
{"InvoiceId":198,"CustomerId":6,"InvoiceDate":"2011-05-19T22:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"3.96"}
{"InvoiceId":199,"CustomerId":10,"InvoiceDate":"2011-05-20T22:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"5.94"}
{"InvoiceId":200,"CustomerId":16,"InvoiceDate":"2011-05-23T22:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"8.91"}
{"InvoiceId":201,"CustomerId":25,"InvoiceDate":"2011-05-28T22:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"18.86"}
{"InvoiceId":202,"CustomerId":39,"InvoiceDate":"2011-06-05T22:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"1.99"}
{"InvoiceId":203,"CustomerId":40,"InvoiceDate":"2011-06-18T22:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"2.98"}
{"InvoiceId":204,"CustomerId":42,"InvoiceDate":"2011-06-18T22:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"3.98"}
{"InvoiceId":205,"CustomerId":44,"InvoiceDate":"2011-06-19T22:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"7.96"}
{"InvoiceId":206,"CustomerId":48,"InvoiceDate":"2011-06-20T22:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"8.94"}
{"InvoiceId":207,"CustomerId":54,"InvoiceDate":"2011-06-23T22:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"8.91"}
{"InvoiceId":208,"CustomerId":4,"InvoiceDate":"2011-06-28T22:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"15.86"}
{"InvoiceId":209,"CustomerId":18,"InvoiceDate":"2011-07-06T22:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"0.99"}
{"InvoiceId":210,"CustomerId":19,"InvoiceDate":"2011-07-19T22:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"1.98"}
{"InvoiceId":211,"CustomerId":21,"InvoiceDate":"2011-07-19T22:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"1.98"}
{"InvoiceId":212,"CustomerId":23,"InvoiceDate":"2011-07-20T22:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"3.96"}
{"InvoiceId":213,"CustomerId":27,"InvoiceDate":"2011-07-21T22:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"5.94"}
{"InvoiceId":214,"CustomerId":33,"InvoiceDate":"2011-07-24T22:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"8.91"}
{"InvoiceId":215,"CustomerId":42,"InvoiceDate":"2011-07-29T22:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"13.86"}
{"InvoiceId":216,"CustomerId":56,"InvoiceDate":"2011-08-06T22:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"0.99"}
{"InvoiceId":217,"CustomerId":57,"InvoiceDate":"2011-08-19T22:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":218,"CustomerId":59,"InvoiceDate":"2011-08-19T22:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"1.98"}
{"InvoiceId":219,"CustomerId":2,"InvoiceDate":"2011-08-20T22:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"3.96"}
{"InvoiceId":220,"CustomerId":6,"InvoiceDate":"2011-08-21T22:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"5.94"}
{"InvoiceId":221,"CustomerId":12,"InvoiceDate":"2011-08-24T22:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"8.91"}
{"InvoiceId":222,"CustomerId":21,"InvoiceDate":"2011-08-29T22:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"13.86"}
{"InvoiceId":223,"CustomerId":35,"InvoiceDate":"2011-09-06T22:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"0.99"}
{"InvoiceId":224,"CustomerId":36,"InvoiceDate":"2011-09-19T22:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"1.98"}
{"InvoiceId":225,"CustomerId":38,"InvoiceDate":"2011-09-19T22:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"1.98"}
{"InvoiceId":226,"CustomerId":40,"InvoiceDate":"2011-09-20T22:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"3.96"}
{"InvoiceId":227,"CustomerId":44,"InvoiceDate":"2011-09-21T22:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"5.94"}
{"InvoiceId":228,"CustomerId":50,"InvoiceDate":"2011-09-24T22:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"8.91"}
{"InvoiceId":229,"CustomerId":59,"InvoiceDate":"2011-09-29T22:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"13.86"}
{"InvoiceId":230,"CustomerId":14,"InvoiceDate":"2011-10-07T22:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"0.99"}
{"InvoiceId":231,"CustomerId":15,"InvoiceDate":"2011-10-20T22:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"1.98"}
{"InvoiceId":232,"CustomerId":17,"InvoiceDate":"2011-10-20T22:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"1.98"}
{"InvoiceId":233,"CustomerId":19,"InvoiceDate":"2011-10-21T22:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"3.96"}
{"InvoiceId":234,"CustomerId":23,"InvoiceDate":"2011-10-22T22:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"5.94"}
{"InvoiceId":235,"CustomerId":29,"InvoiceDate":"2011-10-25T22:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"8.91"}
{"InvoiceId":236,"CustomerId":38,"InvoiceDate":"2011-10-30T23:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"13.86"}
{"InvoiceId":237,"CustomerId":52,"InvoiceDate":"2011-11-07T23:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"0.99"}
{"InvoiceId":238,"CustomerId":53,"InvoiceDate":"2011-11-20T23:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"1.98"}
{"InvoiceId":239,"CustomerId":55,"InvoiceDate":"2011-11-20T23:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"1.98"}
{"InvoiceId":240,"CustomerId":57,"InvoiceDate":"2011-11-21T23:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"3.96"}
{"InvoiceId":241,"CustomerId":2,"InvoiceDate":"2011-11-22T23:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"5.94"}
{"InvoiceId":242,"CustomerId":8,"InvoiceDate":"2011-11-25T23:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"8.91"}
{"InvoiceId":243,"CustomerId":17,"InvoiceDate":"2011-11-30T23:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"13.86"}
{"InvoiceId":244,"CustomerId":31,"InvoiceDate":"2011-12-08T23:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"0.99"}
{"InvoiceId":245,"CustomerId":32,"InvoiceDate":"2011-12-21T23:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"1.98"}
{"InvoiceId":246,"CustomerId":34,"InvoiceDate":"2011-12-21T23:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":247,"CustomerId":36,"InvoiceDate":"2011-12-22T23:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"3.96"}
{"InvoiceId":248,"CustomerId":40,"InvoiceDate":"2011-12-23T23:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"5.94"}
{"InvoiceId":249,"CustomerId":46,"InvoiceDate":"2011-12-26T23:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"8.91"}
{"InvoiceId":250,"CustomerId":55,"InvoiceDate":"2011-12-31T23:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"13.86"}
{"InvoiceId":251,"CustomerId":10,"InvoiceDate":"2012-01-08T23:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"0.99"}
{"InvoiceId":252,"CustomerId":11,"InvoiceDate":"2012-01-21T23:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"1.98"}
{"InvoiceId":253,"CustomerId":13,"InvoiceDate":"2012-01-21T23:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"1.98"}
{"InvoiceId":254,"CustomerId":15,"InvoiceDate":"2012-01-22T23:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"3.96"}
{"InvoiceId":255,"CustomerId":19,"InvoiceDate":"2012-01-23T23:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"5.94"}
{"InvoiceId":256,"CustomerId":25,"InvoiceDate":"2012-01-26T23:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"8.91"}
{"InvoiceId":257,"CustomerId":34,"InvoiceDate":"2012-01-31T23:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"13.86"}
{"InvoiceId":258,"CustomerId":48,"InvoiceDate":"2012-02-08T23:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"0.99"}
{"InvoiceId":259,"CustomerId":49,"InvoiceDate":"2012-02-21T23:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"1.98"}
{"InvoiceId":260,"CustomerId":51,"InvoiceDate":"2012-02-21T23:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"1.98"}
{"InvoiceId":261,"CustomerId":53,"InvoiceDate":"2012-02-22T23:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"3.96"}
{"InvoiceId":262,"CustomerId":57,"InvoiceDate":"2012-02-23T23:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"5.94"}
{"InvoiceId":263,"CustomerId":4,"InvoiceDate":"2012-02-26T23:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"8.91"}
{"InvoiceId":264,"CustomerId":13,"InvoiceDate":"2012-03-02T23:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"13.86"}
{"InvoiceId":265,"CustomerId":27,"InvoiceDate":"2012-03-10T23:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"0.99"}
{"InvoiceId":266,"CustomerId":28,"InvoiceDate":"2012-03-23T23:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"1.98"}
{"InvoiceId":267,"CustomerId":30,"InvoiceDate":"2012-03-23T23:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"1.98"}
{"InvoiceId":268,"CustomerId":32,"InvoiceDate":"2012-03-24T23:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"3.96"}
{"InvoiceId":269,"CustomerId":36,"InvoiceDate":"2012-03-25T22:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"5.94"}
{"InvoiceId":270,"CustomerId":42,"InvoiceDate":"2012-03-28T22:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"8.91"}
{"InvoiceId":271,"CustomerId":51,"InvoiceDate":"2012-04-02T22:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"13.86"}
{"InvoiceId":272,"CustomerId":6,"InvoiceDate":"2012-04-10T22:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"0.99"}
{"InvoiceId":273,"CustomerId":7,"InvoiceDate":"2012-04-23T22:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"1.98"}
{"InvoiceId":274,"CustomerId":9,"InvoiceDate":"2012-04-23T22:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"1.98"}
{"InvoiceId":275,"CustomerId":11,"InvoiceDate":"2012-04-24T22:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"3.96"}
{"InvoiceId":276,"CustomerId":15,"InvoiceDate":"2012-04-25T22:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"5.94"}
{"InvoiceId":277,"CustomerId":21,"InvoiceDate":"2012-04-28T22:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"8.91"}
{"InvoiceId":278,"CustomerId":30,"InvoiceDate":"2012-05-03T22:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"13.86"}
{"InvoiceId":279,"CustomerId":44,"InvoiceDate":"2012-05-11T22:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"0.99"}
{"InvoiceId":280,"CustomerId":45,"InvoiceDate":"2012-05-24T22:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"1.98"}
{"InvoiceId":281,"CustomerId":47,"InvoiceDate":"2012-05-24T22:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"1.98"}
{"InvoiceId":282,"CustomerId":49,"InvoiceDate":"2012-05-25T22:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"3.96"}
{"InvoiceId":283,"CustomerId":53,"InvoiceDate":"2012-05-26T22:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"5.94"}
{"InvoiceId":284,"CustomerId":59,"InvoiceDate":"2012-05-29T22:00:00.000Z","BillingAddress":"3,Raj Bhavan Road","BillingCity":"Bangalore","BillingState":null,"BillingCountry":"India","BillingPostalCode":"560001","Total":"8.91"}
{"InvoiceId":285,"CustomerId":9,"InvoiceDate":"2012-06-03T22:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"13.86"}
{"InvoiceId":286,"CustomerId":23,"InvoiceDate":"2012-06-11T22:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"0.99"}
{"InvoiceId":287,"CustomerId":24,"InvoiceDate":"2012-06-24T22:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"1.98"}
{"InvoiceId":288,"CustomerId":26,"InvoiceDate":"2012-06-24T22:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"1.98"}
{"InvoiceId":289,"CustomerId":28,"InvoiceDate":"2012-06-25T22:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"3.96"}
{"InvoiceId":290,"CustomerId":32,"InvoiceDate":"2012-06-26T22:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"5.94"}
{"InvoiceId":291,"CustomerId":38,"InvoiceDate":"2012-06-29T22:00:00.000Z","BillingAddress":"Barbarossastraße 19","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10779","Total":"8.91"}
{"InvoiceId":292,"CustomerId":47,"InvoiceDate":"2012-07-04T22:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"13.86"}
{"InvoiceId":293,"CustomerId":2,"InvoiceDate":"2012-07-12T22:00:00.000Z","BillingAddress":"Theodor-Heuss-Straße 34","BillingCity":"Stuttgart","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"70174","Total":"0.99"}
{"InvoiceId":294,"CustomerId":3,"InvoiceDate":"2012-07-25T22:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"1.98"}
{"InvoiceId":295,"CustomerId":5,"InvoiceDate":"2012-07-25T22:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"1.98"}
{"InvoiceId":296,"CustomerId":7,"InvoiceDate":"2012-07-26T22:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"3.96"}
{"InvoiceId":297,"CustomerId":11,"InvoiceDate":"2012-07-27T22:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"5.94"}
{"InvoiceId":298,"CustomerId":17,"InvoiceDate":"2012-07-30T22:00:00.000Z","BillingAddress":"1 Microsoft Way","BillingCity":"Redmond","BillingState":"WA","BillingCountry":"USA","BillingPostalCode":"98052-8300","Total":"10.91"}
{"InvoiceId":299,"CustomerId":26,"InvoiceDate":"2012-08-04T22:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"23.86"}
{"InvoiceId":300,"CustomerId":40,"InvoiceDate":"2012-08-12T22:00:00.000Z","BillingAddress":"8, Rue Hanovre","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75002","Total":"0.99"}
{"InvoiceId":301,"CustomerId":41,"InvoiceDate":"2012-08-25T22:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"1.98"}
{"InvoiceId":302,"CustomerId":43,"InvoiceDate":"2012-08-25T22:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"1.98"}
{"InvoiceId":303,"CustomerId":45,"InvoiceDate":"2012-08-26T22:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"3.96"}
{"InvoiceId":304,"CustomerId":49,"InvoiceDate":"2012-08-27T22:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"5.94"}
{"InvoiceId":305,"CustomerId":55,"InvoiceDate":"2012-08-30T22:00:00.000Z","BillingAddress":"421 Bourke Street","BillingCity":"Sidney","BillingState":"NSW","BillingCountry":"Australia","BillingPostalCode":"2010","Total":"8.91"}
{"InvoiceId":306,"CustomerId":5,"InvoiceDate":"2012-09-04T22:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"16.86"}
{"InvoiceId":307,"CustomerId":19,"InvoiceDate":"2012-09-12T22:00:00.000Z","BillingAddress":"1 Infinite Loop","BillingCity":"Cupertino","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"95014","Total":"1.99"}
{"InvoiceId":308,"CustomerId":20,"InvoiceDate":"2012-09-25T22:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"3.98"}
{"InvoiceId":309,"CustomerId":22,"InvoiceDate":"2012-09-25T22:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"3.98"}
{"InvoiceId":310,"CustomerId":24,"InvoiceDate":"2012-09-26T22:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"7.96"}
{"InvoiceId":311,"CustomerId":28,"InvoiceDate":"2012-09-27T22:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"11.94"}
{"InvoiceId":312,"CustomerId":34,"InvoiceDate":"2012-09-30T22:00:00.000Z","BillingAddress":"Rua da Assunçăo 53","BillingCity":"Lisbon","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"10.91"}
{"InvoiceId":313,"CustomerId":43,"InvoiceDate":"2012-10-05T22:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"16.86"}
{"InvoiceId":314,"CustomerId":57,"InvoiceDate":"2012-10-13T22:00:00.000Z","BillingAddress":"Calle Lira, 198","BillingCity":"Santiago","BillingState":null,"BillingCountry":"Chile","BillingPostalCode":null,"Total":"0.99"}
{"InvoiceId":315,"CustomerId":58,"InvoiceDate":"2012-10-26T22:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"1.98"}
{"InvoiceId":316,"CustomerId":1,"InvoiceDate":"2012-10-26T22:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"1.98"}
{"InvoiceId":317,"CustomerId":3,"InvoiceDate":"2012-10-27T22:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"3.96"}
{"InvoiceId":318,"CustomerId":7,"InvoiceDate":"2012-10-28T23:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"5.94"}
{"InvoiceId":319,"CustomerId":13,"InvoiceDate":"2012-10-31T23:00:00.000Z","BillingAddress":"Qe 7 Bloco G","BillingCity":"Brasília","BillingState":"DF","BillingCountry":"Brazil","BillingPostalCode":"71020-677","Total":"8.91"}
{"InvoiceId":320,"CustomerId":22,"InvoiceDate":"2012-11-05T23:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"13.86"}
{"InvoiceId":321,"CustomerId":36,"InvoiceDate":"2012-11-13T23:00:00.000Z","BillingAddress":"Tauentzienstraße 8","BillingCity":"Berlin","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"10789","Total":"0.99"}
{"InvoiceId":322,"CustomerId":37,"InvoiceDate":"2012-11-26T23:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"1.98"}
{"InvoiceId":323,"CustomerId":39,"InvoiceDate":"2012-11-26T23:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"1.98"}
{"InvoiceId":324,"CustomerId":41,"InvoiceDate":"2012-11-27T23:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"3.96"}
{"InvoiceId":325,"CustomerId":45,"InvoiceDate":"2012-11-28T23:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"5.94"}
{"InvoiceId":326,"CustomerId":51,"InvoiceDate":"2012-12-01T23:00:00.000Z","BillingAddress":"Celsiusg. 9","BillingCity":"Stockholm","BillingState":null,"BillingCountry":"Sweden","BillingPostalCode":"11230","Total":"8.91"}
{"InvoiceId":327,"CustomerId":1,"InvoiceDate":"2012-12-06T23:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"13.86"}
{"InvoiceId":328,"CustomerId":15,"InvoiceDate":"2012-12-14T23:00:00.000Z","BillingAddress":"700 W Pender Street","BillingCity":"Vancouver","BillingState":"BC","BillingCountry":"Canada","BillingPostalCode":"V6C 1G8","Total":"0.99"}
{"InvoiceId":329,"CustomerId":16,"InvoiceDate":"2012-12-27T23:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"1.98"}
{"InvoiceId":330,"CustomerId":18,"InvoiceDate":"2012-12-27T23:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"1.98"}
{"InvoiceId":331,"CustomerId":20,"InvoiceDate":"2012-12-28T23:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"3.96"}
{"InvoiceId":332,"CustomerId":24,"InvoiceDate":"2012-12-29T23:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"5.94"}
{"InvoiceId":333,"CustomerId":30,"InvoiceDate":"2013-01-01T23:00:00.000Z","BillingAddress":"230 Elgin Street","BillingCity":"Ottawa","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"K2P 1L7","Total":"8.91"}
{"InvoiceId":334,"CustomerId":39,"InvoiceDate":"2013-01-06T23:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"13.86"}
{"InvoiceId":335,"CustomerId":53,"InvoiceDate":"2013-01-14T23:00:00.000Z","BillingAddress":"113 Lupus St","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"SW1V 3EN","Total":"0.99"}
{"InvoiceId":336,"CustomerId":54,"InvoiceDate":"2013-01-27T23:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"1.98"}
{"InvoiceId":337,"CustomerId":56,"InvoiceDate":"2013-01-27T23:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"1.98"}
{"InvoiceId":338,"CustomerId":58,"InvoiceDate":"2013-01-28T23:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"3.96"}
{"InvoiceId":339,"CustomerId":3,"InvoiceDate":"2013-01-29T23:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"5.94"}
{"InvoiceId":340,"CustomerId":9,"InvoiceDate":"2013-02-01T23:00:00.000Z","BillingAddress":"Sřnder Boulevard 51","BillingCity":"Copenhagen","BillingState":null,"BillingCountry":"Denmark","BillingPostalCode":"1720","Total":"8.91"}
{"InvoiceId":341,"CustomerId":18,"InvoiceDate":"2013-02-06T23:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"13.86"}
{"InvoiceId":342,"CustomerId":32,"InvoiceDate":"2013-02-14T23:00:00.000Z","BillingAddress":"696 Osborne Street","BillingCity":"Winnipeg","BillingState":"MB","BillingCountry":"Canada","BillingPostalCode":"R3L 2B9","Total":"0.99"}
{"InvoiceId":343,"CustomerId":33,"InvoiceDate":"2013-02-27T23:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"1.98"}
{"InvoiceId":344,"CustomerId":35,"InvoiceDate":"2013-02-27T23:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":345,"CustomerId":37,"InvoiceDate":"2013-02-28T23:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"3.96"}
{"InvoiceId":346,"CustomerId":41,"InvoiceDate":"2013-03-01T23:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"5.94"}
{"InvoiceId":347,"CustomerId":47,"InvoiceDate":"2013-03-04T23:00:00.000Z","BillingAddress":"Via Degli Scipioni, 43","BillingCity":"Rome","BillingState":"RM","BillingCountry":"Italy","BillingPostalCode":"00192","Total":"8.91"}
{"InvoiceId":348,"CustomerId":56,"InvoiceDate":"2013-03-09T23:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"13.86"}
{"InvoiceId":349,"CustomerId":11,"InvoiceDate":"2013-03-17T23:00:00.000Z","BillingAddress":"Av. Paulista, 2022","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01310-200","Total":"0.99"}
{"InvoiceId":350,"CustomerId":12,"InvoiceDate":"2013-03-30T23:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"1.98"}
{"InvoiceId":351,"CustomerId":14,"InvoiceDate":"2013-03-30T23:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"1.98"}
{"InvoiceId":352,"CustomerId":16,"InvoiceDate":"2013-03-31T22:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"3.96"}
{"InvoiceId":353,"CustomerId":20,"InvoiceDate":"2013-04-01T22:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"5.94"}
{"InvoiceId":354,"CustomerId":26,"InvoiceDate":"2013-04-04T22:00:00.000Z","BillingAddress":"2211 W Berry Street","BillingCity":"Fort Worth","BillingState":"TX","BillingCountry":"USA","BillingPostalCode":"76110","Total":"8.91"}
{"InvoiceId":355,"CustomerId":35,"InvoiceDate":"2013-04-09T22:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"13.86"}
{"InvoiceId":356,"CustomerId":49,"InvoiceDate":"2013-04-17T22:00:00.000Z","BillingAddress":"Ordynacka 10","BillingCity":"Warsaw","BillingState":null,"BillingCountry":"Poland","BillingPostalCode":"00-358","Total":"0.99"}
{"InvoiceId":357,"CustomerId":50,"InvoiceDate":"2013-04-30T22:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"1.98"}
{"InvoiceId":358,"CustomerId":52,"InvoiceDate":"2013-04-30T22:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"1.98"}
{"InvoiceId":359,"CustomerId":54,"InvoiceDate":"2013-05-01T22:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"3.96"}
{"InvoiceId":360,"CustomerId":58,"InvoiceDate":"2013-05-02T22:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"5.94"}
{"InvoiceId":361,"CustomerId":5,"InvoiceDate":"2013-05-05T22:00:00.000Z","BillingAddress":"Klanova 9/506","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14700","Total":"8.91"}
{"InvoiceId":362,"CustomerId":14,"InvoiceDate":"2013-05-10T22:00:00.000Z","BillingAddress":"8210 111 ST NW","BillingCity":"Edmonton","BillingState":"AB","BillingCountry":"Canada","BillingPostalCode":"T6G 2C7","Total":"13.86"}
{"InvoiceId":363,"CustomerId":28,"InvoiceDate":"2013-05-18T22:00:00.000Z","BillingAddress":"302 S 700 E","BillingCity":"Salt Lake City","BillingState":"UT","BillingCountry":"USA","BillingPostalCode":"84102","Total":"0.99"}
{"InvoiceId":364,"CustomerId":29,"InvoiceDate":"2013-05-31T22:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"1.98"}
{"InvoiceId":365,"CustomerId":31,"InvoiceDate":"2013-05-31T22:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"1.98"}
{"InvoiceId":366,"CustomerId":33,"InvoiceDate":"2013-06-01T22:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"3.96"}
{"InvoiceId":367,"CustomerId":37,"InvoiceDate":"2013-06-02T22:00:00.000Z","BillingAddress":"Berger Straße 10","BillingCity":"Frankfurt","BillingState":null,"BillingCountry":"Germany","BillingPostalCode":"60316","Total":"5.94"}
{"InvoiceId":368,"CustomerId":43,"InvoiceDate":"2013-06-05T22:00:00.000Z","BillingAddress":"68, Rue Jouvence","BillingCity":"Dijon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"21000","Total":"8.91"}
{"InvoiceId":369,"CustomerId":52,"InvoiceDate":"2013-06-10T22:00:00.000Z","BillingAddress":"202 Hoxton Street","BillingCity":"London","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"N1 5LH","Total":"13.86"}
{"InvoiceId":370,"CustomerId":7,"InvoiceDate":"2013-06-18T22:00:00.000Z","BillingAddress":"Rotenturmstraße 4, 1010 Innere Stadt","BillingCity":"Vienne","BillingState":null,"BillingCountry":"Austria","BillingPostalCode":"1010","Total":"0.99"}
{"InvoiceId":371,"CustomerId":8,"InvoiceDate":"2013-07-01T22:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"1.98"}
{"InvoiceId":372,"CustomerId":10,"InvoiceDate":"2013-07-01T22:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"1.98"}
{"InvoiceId":373,"CustomerId":12,"InvoiceDate":"2013-07-02T22:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"3.96"}
{"InvoiceId":374,"CustomerId":16,"InvoiceDate":"2013-07-03T22:00:00.000Z","BillingAddress":"1600 Amphitheatre Parkway","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94043-1351","Total":"5.94"}
{"InvoiceId":375,"CustomerId":22,"InvoiceDate":"2013-07-06T22:00:00.000Z","BillingAddress":"120 S Orange Ave","BillingCity":"Orlando","BillingState":"FL","BillingCountry":"USA","BillingPostalCode":"32801","Total":"8.91"}
{"InvoiceId":376,"CustomerId":31,"InvoiceDate":"2013-07-11T22:00:00.000Z","BillingAddress":"194A Chain Lake Drive","BillingCity":"Halifax","BillingState":"NS","BillingCountry":"Canada","BillingPostalCode":"B3S 1C5","Total":"13.86"}
{"InvoiceId":377,"CustomerId":45,"InvoiceDate":"2013-07-19T22:00:00.000Z","BillingAddress":"Erzsébet krt. 58.","BillingCity":"Budapest","BillingState":null,"BillingCountry":"Hungary","BillingPostalCode":"H-1073","Total":"0.99"}
{"InvoiceId":378,"CustomerId":46,"InvoiceDate":"2013-08-01T22:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"1.98"}
{"InvoiceId":379,"CustomerId":48,"InvoiceDate":"2013-08-01T22:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"1.98"}
{"InvoiceId":380,"CustomerId":50,"InvoiceDate":"2013-08-02T22:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"3.96"}
{"InvoiceId":381,"CustomerId":54,"InvoiceDate":"2013-08-03T22:00:00.000Z","BillingAddress":"110 Raeburn Pl","BillingCity":"Edinburgh","BillingState":null,"BillingCountry":"United Kingdom","BillingPostalCode":"EH4 1HH","Total":"5.94"}
{"InvoiceId":382,"CustomerId":1,"InvoiceDate":"2013-08-06T22:00:00.000Z","BillingAddress":"Av. Brigadeiro Faria Lima, 2170","BillingCity":"Săo José dos Campos","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"12227-000","Total":"8.91"}
{"InvoiceId":383,"CustomerId":10,"InvoiceDate":"2013-08-11T22:00:00.000Z","BillingAddress":"Rua Dr. Falcăo Filho, 155","BillingCity":"Săo Paulo","BillingState":"SP","BillingCountry":"Brazil","BillingPostalCode":"01007-010","Total":"13.86"}
{"InvoiceId":384,"CustomerId":24,"InvoiceDate":"2013-08-19T22:00:00.000Z","BillingAddress":"162 E Superior Street","BillingCity":"Chicago","BillingState":"IL","BillingCountry":"USA","BillingPostalCode":"60611","Total":"0.99"}
{"InvoiceId":385,"CustomerId":25,"InvoiceDate":"2013-09-01T22:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"1.98"}
{"InvoiceId":386,"CustomerId":27,"InvoiceDate":"2013-09-01T22:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"1.98"}
{"InvoiceId":387,"CustomerId":29,"InvoiceDate":"2013-09-02T22:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"3.96"}
{"InvoiceId":388,"CustomerId":33,"InvoiceDate":"2013-09-03T22:00:00.000Z","BillingAddress":"5112 48 Street","BillingCity":"Yellowknife","BillingState":"NT","BillingCountry":"Canada","BillingPostalCode":"X1A 1N6","Total":"5.94"}
{"InvoiceId":389,"CustomerId":39,"InvoiceDate":"2013-09-06T22:00:00.000Z","BillingAddress":"4, Rue Milton","BillingCity":"Paris","BillingState":null,"BillingCountry":"France","BillingPostalCode":"75009","Total":"8.91"}
{"InvoiceId":390,"CustomerId":48,"InvoiceDate":"2013-09-11T22:00:00.000Z","BillingAddress":"Lijnbaansgracht 120bg","BillingCity":"Amsterdam","BillingState":"VV","BillingCountry":"Netherlands","BillingPostalCode":"1016","Total":"13.86"}
{"InvoiceId":391,"CustomerId":3,"InvoiceDate":"2013-09-19T22:00:00.000Z","BillingAddress":"1498 rue Bélanger","BillingCity":"Montréal","BillingState":"QC","BillingCountry":"Canada","BillingPostalCode":"H2G 1A7","Total":"0.99"}
{"InvoiceId":392,"CustomerId":4,"InvoiceDate":"2013-10-02T22:00:00.000Z","BillingAddress":"Ullevĺlsveien 14","BillingCity":"Oslo","BillingState":null,"BillingCountry":"Norway","BillingPostalCode":"0171","Total":"1.98"}
{"InvoiceId":393,"CustomerId":6,"InvoiceDate":"2013-10-02T22:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"1.98"}
{"InvoiceId":394,"CustomerId":8,"InvoiceDate":"2013-10-03T22:00:00.000Z","BillingAddress":"Grétrystraat 63","BillingCity":"Brussels","BillingState":null,"BillingCountry":"Belgium","BillingPostalCode":"1000","Total":"3.96"}
{"InvoiceId":395,"CustomerId":12,"InvoiceDate":"2013-10-04T22:00:00.000Z","BillingAddress":"Praça Pio X, 119","BillingCity":"Rio de Janeiro","BillingState":"RJ","BillingCountry":"Brazil","BillingPostalCode":"20040-020","Total":"5.94"}
{"InvoiceId":396,"CustomerId":18,"InvoiceDate":"2013-10-07T22:00:00.000Z","BillingAddress":"627 Broadway","BillingCity":"New York","BillingState":"NY","BillingCountry":"USA","BillingPostalCode":"10012-2612","Total":"8.91"}
{"InvoiceId":397,"CustomerId":27,"InvoiceDate":"2013-10-12T22:00:00.000Z","BillingAddress":"1033 N Park Ave","BillingCity":"Tucson","BillingState":"AZ","BillingCountry":"USA","BillingPostalCode":"85719","Total":"13.86"}
{"InvoiceId":398,"CustomerId":41,"InvoiceDate":"2013-10-20T22:00:00.000Z","BillingAddress":"11, Place Bellecour","BillingCity":"Lyon","BillingState":null,"BillingCountry":"France","BillingPostalCode":"69002","Total":"0.99"}
{"InvoiceId":399,"CustomerId":42,"InvoiceDate":"2013-11-02T23:00:00.000Z","BillingAddress":"9, Place Louis Barthou","BillingCity":"Bordeaux","BillingState":null,"BillingCountry":"France","BillingPostalCode":"33000","Total":"1.98"}
{"InvoiceId":400,"CustomerId":44,"InvoiceDate":"2013-11-02T23:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"1.98"}
{"InvoiceId":401,"CustomerId":46,"InvoiceDate":"2013-11-03T23:00:00.000Z","BillingAddress":"3 Chatham Street","BillingCity":"Dublin","BillingState":"Dublin","BillingCountry":"Ireland","BillingPostalCode":null,"Total":"3.96"}
{"InvoiceId":402,"CustomerId":50,"InvoiceDate":"2013-11-04T23:00:00.000Z","BillingAddress":"C/ San Bernardo 85","BillingCity":"Madrid","BillingState":null,"BillingCountry":"Spain","BillingPostalCode":"28015","Total":"5.94"}
{"InvoiceId":403,"CustomerId":56,"InvoiceDate":"2013-11-07T23:00:00.000Z","BillingAddress":"307 Macacha Güemes","BillingCity":"Buenos Aires","BillingState":null,"BillingCountry":"Argentina","BillingPostalCode":"1106","Total":"8.91"}
{"InvoiceId":404,"CustomerId":6,"InvoiceDate":"2013-11-12T23:00:00.000Z","BillingAddress":"Rilská 3174/6","BillingCity":"Prague","BillingState":null,"BillingCountry":"Czech Republic","BillingPostalCode":"14300","Total":"25.86"}
{"InvoiceId":405,"CustomerId":20,"InvoiceDate":"2013-11-20T23:00:00.000Z","BillingAddress":"541 Del Medio Avenue","BillingCity":"Mountain View","BillingState":"CA","BillingCountry":"USA","BillingPostalCode":"94040-111","Total":"0.99"}
{"InvoiceId":406,"CustomerId":21,"InvoiceDate":"2013-12-03T23:00:00.000Z","BillingAddress":"801 W 4th Street","BillingCity":"Reno","BillingState":"NV","BillingCountry":"USA","BillingPostalCode":"89503","Total":"1.98"}
{"InvoiceId":407,"CustomerId":23,"InvoiceDate":"2013-12-03T23:00:00.000Z","BillingAddress":"69 Salem Street","BillingCity":"Boston","BillingState":"MA","BillingCountry":"USA","BillingPostalCode":"2113","Total":"1.98"}
{"InvoiceId":408,"CustomerId":25,"InvoiceDate":"2013-12-04T23:00:00.000Z","BillingAddress":"319 N. Frances Street","BillingCity":"Madison","BillingState":"WI","BillingCountry":"USA","BillingPostalCode":"53703","Total":"3.96"}
{"InvoiceId":409,"CustomerId":29,"InvoiceDate":"2013-12-05T23:00:00.000Z","BillingAddress":"796 Dundas Street West","BillingCity":"Toronto","BillingState":"ON","BillingCountry":"Canada","BillingPostalCode":"M6J 1V1","Total":"5.94"}
{"InvoiceId":410,"CustomerId":35,"InvoiceDate":"2013-12-08T23:00:00.000Z","BillingAddress":"Rua dos Campeőes Europeus de Viena, 4350","BillingCity":"Porto","BillingState":null,"BillingCountry":"Portugal","BillingPostalCode":null,"Total":"8.91"}
{"InvoiceId":411,"CustomerId":44,"InvoiceDate":"2013-12-13T23:00:00.000Z","BillingAddress":"Porthaninkatu 9","BillingCity":"Helsinki","BillingState":null,"BillingCountry":"Finland","BillingPostalCode":"00530","Total":"13.86"}
{"InvoiceId":412,"CustomerId":58,"InvoiceDate":"2013-12-21T23:00:00.000Z","BillingAddress":"12,Community Centre","BillingCity":"Delhi","BillingState":null,"BillingCountry":"India","BillingPostalCode":"110017","Total":"1.99"}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,5 @@
{"MediaTypeId":1,"Name":"MPEG audio file"}
{"MediaTypeId":2,"Name":"Protected AAC audio file"}
{"MediaTypeId":3,"Name":"Protected MPEG-4 video file"}
{"MediaTypeId":4,"Name":"Purchased AAC audio file"}
{"MediaTypeId":5,"Name":"AAC audio file"}

View File

@@ -0,0 +1,18 @@
{"PlaylistId":1,"Name":"Music"}
{"PlaylistId":2,"Name":"Movies"}
{"PlaylistId":3,"Name":"TV Shows"}
{"PlaylistId":4,"Name":"Audiobooks"}
{"PlaylistId":5,"Name":"90’s Music"}
{"PlaylistId":6,"Name":"Audiobooks"}
{"PlaylistId":7,"Name":"Movies"}
{"PlaylistId":8,"Name":"Music"}
{"PlaylistId":9,"Name":"Music Videos"}
{"PlaylistId":10,"Name":"TV Shows"}
{"PlaylistId":11,"Name":"Brazilian Music"}
{"PlaylistId":12,"Name":"Classical"}
{"PlaylistId":13,"Name":"Classical 101 - Deep Cuts"}
{"PlaylistId":14,"Name":"Classical 101 - Next Steps"}
{"PlaylistId":15,"Name":"Classical 101 - The Basics"}
{"PlaylistId":16,"Name":"Grunge"}
{"PlaylistId":17,"Name":"Heavy Metal Classic"}
{"PlaylistId":18,"Name":"On-The-Go 1"}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More