Compare commits

...

3576 Commits

Author SHA1 Message Date
Stela Augustinova
8be76832a5 v7.1.8-alpha.4 2026-04-09 14:54:23 +02:00
Stela Augustinova
99df266a3e v7.1.8-aplha.4 2026-04-09 14:50:56 +02:00
CI workflows
5660874992 chore: auto-update github workflows 2026-04-09 12:50:31 +00:00
Stela Augustinova
b0dade9da3 Configure NPM token in build workflow 2026-04-09 14:50:11 +02:00
Stela Augustinova
a533858804 v7.1.8-alpha.3 2026-04-09 14:20:39 +02:00
CI workflows
d3bcc984e7 chore: auto-update github workflows 2026-04-09 12:18:26 +00:00
Stela Augustinova
99e8307a80 Enable NPM token configuration in build workflow 2026-04-09 14:17:59 +02:00
Stela Augustinova
73926ea392 v7.1.8-alpha.2 2026-04-09 14:12:17 +02:00
CI workflows
5ff24526b7 chore: auto-update github workflows 2026-04-09 12:11:15 +00:00
Stela Augustinova
32ed1c57bd Update Node.js setup to use yarn caching and remove npm install step 2026-04-09 14:10:50 +02:00
Stela Augustinova
f4c3a95348 v7.1.8-alpha.1 2026-04-09 14:02:38 +02:00
CI workflows
b1a908343a chore: auto-update github workflows 2026-04-09 11:58:25 +00:00
Stela Augustinova
7f9d7eb36e Update Node.js setup action and enable npm caching 2026-04-09 13:57:51 +02:00
Stela Augustinova
30820e29fc Update CHANGELOG for version 7.1.7 2026-04-09 13:23:07 +02:00
Stela Augustinova
a85ea2e0f7 v7.1.7 2026-04-09 12:56:57 +02:00
Stela Augustinova
993e713955 v7.1.7-premium-beta.5 2026-04-09 12:11:02 +02:00
Stela Augustinova
3151e30db1 SYNC: Update translations 2026-04-09 08:59:26 +00:00
Jan Prochazka
eb5219dd68 Merge pull request #1422 from dbgate/feature/duplicate-translation-keys
Remove duplicate translation keys
2026-04-09 10:49:30 +02:00
Stela Augustinova
bb44783369 Refactor translation keys to eliminate duplicates in QueryTab component 2026-04-09 10:33:33 +02:00
CI workflows
33b46c4db3 chore: auto-update github workflows 2026-04-09 08:24:34 +00:00
Jan Prochazka
3730aae62a Merge pull request #1419 from dbgate/feature/map-referer
Added referer
2026-04-09 10:24:25 +02:00
CI workflows
065062d58a Update pro ref 2026-04-09 08:24:16 +00:00
Jan Prochazka
7b2f58e68e SYNC: Merge pull request #92 from dbgate/feature/ai-toggle 2026-04-09 08:24:02 +00:00
Stela Augustinova
e2fc23fcf8 Remove duplicate translation keys 2026-04-09 10:12:39 +02:00
SPRINX0\prochazka
6f56ef284d v7.1.7-premium-beta.4 2026-04-08 16:14:19 +02:00
SPRINX0\prochazka
08a644ba39 v7.1.7-premuim-beta.4 2026-04-08 16:07:40 +02:00
CI workflows
6ae19ac4a6 chore: auto-update github workflows 2026-04-08 14:06:22 +00:00
CI workflows
7761cbe81d Update pro ref 2026-04-08 14:05:57 +00:00
Jan Prochazka
f981d88150 SYNC: Merge pull request #91 from dbgate/feature/query-history-per-user 2026-04-08 14:05:40 +00:00
CI workflows
e2a23eaa0d chore: auto-update github workflows 2026-04-08 12:57:03 +00:00
CI workflows
9d510b3c08 Update pro ref 2026-04-08 12:56:40 +00:00
SPRINX0\prochazka
a98f5ac45e reverted yarn.lock 2026-04-08 14:03:13 +02:00
SPRINX0\prochazka
b989e964c0 v7.1.7-premium-beta.3 2026-04-08 13:34:11 +02:00
CI workflows
3ff6eefa06 chore: auto-update github workflows 2026-04-08 11:29:47 +00:00
CI workflows
67fde9be3c Update pro ref 2026-04-08 11:29:28 +00:00
SPRINX0\prochazka
df7ac89723 SYNC: v7.1.7-premium-beta.2 2026-04-08 11:29:18 +00:00
SPRINX0\prochazka
358df9f53b SYNC: try to fix ms entra login 2026-04-08 11:29:15 +00:00
Stela Augustinova
02e3bfaa8a Added referer 2026-04-08 12:05:42 +02:00
Jan Prochazka
dde74fa73b Merge pull request #1407 from dbgate/feature/postgres-optimalization
Feature/postgres optimalization
2026-04-08 11:46:42 +02:00
SPRINX0\prochazka
100e3fe75f deleted sast workflows 2026-04-08 10:59:29 +02:00
SPRINX0\prochazka
af7930cea2 Enhance aggregation functions in SQL queries for improved PostgreSQL compatibility 2026-04-08 10:55:24 +02:00
SPRINX0\prochazka
6b4f6b909c Merge branch 'feature/postgres-optimalization' of https://github.com/dbgate/dbgate into feature/postgres-optimalization 2026-04-08 10:26:35 +02:00
Jan Prochazka
9a6e5cd7cc Update plugins/dbgate-plugin-postgres/src/backend/sql/views.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-08 10:21:22 +02:00
SPRINX0\prochazka
9f64b6ec7a Merge branch 'master' into feature/postgres-optimalization 2026-04-08 10:20:28 +02:00
Stela Augustinova
77f720e34c Refactor connection handling in extractShellConnection to improve volatile ID management and ensure secure credential handling 2026-04-08 10:20:09 +02:00
Stela Augustinova
168dcb7824 Enhance error handling for connection requests in subprocesses and validate connection ID format 2026-04-08 10:20:09 +02:00
Stela Augustinova
759186a212 Improve error handling for volatile connection responses in subprocess communication 2026-04-08 10:20:09 +02:00
Stela Augustinova
71ed7a76ea Handle errors in volatile connection resolution and remove unused registration function 2026-04-08 10:20:09 +02:00
Stela Augustinova
bd939b22c7 Fix volatile connection resolution to prevent multiple resolves 2026-04-08 10:20:09 +02:00
Stela Augustinova
c327f77294 Refactor volatile connections handling in connections and runners modules 2026-04-08 10:20:09 +02:00
Stela Augustinova
d907d79beb Streamline volatile connections handling and remove unused registration module 2026-04-08 10:20:09 +02:00
Stela Augustinova
93b879927c Implement volatile connections handling in runners and shell modules 2026-04-08 10:20:09 +02:00
Stela Augustinova
0c545d4cf9 Enhance clipboard formatters to skip empty rows, improving data handling in clipboard operations 2026-04-08 10:20:09 +02:00
Stela Augustinova
95c90c1517 Improve clipboard formatters to omit undefined values, enhancing data integrity in exports 2026-04-08 10:20:09 +02:00
CI workflows
cb731fa858 chore: auto-update github workflows 2026-04-08 10:20:09 +02:00
Stela Augustinova
9bb3b09ecf SYNC: Add SAST workflow for security scanning using Semgrep 2026-04-08 10:20:09 +02:00
SPRINX0\prochazka
7c8f541d3e deleted sast workflow 2026-04-08 10:18:37 +02:00
Jan Prochazka
ce41687382 Merge pull request #1417 from dbgate/feature/auth-error
Implement volatile connections handling in runners and shell modules
2026-04-08 10:14:02 +02:00
Stela Augustinova
4b083dea5c Refactor connection handling in extractShellConnection to improve volatile ID management and ensure secure credential handling 2026-04-07 14:56:29 +02:00
Stela Augustinova
c84473c1eb Enhance error handling for connection requests in subprocesses and validate connection ID format 2026-04-07 14:26:58 +02:00
Stela Augustinova
7fc078f3e6 Improve error handling for volatile connection responses in subprocess communication 2026-04-07 14:15:18 +02:00
Stela Augustinova
cbbd538248 Handle errors in volatile connection resolution and remove unused registration function 2026-04-07 14:01:13 +02:00
Stela Augustinova
825f6e562b Fix volatile connection resolution to prevent multiple resolves 2026-04-07 13:46:34 +02:00
Stela Augustinova
a278afb260 Refactor volatile connections handling in connections and runners modules 2026-04-07 13:42:11 +02:00
Stela Augustinova
2fbeea717c Streamline volatile connections handling and remove unused registration module 2026-04-07 13:26:16 +02:00
Jan Prochazka
c7259e4663 Merge pull request #1412 from dbgate/feature/copy-sql
Improve clipboard formatters to omit undefined values, enhancing data…
2026-04-07 13:11:49 +02:00
Stela Augustinova
69a2669342 Implement volatile connections handling in runners and shell modules 2026-04-07 13:06:04 +02:00
CI workflows
42d1ca8fd4 chore: auto-update github workflows 2026-04-07 10:27:40 +00:00
Stela Augustinova
1cf52d8b39 SYNC: Add SAST workflow for security scanning using Semgrep 2026-04-07 10:27:24 +00:00
Jan Prochazka
6e482afab2 v7.1.7-premium-beta.1 2026-04-02 16:39:06 +02:00
SPRINX0\prochazka
ddf3295e6d Merge branch 'master' into feature/postgres-optimalization 2026-04-02 16:33:25 +02:00
SPRINX0\prochazka
79e087abd3 Optimize PostgreSQL analysis queries and add support for Info Schema routines 2026-04-02 16:32:36 +02:00
CI workflows
a7cf51bdf7 chore: auto-update github workflows 2026-04-02 13:55:33 +00:00
Jan Prochazka
dfdb31e2f8 Merge pull request #1413 from dbgate/feature/integration-test-pro
Update test workflow to include directory changes for integration tests
2026-04-02 15:55:14 +02:00
Stela Augustinova
3508ddc3ca Update test workflow to include directory changes for integration tests 2026-04-02 11:02:36 +02:00
Stela Augustinova
137fc6b928 Enhance clipboard formatters to skip empty rows, improving data handling in clipboard operations 2026-04-02 10:29:02 +02:00
Jan Prochazka
e6f5295420 Merge pull request #1410 from dbgate/feature/large-fields
Enhance binary size handling in grid cell display
2026-04-01 16:01:23 +02:00
CI workflows
2bb08921c3 chore: auto-update github workflows 2026-04-01 13:55:00 +00:00
Stela Augustinova
ee2d0e4c30 Remove unnecessary restart policy for DynamoDB service 2026-04-01 15:54:35 +02:00
Jan Prochazka
c43a838572 Merge pull request #1411 from dbgate/feature/unreadable-dropdown
Correct class binding and update style variables in SelectField compo…
2026-04-01 15:53:23 +02:00
CI workflows
17ff6a8013 chore: auto-update github workflows 2026-04-01 13:53:13 +00:00
Stela Augustinova
62ad6a0d08 Remove unnecessary restart policy for MongoDB service 2026-04-01 15:52:48 +02:00
CI workflows
5c049fa867 chore: auto-update github workflows 2026-04-01 13:51:09 +00:00
CI workflows
619f17114a Update pro ref 2026-04-01 13:50:58 +00:00
Stela Augustinova
1c1431014c SYNC: Merge pull request #87 from dbgate/feature/collection-test 2026-04-01 13:50:46 +00:00
Stela Augustinova
9d1d7b7e34 Improve clipboard formatters to omit undefined values, enhancing data integrity in exports 2026-04-01 15:49:35 +02:00
Stela Augustinova
f68ca1e786 Correct class binding and update style variables in SelectField component 2026-04-01 13:24:34 +02:00
Stela Augustinova
8d16a30064 Fix message formatting for large binary fields in stringifyCellValue function 2026-04-01 10:55:47 +02:00
Stela Augustinova
cf601c33c0 Enhance binary size handling in grid cell display 2026-04-01 10:25:40 +02:00
Jan Prochazka
588cd39d7c Merge pull request #1404 from dbgate/feature/fetch-all-button
Add fetch all button
2026-04-01 09:44:04 +02:00
Stela Augustinova
79ebfa9b7a Add fetchAll command to dataGrid menu 2026-03-31 13:37:06 +02:00
Stela Augustinova
0c6b2746d1 Fix file stream reference in jsldata and remove redundant buffer assignment in LoadingDataGridCore 2026-03-31 08:59:33 +02:00
Stela Augustinova
978972c55c Enhance file path validation in streamRows to include symlink resolution and case normalization, improving security and error handling 2026-03-31 08:31:43 +02:00
Stela Augustinova
37854fc577 Refactor fetchAll to trim lines before parsing, improving error handling for malformed data 2026-03-31 06:54:37 +02:00
Stela Augustinova
5537e193a6 Improve fetchAll error handling and cleanup process during streaming and paginated reads 2026-03-31 06:21:06 +02:00
Stela Augustinova
0d42b2b133 Refactor fetchAll cancel function to improve cleanup process and prevent errors 2026-03-30 15:48:35 +02:00
Stela Augustinova
44bd7972d4 Enhance fetchAll functionality with improved error handling and state management 2026-03-30 14:34:57 +02:00
Stela Augustinova
5143eb39f7 Implement fetchAll functionality with streaming support and error handling 2026-03-30 13:30:12 +02:00
Stela Augustinova
cf51883b3e Add checkbox to skip confirmation when fetching all rows 2026-03-26 15:24:25 +01:00
Stela Augustinova
484ca0c78a Reset loaded time reference in reload function 2026-03-26 15:11:11 +01:00
Stela Augustinova
8f5cad0e2c Prevent loading next data when fetching all rows is in progress 2026-03-26 15:03:54 +01:00
Stela Augustinova
988512a571 Update warning message in FetchAllConfirmModal to simplify language 2026-03-26 14:50:09 +01:00
Stela Augustinova
f8bd380051 Optimize fetchAllRows by using a local buffer to reduce array copies and improve performance 2026-03-26 14:19:11 +01:00
Stela Augustinova
281131dbba Enhance fetchAll functionality by adding loading state check 2026-03-26 14:07:12 +01:00
Stela Augustinova
ea3a61077a v7.1.6 2026-03-26 12:47:09 +01:00
Stela Augustinova
d1a898b40d SYNC: Add translations for cloudUnavailable message in multiple languages 2026-03-26 11:11:07 +00:00
Stela Augustinova
a521a81ef0 v7.1.6-premium-beta.1 2026-03-26 11:25:13 +01:00
Stela Augustinova
2505c61975 Add fetch all button 2026-03-26 11:24:05 +01:00
Stela Augustinova
ab5a54dbb6 SYNC: Merge pull request #89 from dbgate/feature/cloud-error 2026-03-26 10:12:05 +00:00
Stela Augustinova
44ad8fa60a Update CHANGELOG for version 7.1.5 2026-03-25 16:59:13 +01:00
Stela Augustinova
5b27a241d7 v7.1.5 2026-03-25 16:21:59 +01:00
Stela Augustinova
084019ca65 v7.1.5-premium-beta.3 2026-03-25 15:21:43 +01:00
Stela Augustinova
ba147af8fe SYNC: v7.1.5-premium-beta.2 2026-03-25 14:08:24 +00:00
Stela Augustinova
1b3f4db07d SYNC: Merge pull request #88 from dbgate/feature/cloud-error 2026-03-25 13:39:00 +00:00
Jan Prochazka
c36705d458 Merge pull request #1395 from dbgate/feature/display-uuid
Feature/display UUID
2026-03-25 10:04:58 +01:00
Stela Augustinova
0e126cb8cf Enhance BinData subType handling to support hexadecimal strings and improve validation 2026-03-25 08:32:03 +01:00
Stela Augustinova
c48183a539 Enhance base64 to UUID conversion with error handling and regex improvements 2026-03-25 08:23:15 +01:00
Stela Augustinova
50f380dbbe Enhance uuidToBase64 function with validation and improve UUID parsing in parseCellValue 2026-03-24 17:15:32 +01:00
Stela Augustinova
66023a9a68 Validate base64 UUID conversion and enhance handling in stringifyCellValue 2026-03-24 17:06:52 +01:00
Stela Augustinova
c3fbc3354c Validate BinData subType to ensure it is an integer between 0 and 255 2026-03-24 16:32:16 +01:00
Jan Prochazka
a7d2ed11f3 SYNC: Merge pull request #86 from dbgate/feature/icon-vulnerability 2026-03-23 12:50:27 +00:00
SPRINX0\prochazka
899aec2658 v7.1.5-premium-beta.1 2026-03-20 14:24:11 +01:00
SPRINX0\prochazka
74e47587e2 Merge branch 'master' into feature/postgres-optimalization 2026-03-20 14:23:40 +01:00
Stela Augustinova
6a3dc92572 Add uuid to base64 conversion and enhance cell value parsing for UUIDs 2026-03-20 12:46:50 +01:00
Stela Augustinova
e3a4667422 feat: add base64 to UUID conversion and integrate into cell value parsing 2026-03-19 14:50:08 +01:00
Stela Augustinova
c4dd99bba9 Changelog 7.1.4 2026-03-19 13:07:44 +01:00
SPRINX0\prochazka
cb70f3c318 postgres loading optimalization 2026-03-19 12:17:29 +01:00
Stela Augustinova
588b6f9882 v7.1.4 2026-03-19 12:13:37 +01:00
Stela Augustinova
375f69ca1e v7.1.4-alpha.2 2026-03-19 11:13:29 +01:00
Stela Augustinova
a32e5cc139 v7.1.4-alpha.1 2026-03-19 10:56:16 +01:00
CI workflows
8e00137751 chore: auto-update github workflows 2026-03-19 09:33:56 +00:00
Stela Augustinova
003db50833 SYNC: Add missing publish step for rest 2026-03-19 09:33:36 +00:00
Stela Augustinova
bc519c2c20 Changelog 7.1.3 2026-03-18 16:06:01 +01:00
Stela Augustinova
3b41fa8cfa v7.1.3 2026-03-18 15:31:26 +01:00
Stela Augustinova
39ed0f6d2d v7.1.3-premium-beta.7 2026-03-18 14:27:27 +01:00
CI workflows
710f796832 chore: auto-update github workflows 2026-03-18 13:15:43 +00:00
CI workflows
9ec5fb7263 Update pro ref 2026-03-18 13:15:24 +00:00
Stela Augustinova
407db457d5 SYNC: Added new translations and error codes 2026-03-18 13:15:12 +00:00
Jan Prochazka
0c5d2cfcd1 Merge pull request #1393 from dbgate/feature/script-filter
Add cloud content list integration for connection label resolution
2026-03-18 13:55:40 +01:00
CI workflows
87ace375bb chore: auto-update github workflows 2026-03-18 12:54:58 +00:00
CI workflows
d010020f3b Update pro ref 2026-03-18 12:54:34 +00:00
Jan Prochazka
c60227a98f SYNC: Merge pull request #85 from dbgate/feature/proxy-configuration 2026-03-18 12:54:21 +00:00
Stela Augustinova
2824681bff Refactor cloudIdToLabel assignment to use lodash's fromPairs for improved readability 2026-03-18 13:47:45 +01:00
Stela Augustinova
073a3e3946 Add cloud content list integration for connection label resolution 2026-03-18 11:23:31 +01:00
CI workflows
93e91127a0 chore: auto-update github workflows 2026-03-18 08:03:38 +00:00
CI workflows
b60a6cff56 Update pro ref 2026-03-18 08:03:23 +00:00
Jan Prochazka
1f3b1963d9 SYNC: errors assign 2026-03-18 08:03:13 +00:00
SPRINX0\prochazka
4915f57abb v7.1.3-premium-beta.6 2026-03-17 15:35:35 +01:00
Jan Prochazka
97c6fc97d5 Merge pull request #1392 from dbgate/feature/duckdb-integration-test
Synchronize client and instance disconnection methods
2026-03-17 15:34:51 +01:00
Stela Augustinova
b68421bbc3 Synchronize client and instance disconnection methods 2026-03-17 14:45:57 +01:00
SPRINX0\prochazka
2d10559754 v7.1.3-premium-beta.5 2026-03-17 13:38:35 +01:00
CI workflows
b398a7b546 chore: auto-update github workflows 2026-03-17 11:58:40 +00:00
CI workflows
1711d2102d Update pro ref 2026-03-17 11:58:24 +00:00
Jan Prochazka
97cea230f3 SYNC: Merge pull request #83 from dbgate/feature/transaction-isolation 2026-03-17 11:58:10 +00:00
CI workflows
b6a0fe9465 chore: auto-update github workflows 2026-03-17 11:46:56 +00:00
CI workflows
06c50659bb Update pro ref 2026-03-17 11:46:39 +00:00
Jan Prochazka
244b47f548 SYNC: Merge pull request #84 from dbgate/feature/proxy-configuration 2026-03-17 11:46:28 +00:00
Jan Prochazka
b72a244d93 Merge pull request #1389 from dbgate/feature/duckdb-query-result
Fix getColumnsInfo loop to iterate from start to end
2026-03-17 09:55:59 +01:00
Jan Prochazka
c1e069d4dc Merge pull request #1391 from dbgate/feature/script-filter
Refactor connection selection to use a dropdown instead of a button f…
2026-03-17 09:50:01 +01:00
Stela Augustinova
f99994085a Refactor connection selection to use a dropdown instead of a button for improved usability 2026-03-17 09:22:18 +01:00
Stela Augustinova
32fd0dd78c Update @duckdb/node-api dependency to version 1.5.0-r.1 2026-03-16 15:52:01 +01:00
Jan Prochazka
a557b6b2b4 Merge pull request #1388 from dbgate/feature/script-filter
Feature/script filter
2026-03-16 15:27:49 +01:00
Stela Augustinova
e84583c776 Fix getColumnsInfo loop to iterate from start to end 2026-03-16 15:09:31 +01:00
Stela Augustinova
a548b0d543 Refactor connection label assignment to use logical OR for fallback 2026-03-16 15:05:45 +01:00
Stela Augustinova
de94f15383 Fix file reading to correctly handle bytes read from file 2026-03-16 14:41:38 +01:00
Stela Augustinova
7045d986ef Fix file handle management to ensure proper closure in file reading process 2026-03-16 14:31:43 +01:00
Stela Augustinova
de7ae9cf09 Refactor connection filter options 2026-03-16 14:17:06 +01:00
Stela Augustinova
ab3d6888dc Enhance file reading and connection filtering in SavedFilesList component 2026-03-16 14:08:19 +01:00
Stela Augustinova
98a70891f3 Refactor file reading 2026-03-16 08:12:35 +01:00
Stela Augustinova
52e7326a2c Enhance file listing to support front matter parsing and connection filtering 2026-03-16 08:02:03 +01:00
Jan Prochazka
bfd2e3b07a Merge pull request #1382 from dbgate/feature/add-files-button
Enhance drag-and-drop functionality to support Electron file paths
2026-03-12 12:41:31 +01:00
Stela Augustinova
799f5e30d3 Enhance drag-and-drop functionality to support Electron file paths 2026-03-12 10:14:47 +01:00
SPRINX0\prochazka
d3e544c3c0 v7.1.3-premium-beta.4 2026-03-11 08:55:53 +01:00
CI workflows
866fd55834 chore: auto-update github workflows 2026-03-10 10:17:13 +00:00
CI workflows
74ce1fba32 Update pro ref 2026-03-10 10:16:57 +00:00
Jan Prochazka
a11b93b4cc SYNC: Merge pull request #80 from dbgate/feature/loading-fix 2026-03-10 10:16:46 +00:00
CI workflows
066f2baa03 chore: auto-update github workflows 2026-03-10 09:50:36 +00:00
Stela Augustinova
e02396280f SYNC: Add port mappings for DynamoDB and fix formatting in e2e-pro.yaml 2026-03-10 09:50:18 +00:00
CI workflows
a654c80746 chore: auto-update github workflows 2026-03-10 09:32:53 +00:00
CI workflows
3b50f4bd7c Update pro ref 2026-03-10 09:32:34 +00:00
CI workflows
cc1f77f5bc chore: auto-update github workflows 2026-03-10 08:23:51 +00:00
CI workflows
381fce4a82 Update pro ref 2026-03-10 08:23:35 +00:00
Jan Prochazka
bc3be97cee SYNC: Merge pull request #81 from dbgate/feature/dynamo-e2e 2026-03-10 08:22:32 +00:00
Jan Prochazka
1c389208a7 Merge pull request #1378 from dbgate/feature/add-files-button
Import getElectron in ElectronFilesInput component
2026-03-10 09:19:34 +01:00
SPRINX0\prochazka
cbeed2d3d0 v7.1.3-alpha.3 2026-03-09 10:20:49 +01:00
SPRINX0\prochazka
3d974ad144 v7.1.3-alpha.2 2026-03-09 10:01:50 +01:00
SPRINX0\prochazka
749042a05d set version 2026-03-09 09:59:53 +01:00
SPRINX0\prochazka
52413b82ee v7.1.3-alpha.1 2026-03-09 09:22:26 +01:00
SPRINX0\prochazka
212a7ec083 used exact version 2026-03-09 09:21:57 +01:00
SPRINX0\prochazka
cee94fe113 added missing package 2026-03-09 09:20:48 +01:00
Stela Augustinova
e1ead2519a Import getElectron in ElectronFilesInput component 2026-03-09 07:35:34 +01:00
Jan Prochazka
80330a25ac Merge pull request #1372 from dbgate/feature/export-diagram
Add diagram export to png
2026-03-05 10:32:35 +01:00
Stela Augustinova
508470e970 Added import 2026-03-05 10:02:57 +01:00
Stela Augustinova
bc64b4b5c7 Update ToolStripDropDownButton label to use translation for export 2026-03-04 15:36:40 +01:00
Jan Prochazka
48d8494ead SYNC: added CLAUDE.md 2026-03-04 07:42:30 +00:00
SPRINX0\prochazka
2a51d2ed96 SYNC: fix: enhance date handling in zipDataRow function 2026-03-03 16:13:49 +00:00
Stela Augustinova
cfabcc7bf6 Fix import name for ToolStripDropDownButton in DiagramTab.svelte 2026-03-03 17:08:13 +01:00
Stela Augustinova
90fc8fd0fc Add diagram export to png 2026-03-03 16:54:46 +01:00
SPRINX0\prochazka
ff54533e33 v7.1.2 2026-03-02 15:53:28 +01:00
SPRINX0\prochazka
2072f0b5ba SYNC: don't use random data in testing REST service 2026-03-02 14:10:12 +00:00
Jan Prochazka
6efc720a45 SYNC: Merge pull request #78 from dbgate/feature/aitest 2026-03-02 13:28:57 +00:00
SPRINX0\prochazka
c7cb1efe9c v7.1.2-premium-beta.2 2026-03-02 12:59:39 +01:00
SPRINX0\prochazka
e193531246 changelog 2026-03-02 12:58:03 +01:00
CI workflows
2aa53f414e chore: auto-update github workflows 2026-03-02 11:57:43 +00:00
CI workflows
843c15d754 Update pro ref 2026-03-02 11:57:27 +00:00
SPRINX0\prochazka
fb19582088 v7.1.2-premium-beta.1 2026-03-02 10:34:53 +01:00
SPRINX0\prochazka
8040466cbe text 2026-03-02 10:34:16 +01:00
CI workflows
302b4d7acd chore: auto-update github workflows 2026-03-02 09:33:33 +00:00
CI workflows
a8ccc24d46 Update pro ref 2026-03-02 09:33:16 +00:00
Jan Prochazka
b2fb071a7b SYNC: Merge pull request #73 from dbgate/feature/openai-upgrade 2026-03-02 09:33:04 +00:00
SPRINX0\prochazka
204d7b97d5 chore: update CHANGELOG for version 7.1.1 enhancements and fixes 2026-02-27 16:08:33 +01:00
SPRINX0\prochazka
f3da709aac v7.1.1 2026-02-27 15:34:12 +01:00
SPRINX0\prochazka
0ab8afb838 v7.1.1-packer-beta.3 2026-02-27 13:36:37 +01:00
SPRINX0\prochazka
d50999547f v7.1.1-premium-beta.2 2026-02-27 13:36:14 +01:00
CI workflows
04741b0eba chore: auto-update github workflows 2026-02-27 12:35:44 +00:00
SPRINX0\prochazka
ba86fe32e7 comment out azure build 2026-02-27 13:35:24 +01:00
CI workflows
9deb7d7fdc chore: auto-update github workflows 2026-02-27 12:34:08 +00:00
CI workflows
55eb64e5ca Update pro ref 2026-02-27 12:33:52 +00:00
Jan Prochazka
a5f50f3f2b SYNC: Merge pull request #68 from dbgate/feature/dynamodb-plugin 2026-02-27 12:33:39 +00:00
Jan Prochazka
47214eb5b3 SYNC: Merge pull request #72 from dbgate/feature-firebird-fixes 2026-02-27 12:24:38 +00:00
CI workflows
599509d417 chore: auto-update github workflows 2026-02-27 08:20:08 +00:00
CI workflows
9d366fc359 Update pro ref 2026-02-27 08:19:53 +00:00
SPRINX0\prochazka
0e1ed0bde6 SYNC: upgraded dbgate-query-splitter 2026-02-27 08:19:41 +00:00
CI workflows
6ad7824bf2 chore: auto-update github workflows 2026-02-27 08:06:47 +00:00
CI workflows
1174f51c07 Update pro ref 2026-02-27 08:06:31 +00:00
Jan Prochazka
1950dda1ab SYNC: Merge pull request #70 from dbgate/feature/new-gql-query 2026-02-27 08:06:19 +00:00
Jan Prochazka
8231b6d5be SYNC: Merge pull request #71 from dbgate/feature/reset-virtual-scroll 2026-02-27 08:03:36 +00:00
Jan Prochazka
0feacbe6eb Merge pull request #1368 from dbgate/feature/driver-selection
Set default selected item to 'general' in SettingsTab and WidgetIconP…
2026-02-27 08:21:16 +01:00
Jan Prochazka
80b5f5adca SYNC: Merge pull request #65 from dbgate/feature/filter-bigint 2026-02-26 08:48:23 +00:00
CI workflows
13650f36e6 chore: auto-update github workflows 2026-02-26 08:47:23 +00:00
CI workflows
3f58d99069 Update pro ref 2026-02-26 08:47:03 +00:00
CI workflows
0c8a025cf6 chore: auto-update github workflows 2026-02-26 08:33:59 +00:00
CI workflows
5014df4859 Update pro ref 2026-02-26 08:33:42 +00:00
SPRINX0\prochazka
34a491e2ef v7.1.1-premium-beta.1 2026-02-25 14:07:03 +01:00
Jan Prochazka
884e4ca88e SYNC: Merge pull request #67 from dbgate/feature/connfix 2026-02-25 13:01:09 +00:00
CI workflows
a670c5e86c chore: auto-update github workflows 2026-02-25 12:54:58 +00:00
CI workflows
af1fba79be Update pro ref 2026-02-25 12:54:40 +00:00
Jan Prochazka
ac44de0bf4 SYNC: Merge pull request #66 from dbgate/team-premium-permis-fix-2 2026-02-25 12:54:28 +00:00
Stela Augustinova
f013a241ce Merge pull request #1367 from dbgate/feature/disable-cell-data-view
Add setting to disable automatic Cell Data View opening
2026-02-25 10:31:42 +01:00
Stela Augustinova
0e29a7206d Prevent unnecessary updates in handleUserChange when the selected item remains unchanged 2026-02-25 09:27:50 +01:00
Stela Augustinova
689b3f299c Prevent unnecessary updates in handleUserChange when the selected item remains unchanged 2026-02-25 09:20:08 +01:00
Stela Augustinova
02ccb990bd Remove default selected item from SettingsTab in stdCommands and WidgetIconPanel 2026-02-25 09:18:51 +01:00
Stela Augustinova
61fe4f0d57 Set default selected item to 'general' in SettingsTab and WidgetIconPanel 2026-02-25 09:09:17 +01:00
Stela Augustinova
0a920195d5 Add setting to disable automatic Cell Data View opening 2026-02-25 07:14:31 +01:00
SPRINX0\prochazka
18896bf56d v7.1.0 2026-02-24 15:18:24 +01:00
SPRINX0\prochazka
098c9041a0 changelog 2026-02-24 15:15:05 +01:00
CI workflows
61a41d8eb2 chore: auto-update github workflows 2026-02-24 13:40:14 +00:00
CI workflows
e76073d5c8 Update pro ref 2026-02-24 13:39:55 +00:00
Jan Prochazka
8c34added7 SYNC: Merge pull request #63 from dbgate/feature/test-api-e2e 2026-02-24 13:39:42 +00:00
SPRINX0\prochazka
66fc6b93ae v7.0.7-premium-beta.13 2026-02-24 13:17:35 +01:00
SPRINX0\prochazka
881d5a8008 v7.0.7-beta.12 2026-02-24 12:51:25 +01:00
Jan Prochazka
5d263de954 SYNC: Merge pull request #62 from dbgate/feature/refactor-rolldown 2026-02-24 11:50:42 +00:00
SPRINX0\prochazka
c8d0494000 v7.0.7-beta.11 2026-02-24 12:29:12 +01:00
SPRINX0\prochazka
a9b48b5aa5 v7.0.7-premium-beta.10 2026-02-24 12:25:37 +01:00
SPRINX0\prochazka
f08a951eef SYNC: Refactor DriverSettings and stores to manage hidden database engines 2026-02-24 11:23:14 +00:00
SPRINX0\prochazka
8758a4bc86 SYNC: filter extensions in active drivers 2026-02-24 10:13:49 +00:00
Jan Prochazka
aae328f8c8 Merge pull request #1365 from dbgate/feature/driver-selection
Feature/driver selection
2026-02-24 11:07:43 +01:00
Stela Augustinova
1953578a33 Fix driver reference checks in DriverSettings and stores for improved stability 2026-02-24 11:02:38 +01:00
Stela Augustinova
543bdd79d9 Fix filter syntax in ConnectionDriverFields to improve driver selection logic 2026-02-24 10:50:11 +01:00
Stela Augustinova
e0e1a3c8e4 Enhance DriverSettings component to handle undefined drivers and improve check-all functionality 2026-02-24 10:33:30 +01:00
Stela Augustinova
f1d84f448e Refactor FormConnectionTypeSelector to improve layout and integrate FontIcon in driver settings button 2026-02-24 10:14:32 +01:00
Jan Prochazka
7c5c21f15d SYNC: Merge pull request #56 from dbgate/feature/flipping-tabs-crash 2026-02-24 09:05:43 +00:00
Jan Prochazka
41ffaeebe3 Merge pull request #1362 from david-pivonka/fix/clickhouse-cte-results
fix(clickhouse): show query results for CTE (WITH) queries
2026-02-24 09:59:48 +01:00
SPRINX0\prochazka
5d9b44b647 SYNC: removed experimental flags 2026-02-24 08:26:44 +00:00
CI workflows
a18d2c5650 chore: auto-update github workflows 2026-02-24 08:21:49 +00:00
CI workflows
e0379bcf12 Update pro ref 2026-02-24 08:21:35 +00:00
SPRINX0\prochazka
e91242d5a2 SYNC: use string instead of datatime in password_reset_token (for compatibility) 2026-02-24 08:21:23 +00:00
SPRINX0\prochazka
8177187b3a v7.0.7-premium-beta.9 2026-02-24 08:57:50 +01:00
CI workflows
6b3e1144bc chore: auto-update github workflows 2026-02-24 07:56:50 +00:00
CI workflows
dfec88f52d Update pro ref 2026-02-24 07:56:34 +00:00
SPRINX0\prochazka
b8df67659a v7.0.7-premium-beta.8 2026-02-24 08:25:26 +01:00
SPRINX0\prochazka
861da64581 fix 2026-02-24 08:24:14 +01:00
CI workflows
ab147a2cc9 chore: auto-update github workflows 2026-02-24 07:20:26 +00:00
CI workflows
e13191e894 Update pro ref 2026-02-24 07:20:09 +00:00
SPRINX0\prochazka
7f69ea8dc0 SYNC: fixed links (dbgate.org => dbgate.io) 2026-02-24 07:19:58 +00:00
SPRINX0\prochazka
ef2140696b publish NPM plugins 2026-02-24 08:13:05 +01:00
SPRINX0\prochazka
4607900c3b SYNC: yarn.lock 2026-02-24 07:05:31 +00:00
CI workflows
3258d55796 chore: auto-update github workflows 2026-02-24 06:58:55 +00:00
CI workflows
35e6966c39 Update pro ref 2026-02-24 06:58:38 +00:00
SPRINX0\prochazka
885756b259 removed ADD plugin 2026-02-24 07:57:10 +01:00
Jan Prochazka
5fbc1b937c SYNC: Merge pull request #55 from dbgate/feature/dynamodb-plugin 2026-02-24 06:51:31 +00:00
CI workflows
7e444e9fc2 chore: auto-update github workflows 2026-02-24 06:35:37 +00:00
CI workflows
c051237914 Update pro ref 2026-02-24 06:35:20 +00:00
Jan Prochazka
3855b0dd28 SYNC: Merge pull request #61 from dbgate/feature/gql-variables-mutation 2026-02-24 06:35:09 +00:00
Stela Augustinova
afcc9e096a Add FormConnectionTypeSelector component and integrate into ConnectionDriverFields 2026-02-23 15:48:46 +01:00
Stela Augustinova
f4df1fbff4 Add separator line in DriverSettings for improved UI clarity 2026-02-23 15:33:12 +01:00
Jan Prochazka
45b3a5af91 SYNC: Merge pull request #60 from dbgate/feature/redis-key-loading 2026-02-23 12:43:04 +00:00
Stela Augustinova
f54b18e652 Refactor DriverSettings component to enhance check-all functionality and improve UI layout 2026-02-23 07:52:42 +01:00
Stela Augustinova
b1210d19ad Add DriverSettings component and integrate into SettingsTab 2026-02-20 18:13:56 +01:00
CI workflows
21cbcc79c6 chore: auto-update github workflows 2026-02-20 14:33:44 +00:00
CI workflows
a7d0c8fb0f Update pro ref 2026-02-20 14:33:26 +00:00
SPRINX0\prochazka
1e3dc54d81 v7.0.7-premium-beta.7 2026-02-20 13:25:12 +01:00
CI workflows
48f294fd83 chore: auto-update github workflows 2026-02-20 12:22:39 +00:00
CI workflows
298ad0de4b Update pro ref 2026-02-20 12:22:17 +00:00
Jan Prochazka
c7953f9231 SYNC: Merge pull request #59 from dbgate/feature/graphql-connection-view 2026-02-20 12:22:05 +00:00
SPRINX0\prochazka
afd97eae7d v7.0.7-premium-beta.6 2026-02-19 11:00:36 +01:00
Jan Prochazka
f4e558b7e8 SYNC: Merge pull request #58 from dbgate/feature/array-grid-improvements 2026-02-19 09:58:30 +00:00
SPRINX0\prochazka
12c99c646e v7.0.7-premium-beta.5 2026-02-18 19:11:40 +01:00
CI workflows
6c1a2eedbe chore: auto-update github workflows 2026-02-18 17:52:44 +00:00
CI workflows
8a73216035 Update pro ref 2026-02-18 17:52:25 +00:00
Jan Prochazka
c6a93f12f7 SYNC: Merge pull request #57 from dbgate/feature/improve-api-capabilities 2026-02-18 17:52:13 +00:00
CI workflows
09f44d94b3 chore: auto-update github workflows 2026-02-18 15:32:46 +00:00
CI workflows
c26748154a Update pro ref 2026-02-18 15:32:30 +00:00
Jan Prochazka
2474f915d4 SYNC: Merge pull request #54 from dbgate/feature/odata-api 2026-02-18 15:32:17 +00:00
Jan Prochazka
53f940cd23 SYNC: Merge pull request #52 from dbgate/feature/group-by-timestamp 2026-02-18 14:45:25 +00:00
CI workflows
991b648854 chore: auto-update github workflows 2026-02-18 07:23:25 +00:00
CI workflows
663f057a9a Update pro ref 2026-02-18 07:23:08 +00:00
Jan Prochazka
61963fb824 SYNC: Merge pull request #53 from dbgate/feature/graphql-connection-display 2026-02-18 07:22:55 +00:00
SPRINX0\prochazka
bdf3cf5b36 SYNC: Enhance GraphQL query parsing to include argument values and update related components to handle new structure 2026-02-17 13:46:14 +00:00
CI workflows
5cc459594b chore: auto-update github workflows 2026-02-17 13:22:07 +00:00
CI workflows
8d315e52df Update pro ref 2026-02-17 13:21:50 +00:00
SPRINX0\prochazka
48a24a8704 SYNC: Add support for GraphQL connection queries and enhance API type handling 2026-02-17 13:21:38 +00:00
SPRINX0\prochazka
cdce52f0e5 v7.0.7-premium-beta.4 2026-02-17 10:46:42 +01:00
SPRINX0\prochazka
d12ccbeac4 SYNC: Reduce default maximum depth for GraphQL explorer options from 6 to 2 2026-02-17 09:46:01 +00:00
David Pivoňka
0b1620105a fix(clickhouse): show query results for CTE (WITH) queries
The stream() method used a regex that only matched queries starting
with SELECT. Queries using CTEs (WITH ... SELECT) were incorrectly
sent through client.command() which discards results, causing the
query console to show "Query execution finished" with no data grid.

Update the regex to also match queries starting with WITH so they
flow through client.query() and display results correctly.

Fixes #1138

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 08:37:32 +01:00
CI workflows
2ae9c98acb chore: auto-update github workflows 2026-02-17 07:04:41 +00:00
CI workflows
ed00848a1e Update pro ref 2026-02-17 07:04:24 +00:00
SPRINX0\prochazka
06f7741dbf SYNC: Refactor REST authentication handling and improve connection utilities 2026-02-17 07:04:12 +00:00
CI workflows
8d3b7cace8 chore: auto-update github workflows 2026-02-16 16:03:32 +00:00
CI workflows
8f0775e337 Update pro ref 2026-02-16 16:03:16 +00:00
SPRINX0\prochazka
444cb6aa0c SYNC: errors assign 2026-02-16 16:03:05 +00:00
SPRINX0\prochazka
b4acc19ea2 v7.0.7-premium-beta.3 2026-02-16 16:56:20 +01:00
SPRINX0\prochazka
1ef17cd861 SYNC: Masking connections improved #1357 2026-02-16 15:48:21 +00:00
SPRINX0\prochazka
e564e930e5 env config 2026-02-16 16:23:07 +01:00
SPRINX0\prochazka
a30badbbe0 enhance connection masking #1357 2026-02-16 16:23:02 +01:00
SPRINX0\prochazka
b33d21fdb3 v7.0.7-beta.2 2026-02-16 16:11:56 +01:00
SPRINX0\prochazka
78da83f7db fix: optimize query string handling in executeRestApiEndpoint 2026-02-16 15:09:30 +01:00
SPRINX0\prochazka
8f6313d4ec fix: update build process to include dbgate-rest and adjust dependencies 2026-02-16 14:55:46 +01:00
Jan Prochazka
14962a5622 Merge pull request #1360 from dbgate/feature/numeric-sum
Numeric handling in DataGridCore
2026-02-16 14:32:41 +01:00
Jan Prochazka
b8048e7592 Merge pull request #1361 from dbgate/feature/mssql-fk-duplicate
Feature/mssql fk duplicate
2026-02-16 14:25:33 +01:00
SPRINX0\prochazka
cf9823e123 v7.0.7-beta.1 2026-02-16 14:17:16 +01:00
SPRINX0\prochazka
1667dbfde0 added REST fake methods/files 2026-02-16 14:16:41 +01:00
CI workflows
416436a612 chore: auto-update github workflows 2026-02-16 13:01:33 +00:00
CI workflows
dc1b724d8d Update pro ref 2026-02-16 13:01:17 +00:00
Jan Prochazka
080dc44175 SYNC: Merge pull request #51 from dbgate/feature/rest-poc 2026-02-16 13:00:56 +00:00
Stela Augustinova
be148297a2 Fix numeric precision in sum calculation 2026-02-16 13:26:47 +01:00
Stela Augustinova
6cf6d8c876 Use isPlainObject instead of isObject 2026-02-16 13:18:11 +01:00
Stela Augustinova
3921f50feb Removed unnecessary endCommand call in tableOptions method 2026-02-16 07:45:20 +01:00
Stela Augustinova
6fc63be56a fixed duplicate FK 2026-02-16 07:39:18 +01:00
Stela Augustinova
6a03f9a6fe Numeric handling in DataGridCore 2026-02-16 07:22:46 +01:00
00adrn
721fdf09b3 Added option to toggle database formats on and off in Settings->Connection menu. Now, when creating a new connection, only enabled database formats will appear. 2026-02-15 21:01:23 -05:00
SPRINX0\prochazka
bd4a52318b changelog 2026-02-13 09:58:44 +01:00
SPRINX0\prochazka
3978865902 v7.0.6 2026-02-13 09:55:26 +01:00
SPRINX0\prochazka
c1228ee426 v7.0.5 2026-02-13 09:55:08 +01:00
CI workflows
d0c39dc932 chore: auto-update github workflows 2026-02-13 08:50:50 +00:00
CI workflows
63a8586d7c Update pro ref 2026-02-13 08:50:33 +00:00
SPRINX0\prochazka
e0a79c033e SYNC: fix 2026-02-13 08:10:27 +00:00
SPRINX0\prochazka
fa12f127ce v7.0.5-premium-beta.2 2026-02-13 09:04:54 +01:00
SPRINX0\prochazka
10916eadd5 v7.0.5-beta.1 2026-02-13 08:50:20 +01:00
SPRINX0\prochazka
7f4e8e9c8f Crypting passwords when using SHELL_SCRIPTING=1 and env variables #1357 2026-02-13 08:31:14 +01:00
CI workflows
d06840f934 chore: auto-update github workflows 2026-02-10 16:10:26 +00:00
CI workflows
75f4df8b51 Update pro ref 2026-02-10 16:10:08 +00:00
Jan Prochazka
e9ea6d27ae SYNC: Merge pull request #49 from dbgate/feature/reset-password 2026-02-10 16:09:53 +00:00
SPRINX0\prochazka
48019d43c3 v7.0.4 2026-02-09 15:39:46 +01:00
SPRINX0\prochazka
04dbeb633d changelog 2026-02-09 15:39:34 +01:00
SPRINX0\prochazka
71631865c4 v7.0.4-premium-beta.3 2026-02-09 14:50:52 +01:00
Jan Prochazka
d4a39cf481 Merge pull request #1349 from dbgate/feature/mysql-indexes
MySQL FULLTEXT support #1305
2026-02-09 13:16:37 +01:00
SPRINX0\prochazka
3a71dfff64 removed sort by index type 2026-02-09 13:14:52 +01:00
Jan Prochazka
d8c865b3ce Update packages/tools/src/SqlDumper.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 13:11:01 +01:00
SPRINX0\prochazka
71356b798c fixed Error messages in Chinese will display garbled characters. #1321 2026-02-09 13:03:49 +01:00
SPRINX0\prochazka
66ddd1741f MySQL FULLTEXT support #1305 2026-02-09 12:50:18 +01:00
SPRINX0\prochazka
8a60f3c8a7 SYNC: fix: correct typo in numeric_scale variable in getColumnInfo function #1325 2026-02-09 11:07:46 +00:00
Jan Prochazka
25d2a40c50 SYNC: Merge pull request #48 from dbgate/feature/skip-group-by 2026-02-09 08:55:45 +00:00
SPRINX0\prochazka
17b389146c v7.0.4-premium-beta.2 2026-02-06 15:31:39 +01:00
CI workflows
bd1f609b39 chore: auto-update github workflows 2026-02-06 14:10:09 +00:00
CI workflows
01e1831d57 Update pro ref 2026-02-06 14:09:54 +00:00
Jan Prochazka
c341baa781 SYNC: Merge pull request #47 from dbgate/feature/color-refactor-2 2026-02-06 14:09:41 +00:00
Jan Prochazka
995a0c33c3 Merge pull request #1347 from dbgate/feature/color-refactor
Feature/color refactor
2026-02-06 13:42:33 +01:00
SPRINX0\prochazka
75845cb42d fix 2026-02-06 13:41:25 +01:00
SPRINX0\prochazka
822d6acfb0 dark usercolors changed 2026-02-06 13:05:05 +01:00
SPRINX0\prochazka
2c4510a717 color fixes 2026-02-06 13:01:58 +01:00
SPRINX0\prochazka
ac2391c91a connection color in statusbar refactor 2026-02-06 11:13:11 +01:00
SPRINX0\prochazka
e805563ce5 connection color refactor 2026-02-06 10:58:30 +01:00
Jan Prochazka
88fb1d920e Merge pull request #1345 from dbgate/feature/form-view-edit
Feature/form view edit
2026-02-06 09:51:13 +01:00
SPRINX0\prochazka
dca60fad7a Merge branch 'master' into feature/form-view-edit 2026-02-05 16:23:49 +01:00
SPRINX0\prochazka
8226b05e7e SYNC: fixed CSV export 2026-02-05 15:18:16 +00:00
Stela Augustinova
0106331978 Fix loop termination condition in cell selection logic for DataGrid 2026-02-05 15:54:56 +01:00
Stela Augustinova
f5c0e7d2e9 Refactor startEditing function to streamline editable and grider checks 2026-02-05 15:50:21 +01:00
Stela Augustinova
4568b24351 Enhance row selection logic to support primary key filtering in DataGrid 2026-02-05 15:44:46 +01:00
Stela Augustinova
042502f41f Refactor row selection handling to support multiple selected rows in DataGrid 2026-02-05 14:39:56 +01:00
Stela Augustinova
d342d73818 Refactor selection handling in DataGrid to improve row selection logic and UI responsiveness 2026-02-05 14:30:07 +01:00
SPRINX0\prochazka
3b922216c1 changelog 2026-02-05 13:32:12 +01:00
SPRINX0\prochazka
10fa9b6812 v7.0.3 2026-02-05 13:29:47 +01:00
SPRINX0\prochazka
33ccbf790b dark theme fix 2026-02-05 13:29:28 +01:00
SPRINX0\prochazka
50b4baee4b v7.0.2 2026-02-05 13:03:41 +01:00
CI workflows
be57a56095 chore: auto-update github workflows 2026-02-04 15:49:11 +00:00
SPRINX0\prochazka
f351453b9c uncommented azre build 2026-02-04 16:41:01 +01:00
SPRINX0\prochazka
dda67d3351 v7.0.2-premium-beta.3 2026-02-04 16:39:45 +01:00
SPRINX0\prochazka
23e1e744e8 changelog 2026-02-04 16:33:11 +01:00
Jan Prochazka
4b0affe182 SYNC: Merge pull request #46 from dbgate/feature/widget-panel 2026-02-04 14:57:25 +00:00
SPRINX0\prochazka
ab836bc747 v7.0.2-packer-beta.2 2026-02-04 15:24:55 +01:00
SPRINX0\prochazka
cf86d7e352 v7.0.2-packer-beta.1 2026-02-04 15:24:15 +01:00
CI workflows
05a36d3878 chore: auto-update github workflows 2026-02-04 14:23:09 +00:00
CI workflows
0417084a39 Update pro ref 2026-02-04 14:22:51 +00:00
SPRINX0\prochazka
cdfe39f226 SYNC: temporatrily switched off Axure build 2026-02-04 14:22:41 +00:00
SPRINX0\prochazka
b73dde3a48 code format 2026-02-04 13:40:46 +01:00
Jan Prochazka
0dea597226 Merge pull request #1342 from dbgate/feature/mssql-filter-text-empty
Feature/mssql filter text empty
2026-02-04 09:17:34 +01:00
SPRINX0\prochazka
2f38928c89 Refactor DATALENGTH handling for MSSQL empty string checks and update dialect interface 2026-02-04 09:08:31 +01:00
SPRINX0\prochazka
35c7b5e952 Add support for DATALENGTH in MSSQL for empty string checks 2026-02-04 08:56:19 +01:00
Stela Augustinova
ba28b17263 Add shortcut to clear cell value with Ctrl+0 in FormCellView 2026-02-03 15:52:05 +01:00
Stela Augustinova
51b0e004fa Update cell selection to handle bigint and decimal values in DataGrid 2026-02-03 10:50:14 +01:00
Stela Augustinova
8cb59b02a8 Enhance editing behavior to refocus editor if already editing the same column 2026-02-03 10:19:10 +01:00
Stela Augustinova
38bfd130a3 Reset current cell and selection when row count is zero after loading all data 2026-02-02 16:00:53 +01:00
Stela Augustinova
369d90e057 Clear cell selection after applying filter in datagrid 2026-02-02 14:36:32 +01:00
Jan Prochazka
c27cdd1734 Merge pull request #1340 from dbgate/feature/editor-icon-height
Adjust background size for ace gutter SQL run icon
2026-02-02 14:03:58 +01:00
Jan Prochazka
e7e4f39311 Merge pull request #1339 from dbgate/feature/csv-export
Feature/csv export
2026-02-02 14:03:38 +01:00
Stela Augustinova
0443a21e05 Add support for uppercase boolean format in CSV export 2026-02-02 10:41:36 +01:00
Stela Augustinova
50c01886ec Fixed text wrap in cell view 2026-02-02 09:05:37 +01:00
Stela Augustinova
a9e1219f6c Adjust background size for ace gutter SQL run icon 2026-01-30 17:59:37 +01:00
Stela Augustinova
7bc31dde70 Add boolean format option to CSV export configuration 2026-01-30 17:42:07 +01:00
Stela Augustinova
65f2f1d08f Add support for bigint and binary values in CSV export 2026-01-30 15:39:57 +01:00
Stela Augustinova
684027eaab Handle decimal and boolean values in CSV export 2026-01-30 14:59:08 +01:00
Jan Prochazka
1c3ec9c3bb SYNC: Merge pull request #45 from dbgate/feature/statusbar-colors 2026-01-30 06:33:36 +00:00
SPRINX0\prochazka
3a8ff2c05d SYNC: FIXED: Search for database in cloud connection #1329 2026-01-29 14:25:33 +00:00
SPRINX0\prochazka
d5bd179c68 SYNC: configurable toolbar position #1326 2026-01-29 09:54:01 +00:00
SPRINX0\prochazka
8b938a39cf SYNC: changed: prioritize map selection in CellDataWidget autodetection #1330 2026-01-29 08:09:41 +00:00
Jan Prochazka
c9610cbc39 SYNC: Merge pull request #44 from dbgate/feature/test-connection-msentra 2026-01-28 13:52:06 +00:00
SPRINX0\prochazka
931733d605 SYNC: Optimalized loading MySQL primary keys #1261 2026-01-28 07:29:54 +00:00
SPRINX0\prochazka
44e5d0e195 v7.0.1 2026-01-28 08:09:58 +01:00
SPRINX0\prochazka
08b83dc3fd changelog 2026-01-28 07:43:44 +01:00
SPRINX0\prochazka
b7f261a836 v7.0.1-premium-beta.5 2026-01-28 07:39:56 +01:00
SPRINX0\prochazka
d0b4ca33c2 changelog 2026-01-28 07:39:45 +01:00
Jan Prochazka
160391f5a9 SYNC: Merge pull request #43 from dbgate/feature/editor-theme 2026-01-27 15:10:02 +00:00
SPRINX0\prochazka
dfe4a96b02 SYNC: added missing test run 2026-01-27 14:11:15 +00:00
SPRINX0\prochazka
a3f67eb519 SYNC: fixed test 2026-01-27 13:36:07 +00:00
Jan Prochazka
0f9d52552b SYNC: Merge pull request #42 from dbgate/feature/redis-test 2026-01-27 11:59:53 +00:00
SPRINX0\prochazka
a217de4c39 english in templates 2026-01-27 10:47:19 +01:00
SPRINX0\prochazka
d2d85e63f6 english in issue templates 2026-01-27 10:45:51 +01:00
SPRINX0\prochazka
7a6077b5ff SYNC: Ability to skip computed columns is SQL generator SQL Generator #1319 2026-01-26 15:06:56 +00:00
SPRINX0\prochazka
d48c4d9729 SYNC: fixed: The JsonB field in the cell data view always displays as null. #1320 2026-01-26 14:17:27 +00:00
SPRINX0\prochazka
6d677401bf SYNC: FIXED: Foreign key actions not detected on PostgreSQL #1323 2026-01-26 13:56:12 +00:00
SPRINX0\prochazka
a3d4fa2f86 SYNC: fix 2026-01-26 13:04:56 +00:00
SPRINX0\prochazka
59e19b6a22 SYNC: translations 2026-01-26 12:58:25 +00:00
SPRINX0\prochazka
1a76da40d1 SYNC: datagrid translations 2026-01-26 12:58:24 +00:00
SPRINX0\prochazka
cb15ba01f0 SYNC: solarized theme screenshot 2026-01-26 12:20:15 +00:00
SPRINX0\prochazka
78af7f136e SYNC: korean localization 2026-01-26 11:24:02 +00:00
SPRINX0\prochazka
cc6a95b579 SYNC: korean translation 2026-01-26 11:24:00 +00:00
SPRINX0\prochazka
4b3f723bdc SYNC: missing translations 2026-01-26 11:23:58 +00:00
SPRINX0\prochazka
d372e2ff76 SYNC: translations 2026-01-26 11:23:56 +00:00
SPRINX0\prochazka
4201d1cb1e SYNC: translation 2026-01-26 11:09:08 +00:00
SPRINX0\prochazka
afed70ba63 v7.0.1-premium-beta.4 2026-01-26 11:09:06 +01:00
SPRINX0\prochazka
be488346c5 v7.0.1-premium-beta.3 2026-01-26 11:08:04 +01:00
CI workflows
eeeb688439 chore: auto-update github workflows 2026-01-26 10:08:00 +00:00
CI workflows
b84ce77326 Update pro ref 2026-01-26 10:07:42 +00:00
CI workflows
30fca423dc chore: auto-update github workflows 2026-01-26 10:01:44 +00:00
CI workflows
fabbb31572 Update pro ref 2026-01-26 10:01:27 +00:00
SPRINX0\prochazka
ac76ac004e SYNC: admin file - change content 2026-01-26 10:01:17 +00:00
SPRINX0\prochazka
9d2051183a v7.0.1-premium-beta.2 2026-01-26 10:24:19 +01:00
SPRINX0\prochazka
942fdb51d5 v7.0.1-premium.beta.2 2026-01-26 10:20:44 +01:00
CI workflows
d2600a3168 chore: auto-update github workflows 2026-01-26 09:19:22 +00:00
CI workflows
c4248cce22 Update pro ref 2026-01-26 09:19:07 +00:00
SPRINX0\prochazka
16f16f9fed theme docs 2026-01-23 14:51:55 +01:00
SPRINX0\prochazka
d49cb976bc v7.0.1-premium-beta.1 2026-01-23 14:47:45 +01:00
SPRINX0\prochazka
6fae6a9865 changelog 2026-01-23 14:47:23 +01:00
SPRINX0\prochazka
06f3730756 SYNC: upgraded cross-spawn #1322 2026-01-23 13:25:50 +00:00
SPRINX0\prochazka
30e1333f75 SYNC: axios upgrade #1322 2026-01-23 13:18:56 +00:00
Jan Prochazka
0d6fa98767 SYNC: redis test changed 2026-01-22 14:17:52 +00:00
SPRINX0\prochazka
ae6c9edd0d SYNC: green theme screenshot 2026-01-22 12:07:55 +00:00
SPRINX0\prochazka
35de1f1c4e v7.0.0 2026-01-22 10:07:46 +01:00
SPRINX0\prochazka
57142f4afb v7.0.0-alpha.12 2026-01-22 09:47:33 +01:00
CI workflows
cd72d65b89 chore: auto-update github workflows 2026-01-22 08:46:26 +00:00
CI workflows
2199ab0513 Update pro ref 2026-01-22 08:46:10 +00:00
SPRINX0\prochazka
e93f058109 Revert "downgraded NPM refs"
This reverts commit 3f05934b6b.
2026-01-22 09:43:27 +01:00
SPRINX0\prochazka
b68de49cbd v7.0.0-alpha.11 2026-01-22 09:41:58 +01:00
SPRINX0\prochazka
3f05934b6b downgraded NPM refs 2026-01-22 09:41:45 +01:00
SPRINX0\prochazka
3a5713dbb7 v7.0.0-alpha.10 2026-01-22 09:37:36 +01:00
SPRINX0\prochazka
4c43158285 v7.0.0-beta.9 2026-01-22 09:37:24 +01:00
SPRINX0\prochazka
daa743b3b3 upgraded NPM version 2026-01-22 09:37:13 +01:00
SPRINX0\prochazka
41f0ae18c4 changelog - 7.0.0 2026-01-22 09:37:13 +01:00
CI workflows
e6b8aefe5b chore: auto-update github workflows 2026-01-22 07:09:52 +00:00
CI workflows
8b2437cb16 Update pro ref 2026-01-22 07:09:37 +00:00
SPRINX0\prochazka
292495ab0d SYNC: redis CSS variables renamed 2026-01-22 07:09:25 +00:00
CI workflows
017b137d7f chore: auto-update github workflows 2026-01-22 07:02:40 +00:00
CI workflows
7969030313 Update pro ref 2026-01-22 07:02:25 +00:00
SPRINX0\prochazka
c8efad4c3f SYNC: fix 2026-01-22 07:02:13 +00:00
SPRINX0\prochazka
7bf9d8f675 SYNC: redis screenshot 2026-01-22 06:47:32 +00:00
SPRINX0\prochazka
e275f15f00 SYNC: redis hash screenshot 2026-01-21 18:10:20 +00:00
SPRINX0\prochazka
30017a5217 v7.0.0-premium-beta.8 2026-01-21 18:56:13 +01:00
Jan Prochazka
64c5cbe8c3 SYNC: Merge pull request #41 from dbgate/feature/widget-panel 2026-01-21 17:53:24 +00:00
Jan Prochazka
b2b226573c SYNC: Merge pull request #40 from dbgate/feature/redis-refactor-2 2026-01-21 17:44:43 +00:00
CI workflows
69f796998f chore: auto-update github workflows 2026-01-21 10:59:33 +00:00
CI workflows
4d64be3ac7 Update pro ref 2026-01-21 10:59:16 +00:00
Stela Augustinova
4408b794d6 v7.0.0-premium-beta.7 2026-01-21 11:27:06 +01:00
SPRINX0\prochazka
666da8a879 v7.0.0-premium-beta.5 2026-01-21 10:47:10 +01:00
SPRINX0\prochazka
b166342579 v7.0.0-premium-beta.4 2026-01-21 10:47:10 +01:00
SPRINX0\prochazka
433f5bf7d2 compiled workflows 2026-01-21 10:47:10 +01:00
SPRINX0\prochazka
b8ae153ef5 set python version 2026-01-21 10:47:10 +01:00
Jan Prochazka
bb59c2bab7 SYNC: Merge pull request #38 from dbgate/feature/db-icons-light-dark 2026-01-21 08:36:42 +00:00
CI workflows
ab7c6c5118 chore: auto-update github workflows 2026-01-20 09:16:40 +00:00
CI workflows
85c1ea449e Update pro ref 2026-01-20 09:16:26 +00:00
Jan Prochazka
b51d679b78 SYNC: Merge pull request #37 from dbgate/feature/theme-refactor 2026-01-20 09:16:15 +00:00
Jan Prochazka
2a2bc9e625 SYNC: Merge pull request #36 from dbgate/feature/redis-refactor 2026-01-19 15:44:14 +00:00
SPRINX0\prochazka
d00f059567 SYNC: redis styling 2026-01-19 14:27:00 +00:00
SPRINX0\prochazka
81a840347c SYNC: fixed for system dark mode 2026-01-19 14:11:39 +00:00
SPRINX0\prochazka
e691675bf9 SYNC: better mysql icon 2026-01-19 13:43:37 +00:00
SPRINX0\prochazka
9cd57c3ae1 SYNC: removed console.log 2026-01-19 13:31:26 +00:00
CI workflows
0e3310a39b chore: auto-update github workflows 2026-01-19 13:20:59 +00:00
CI workflows
447818ac2a Update pro ref 2026-01-19 13:20:44 +00:00
Jan Prochazka
dd0eb846b0 SYNC: Merge pull request #35 from dbgate/feature/theme-refactor 2026-01-19 13:20:34 +00:00
Jan Prochazka
1b62ca4b21 SYNC: Merge pull request #34 from dbgate/feature/refresh-keys 2026-01-19 13:20:33 +00:00
SPRINX0\prochazka
97ece03853 v7.0.0-premium-beta.3 2026-01-19 12:06:50 +01:00
CI workflows
33a72a0d9d chore: auto-update github workflows 2026-01-18 12:59:19 +00:00
CI workflows
62e61829b4 Update pro ref 2026-01-18 12:59:05 +00:00
Jan Prochazka
ad9d12260e SYNC: Merge pull request #33 from dbgate/feature/theme-refactor 2026-01-18 12:58:54 +00:00
CI workflows
fe54c9495f chore: auto-update github workflows 2026-01-16 17:37:53 +00:00
CI workflows
456afce6ca Update pro ref 2026-01-16 17:37:34 +00:00
Jan Prochazka
8ecbb4d4a4 SYNC: Merge pull request #32 from dbgate/feature/theme-refactor 2026-01-16 17:37:25 +00:00
CI workflows
92564397f4 chore: auto-update github workflows 2026-01-13 18:16:19 +00:00
CI workflows
62b2805c9d Update pro ref 2026-01-13 18:15:53 +00:00
Jan Prochazka
985af8b0bb SYNC: Merge pull request #31 from dbgate/feature/theme-refactor 2026-01-13 18:15:39 +00:00
Jan Prochazka
58c3b180dc SYNC: Merge pull request #30 from dbgate/feature/theme-refactor 2026-01-12 16:07:18 +00:00
CI workflows
d260959b96 chore: auto-update github workflows 2026-01-09 15:48:18 +00:00
CI workflows
6e11197348 Update pro ref 2026-01-09 15:48:04 +00:00
Jan Prochazka
04d5bef4d2 SYNC: Merge pull request #29 from dbgate/feature/theme-colors 2026-01-09 15:47:53 +00:00
SPRINX0\prochazka
1ccc5ce4e1 v7.0.0-beta.2 2026-01-09 13:54:54 +01:00
Stela Augustinova
a94ef1db80 Merge commit '1c493a8dc0ef5d64cfa6044b68107c8245befd98' 2026-01-09 13:53:19 +01:00
Jan Prochazka
5513c624c3 SYNC: Merge pull request #28 from dbgate/feature/redis-wip-1 2026-01-09 12:24:44 +00:00
Stela Augustinova
1c493a8dc0 v7.0.0-premium-beta.1 2026-01-09 09:43:04 +01:00
CI workflows
3fa051a6c3 chore: auto-update github workflows 2026-01-08 13:09:18 +00:00
CI workflows
876171b83d Update pro ref 2026-01-08 13:09:05 +00:00
Jan Prochazka
68521298ff SYNC: Merge pull request #27 from dbgate/feature/team-folders 2026-01-08 13:08:53 +00:00
Jan Prochazka
c648926e49 SYNC: Merge pull request #26 from dbgate/feature/theme-colors 2026-01-08 08:48:38 +00:00
CI workflows
1cd259a261 chore: auto-update github workflows 2026-01-08 07:26:57 +00:00
SPRINX0\prochazka
ef1fe07157 images from master 2026-01-08 08:26:37 +01:00
Jan Prochazka
9ae8f7f406 SYNC: Merge pull request #25 from dbgate/feature/redis-gui-refactor 2026-01-07 12:25:04 +00:00
SPRINX0\prochazka
363cbaac32 SYNC: Pin button for opened tab 2026-01-06 10:08:27 +00:00
SPRINX0\prochazka
435b2cf23c SYNC: opened tabs filter, closed tabs filter 2026-01-06 09:32:24 +00:00
SPRINX0\prochazka
bd1a87f5f0 SYNC: opened tabs widget 2026-01-06 08:30:11 +00:00
SPRINX0\prochazka
c57218adb2 SYNC: removed toolbar 2026-01-06 07:39:09 +00:00
SPRINX0\prochazka
a56d2a3eca SYNC: removed usages of ToolbarButton 2026-01-06 07:28:44 +00:00
SPRINX0\prochazka
b324130e30 SYNC: fixed adding to favorites 2026-01-06 07:08:52 +00:00
SPRINX0\prochazka
566a6e5836 Differentiate pinned database with same name by color mark #1306 2026-01-05 17:07:52 +01:00
SPRINX0\prochazka
bcca407a5e Differentiate pinned database with same name #1306 2026-01-05 16:58:04 +01:00
SPRINX0\prochazka
10c6832718 SYNC: fixed E2E test 2026-01-05 14:55:12 +00:00
SPRINX0\prochazka
1ad8db20b4 SYNC: fixed E2E tests 2026-01-02 15:47:25 +00:00
SPRINX0\prochazka
43233747be widget icon panel theming 2026-01-02 16:03:37 +01:00
SPRINX0\prochazka
56354afa9b removed old theming 2026-01-02 15:55:50 +01:00
SPRINX0\prochazka
7f686a817b fake component 2026-01-02 15:37:30 +01:00
CI workflows
10534ff75a chore: auto-update github workflows 2026-01-02 14:28:03 +00:00
CI workflows
da39be79a4 Update pro ref 2026-01-02 14:27:48 +00:00
SPRINX0\prochazka
8a1ca80e28 removed file 2026-01-02 15:16:04 +01:00
CI workflows
ca29a3a272 chore: auto-update github workflows 2026-01-02 14:12:17 +00:00
CI workflows
1a115bda82 Update pro ref 2026-01-02 14:12:00 +00:00
Jan Prochazka
130e49bf1d SYNC: Merge pull request #24 from dbgate/feature/theme-chat 2026-01-02 14:11:46 +00:00
CI workflows
552c84f910 chore: auto-update github workflows 2025-12-29 15:05:27 +00:00
CI workflows
d1a0111705 Update pro ref 2025-12-29 15:05:12 +00:00
Jan Prochazka
5bc285041b SYNC: Merge pull request #23 from dbgate/feature/db-icons 2025-12-29 15:05:02 +00:00
Jan Prochazka
c96a522a1b SYNC: postgres sfill 2025-12-29 14:21:08 +00:00
Jan Prochazka
def2dadca1 Merge pull request #1307 from dbgate/feature/redis-gui-refactor
Feature/redis gui refactor
2025-12-29 15:18:32 +01:00
Jan Prochazka
46a52e2b2f Merge branch 'stable' 2025-12-29 14:12:20 +01:00
Jan Prochazka
1835776200 changelog 2025-12-29 14:11:52 +01:00
Jan Prochazka
efaa4893bf v6.8.2 2025-12-29 14:08:42 +01:00
Jan Prochazka
be8580cc4b v6.8.2-premium-beta.1 2025-12-29 11:20:21 +01:00
Jan Prochazka
e43bb3123b fixed connections scaffold for postgres 2025-12-29 11:19:58 +01:00
Stela Augustinova
3078e3584c Refactor DbKeyDetailTab to streamline insert handling for Redis data types 2025-12-23 19:32:50 +01:00
Stela Augustinova
6689849f97 Add field insert functionality for Redis data types 2025-12-23 19:04:41 +01:00
Stela Augustinova
7281ee1565 Refactor DbKeyDetailTab and related components to handle item changes 2025-12-23 14:22:31 +01:00
Stela Augustinova
4c12ee3b14 Added delete functionality for list, hash, set, zset and stream fields. 2025-12-23 09:05:04 +01:00
SPRINX0\prochazka
dc0ae69f65 Merge branch 'stable' 2025-12-22 11:52:42 +01:00
SPRINX0\prochazka
0dba4ba653 changelog 2025-12-22 11:52:23 +01:00
SPRINX0\prochazka
758d8689ab v6.8.1 2025-12-22 11:51:25 +01:00
Jan Prochazka
f119ccf5a0 SYNC: Merge pull request #22 from dbgate/feature/tailwind-poc 2025-12-22 08:53:36 +00:00
CI workflows
c86c6486b9 chore: auto-update github workflows 2025-12-22 07:27:54 +00:00
SPRINX0\prochazka
6ed5c163ba Merge branch 'stable' 2025-12-22 08:27:29 +01:00
SPRINX0\prochazka
2c14530e3c fixded data grid column click scroll #1303 2025-12-22 08:20:23 +01:00
Jan Prochazka
6d30e1921e Merge pull request #1302 from dbgate/feature/db-icons
Feature/db icons
2025-12-19 15:45:35 +01:00
Stela Augustinova
7ff84a9932 Refactor DbKeyDetailTab to integrate Redis data type editors for list, hash, zset, set, and stream 2025-12-19 15:40:09 +01:00
Stela Augustinova
bcff01b0bf Implement handleSaveRedisData for Redis data types including JSON, hash, zset, and list 2025-12-19 15:16:19 +01:00
Stela Augustinova
8cd09342e1 Add read-only attribute to Redis driver key fields 2025-12-19 15:10:30 +01:00
Jan Prochazka
802e78d3b7 Merge pull request #1190 from dbgate/feature/svelte4
Feature/svelte4
2025-12-19 14:00:23 +01:00
Stela Augustinova
e6c938e5d0 Implement saveRedisData functionality and update API call in DbKeyDetailTab 2025-12-19 13:46:09 +01:00
Stela Augustinova
7b6595124f Refactor DbKeyDetailTab to replace DbKeyItemEdit with DbKeyItemDetail and streamline change tracking logic 2025-12-19 13:45:28 +01:00
SPRINX0\prochazka
c33408a1f7 yarn lock 2025-12-19 13:29:59 +01:00
SPRINX0\prochazka
160d53701b Merge branch 'master' into feature/svelte4 2025-12-19 13:26:16 +01:00
SPRINX0\prochazka
1f19d1925a screenshots only from stable branch 2025-12-19 13:23:02 +01:00
Stela Augustinova
50680a4f2e Added read-only field handling for Redis data types 2025-12-19 12:27:10 +01:00
Stela Augustinova
18307b2e03 Refactor DbKeyItemDetail and DbKeyValueDetail for improved layout and editor responsiveness 2025-12-19 12:19:07 +01:00
Stela Augustinova
b03ad80451 Update icons for various database drivers and improve FontIcon styles 2025-12-19 09:34:44 +01:00
SPRINX0\prochazka
dedfe1f421 SYNC: filter by expanded column 2025-12-18 15:57:53 +00:00
SPRINX0\prochazka
1cf583d197 SYNC: fix 2025-12-18 15:34:37 +00:00
Stela Augustinova
1deaa4c30d Refactor DbKeyTab to replace FormStyledButton with ToolStripButton 2025-12-18 16:30:01 +01:00
Stela Augustinova
90316f106a Fixed adding zset key 2025-12-18 16:26:32 +01:00
SPRINX0\prochazka
63693f908d SYNC: group by screenshot 2025-12-18 15:12:29 +00:00
Stela Augustinova
6905e4a2a1 Refactor DbKeyTab to integrate new DbKeyValue components for improved Redis data type handling 2025-12-18 16:05:48 +01:00
CI workflows
4489a54e82 chore: auto-update github workflows 2025-12-18 14:17:05 +00:00
CI workflows
6d48915945 Update pro ref 2025-12-18 14:16:46 +00:00
SPRINX0\prochazka
00f3a7f4db SYNC: translations 2025-12-18 11:48:40 +00:00
Stela Augustinova
f9c47ab233 Add DbKeyValueHashEdit component for editing hash key values in DbKeyTab 2025-12-18 12:37:12 +01:00
Stela Augustinova
28712b205f Refactor DbKeyDetailTab to use DbKeyItemEdit component for editing key items 2025-12-18 09:15:56 +01:00
Stela Augustinova
69b1fb1bfd Add support for SVG icons in FontIcon component and update connection icon logic 2025-12-17 16:15:35 +01:00
Stela Augustinova
8a22f9215f Added svg icons for engines 2025-12-17 16:13:20 +01:00
SPRINX0\prochazka
c5ebc01978 v6.8.0 2025-12-17 15:38:39 +01:00
SPRINX0\prochazka
f29b468fc1 changelog 2025-12-17 15:33:41 +01:00
SPRINX0\prochazka
e796fbb990 save export jobs only in proapp 2025-12-17 14:58:12 +01:00
CI workflows
37a122c981 chore: auto-update github workflows 2025-12-17 13:42:41 +00:00
CI workflows
4f426a73f6 Update pro ref 2025-12-17 13:42:25 +00:00
Jan Prochazka
1bcb74cd85 SYNC: Merge pull request #20 from dbgate/feature/sfill2 2025-12-17 13:42:13 +00:00
SPRINX0\prochazka
cd88c8de78 v6.7.4-premium-beta.2 2025-12-17 12:28:27 +01:00
CI workflows
eee288b45b chore: auto-update github workflows 2025-12-17 11:27:35 +00:00
CI workflows
797cb7615d Update pro ref 2025-12-17 11:27:20 +00:00
Jan Prochazka
ca4667ff1e SYNC: Merge pull request #19 from dbgate/feature/sfill 2025-12-17 11:27:08 +00:00
Jan Prochazka
66d1143ca0 replicator - support for skip update columns 2025-12-16 14:43:44 +01:00
SPRINX0\prochazka
f310916c76 SYNC: fix 2025-12-16 09:30:38 +00:00
SPRINX0\prochazka
5d3d8ab932 v6.7.4-beta.1 2025-12-16 09:02:17 +01:00
Stela Augustinova
07117c90d1 Use changeset in DbKeyTableControl, update values 2025-12-15 16:19:00 +01:00
SPRINX0\prochazka
fd91c18460 SYNC: fixed e2e tests + new form cell view test 2025-12-15 15:03:43 +00:00
Stela Augustinova
5d92c0e85e Refactor ChangeSetRedis_Hash interface to use 'key' instead of 'field' for inserts and updates 2025-12-15 14:29:45 +01:00
Jan Prochazka
2a12c04518 Merge pull request #1299 from dbgate/feature/wordwrap-editor
Feature/wordwrap editor
2025-12-15 13:26:54 +01:00
CI workflows
d08cae6fa3 chore: auto-update github workflows 2025-12-15 12:23:33 +00:00
SPRINX0\prochazka
d7f9de1881 concurrency settings for workflows 2025-12-15 13:23:10 +01:00
SPRINX0\prochazka
962190cc57 SYNC: code cleanup 2025-12-15 12:08:07 +00:00
SPRINX0\prochazka
4527866276 SYNC: form cell view - show JSON 2025-12-15 12:08:05 +00:00
SPRINX0\prochazka
088dfcd4dc SYNC: renamed table cell view => form cell view 2025-12-15 12:08:03 +00:00
SPRINX0\prochazka
6c317b6e64 SYNC: table cell view - single click 2025-12-15 12:08:01 +00:00
SPRINX0\prochazka
6b66c273b4 SYNC: fixed display numbers 2025-12-15 12:07:59 +00:00
SPRINX0\prochazka
60f31008c0 SYNC: table cell view UX 2025-12-15 12:07:58 +00:00
SPRINX0\prochazka
078f74db97 SYNC: cell data - allow to edit 2025-12-15 12:07:56 +00:00
SPRINX0\prochazka
a0b025cf59 SYNC: Run macro context menu 2025-12-15 12:07:54 +00:00
SPRINX0\prochazka
bc695f5af9 SYNC: run macro WIP 2025-12-15 12:07:52 +00:00
SPRINX0\prochazka
9685e63b09 SYNC: table cell view refactor 2025-12-15 12:07:50 +00:00
SPRINX0\prochazka
142791360c SYNC: working widget resizing 2025-12-15 12:07:48 +00:00
SPRINX0\prochazka
e004ed2f4b SYNC: widget bar fix 2025-12-15 12:07:47 +00:00
SPRINX0\prochazka
23ed487252 SYNC: fix 2025-12-15 12:07:45 +00:00
SPRINX0\prochazka
efefec3c20 SYNC: widgetbar refactor 2025-12-15 12:07:43 +00:00
SPRINX0\prochazka
3d2ad1cb9b SYNC: resize WIP 2025-12-15 12:07:41 +00:00
SPRINX0\prochazka
90d3016938 SYNC: resize heights 2025-12-15 12:07:39 +00:00
SPRINX0\prochazka
438f9fc94d SYNC: better widget panel height processing 2025-12-15 12:07:37 +00:00
SPRINX0\prochazka
82ec88cc2f SYNC: recompute WIP 2025-12-15 12:07:36 +00:00
SPRINX0\prochazka
149611041e SYNC: widget configuration saved to storage 2025-12-15 12:07:33 +00:00
SPRINX0\prochazka
b12c79462e SYNC: widget column bar update 2025-12-15 12:07:31 +00:00
SPRINX0\prochazka
fbf34fb730 SYNC: widgetcolumnbar refactor 2025-12-15 12:07:29 +00:00
SPRINX0\prochazka
e1fe3eb710 SYNC: widgetcolumnbar props 2025-12-15 12:07:27 +00:00
SPRINX0\prochazka
76ae2e0e5a SYNC: improved data grid navigation 2025-12-15 12:07:25 +00:00
SPRINX0\prochazka
a57063adf7 SYNC: refactor 2025-12-15 12:07:24 +00:00
SPRINX0\prochazka
ff0157e624 SYNC: autodetect data grid cell 2025-12-15 12:07:22 +00:00
SPRINX0\prochazka
af9701feb8 SYNC: cell data view 2025-12-15 12:07:20 +00:00
SPRINX0\prochazka
93c1f31588 SYNC: removed selectedCellsCallback 2025-12-15 12:07:17 +00:00
SPRINX0\prochazka
1964e54476 SYNC: cell data widget moved 2025-12-15 12:07:15 +00:00
Stela Augustinova
4682255d5f Refactor SQL editor settings layout and update word wrap field type 2025-12-15 13:02:11 +01:00
Stela Augustinova
a503898b21 Refactor SQL editor to integrate word wrap settings and remove redundant options in QueryTab 2025-12-15 12:44:04 +01:00
Stela Augustinova
21352dae07 Revert "Implement word wrap feature in SQL editor and settings"
This reverts commit 28aa86f0aa.
2025-12-15 12:37:15 +01:00
Jan Prochazka
8470c7ac6b Merge pull request #1297 from dbgate/feature/redis-number-of-db
Retrieve the number of databases from Redis configuration
2025-12-15 10:50:53 +01:00
Stela Augustinova
28aa86f0aa Implement word wrap feature in SQL editor and settings 2025-12-14 17:26:25 +01:00
Stela Augustinova
3ed214269a Retrieve the number of databases from Redis configuration 2025-12-12 11:15:26 +01:00
Stela Augustinova
37b5183be2 Add ChangeSetRedis interfaces for Redis data types 2025-12-11 15:02:32 +01:00
Stela Augustinova
a79896aa2e Added TTL for hash fields 2025-12-10 16:46:13 +01:00
Stela Augustinova
d5bd40873e Update icon class for ReJSON type in FontIcon component 2025-12-10 15:55:45 +01:00
Stela Augustinova
52f1809d22 Pass keyType to DbKeyValueDetail for AceEditor mode 2025-12-10 15:55:24 +01:00
Stela Augustinova
51d8fa7268 Add support for JSON type in getIconForRedisType function 2025-12-10 15:44:48 +01:00
Stela Augustinova
4d1167a6d6 Fix parsing of JSON data 2025-12-10 15:44:36 +01:00
Stela Augustinova
8fa1459e5b Add support for ReJSON-RL commands and JSON data type in Redis driver 2025-12-10 14:32:36 +01:00
Stela Augustinova
baf3914be8 Updated button label from 'Add item' to 'Add field' 2025-12-10 13:57:40 +01:00
Stela Augustinova
bd2721d3ec Added key rename modal 2025-12-10 13:57:09 +01:00
Stela Augustinova
f30b96b360 Refactor DbKeyDetailTab to use ToolStrip for action buttons and improve layout structure 2025-12-10 12:34:28 +01:00
Stela Augustinova
4772c0e110 Add support for 'zadd' command and update key fields in Sorted Set configuration 2025-12-10 12:18:45 +01:00
Stela Augustinova
4a0af08ae5 Update key type display in DbKeyDetailTab to use label if available 2025-12-10 10:34:19 +01:00
SPRINX0\prochazka
a71129df4b SYNC: AI assistant 2025-12-10 07:13:16 +00:00
SPRINX0\prochazka
de6acfa1ce Revert "Revert "MPR archive""
This reverts commit ccf075dc65.
2025-12-10 07:48:30 +01:00
SPRINX0\prochazka
ccf075dc65 Revert "MPR archive"
This reverts commit 391d04b45c.
2025-12-10 07:36:03 +01:00
SPRINX0\prochazka
1d8ac3cf86 Revert "MPR advanced exports"
This reverts commit 864797fc99.
2025-12-10 07:36:03 +01:00
Stela Augustinova
623a23492f Add initial key name support in DbKeyTab and DbKeysTree components 2025-12-09 16:39:36 +01:00
Jan Prochazka
7a8ff89c5c Merge pull request #1293 from dbgate/feature/FK-test
Feature/fk test
2025-12-09 16:22:29 +01:00
CI workflows
eda70def2a chore: auto-update github workflows 2025-12-09 15:02:50 +00:00
CI workflows
08fd75edc7 Update pro ref 2025-12-09 15:02:30 +00:00
Jan Prochazka
15ea53864f SYNC: Merge pull request #18 from dbgate/feature/translation5 2025-12-09 15:02:19 +00:00
Stela Augustinova
056ee0d58e Created tab for adding key, replaced modal 2025-12-09 13:55:21 +01:00
Jan Prochazka
377cd64556 Revert "try to comment out earlier patch"
This reverts commit 955ca99cf3.
2025-12-09 12:56:47 +01:00
Stela Augustinova
b37744d574 Merge pull request #1296 from dbgate/feature/map-autodetect-lat-lon
Feature/map autodetect lat lon
2025-12-09 11:01:49 +01:00
Stela Augustinova
a7f21fe0c6 Merge pull request #1292 from dbgate/feature/table-cell-data-view
Feature/table cell data view
2025-12-09 11:00:19 +01:00
Jan Prochazka
955ca99cf3 try to comment out earlier patch 2025-12-09 10:46:25 +01:00
Jan Prochazka
98f5bb4124 sanitize constraints 2025-12-09 10:45:38 +01:00
Jan Prochazka
b3943f005d alter table fixed 2025-12-08 17:35:29 +01:00
Jan Prochazka
8d4178b984 grouped table recreates 2025-12-08 16:57:09 +01:00
Stela Augustinova
2a88ed38c4 Added translation tags to TableCellView component, updated decimal handling 2025-12-08 16:45:18 +01:00
Jan Prochazka
52dce7dfd3 disabled grouping recreate table OPs 2025-12-08 16:41:55 +01:00
Stela Augustinova
6ebee92542 Merge branch 'master' into feature/table-cell-data-view 2025-12-08 16:07:55 +01:00
Jan Prochazka
1b5646f526 Revert "fix: correct reference from wholeNewDb to wholeOldDb in AlterPlan class"
This reverts commit 12e6afbaad.
2025-12-08 16:05:50 +01:00
Jan Prochazka
7024e4b40d Merge pull request #1289 from dbgate/feature/postgresql-decimal
Postgresql decimal
2025-12-08 15:42:19 +01:00
Jan Prochazka
bc2e27d7da Merge pull request #1290 from david-pivonka/feature/table-cell-data-view
Add Table format to Cell data view sidebar
2025-12-08 15:35:35 +01:00
Jan Prochazka
189da2bfe2 Merge pull request #1291 from david-pivonka/fix/map-autodetect-lat-lon
Improve Map view lat/lon field autodetection
2025-12-08 15:33:58 +01:00
Stela Augustinova
12e6afbaad fix: correct reference from wholeNewDb to wholeOldDb in AlterPlan class 2025-12-08 15:27:45 +01:00
David Pivoňka
142ebe3d27 Fix scrolling in Table - Row view
Use absolute positioning pattern for proper scrolling behavior
when many columns are displayed.
2025-12-08 15:23:59 +01:00
Stela Augustinova
7579f6e42a fix: comment out incremental analysis in testTableDiff and correct clickhouse image reference 2025-12-08 15:19:27 +01:00
David Pivoňka
38c25cae74 Add multi-row selection support with bulk editing
- Show "(Multiple values)" when selected rows have different values
- Allow bulk editing: changes apply to all selected rows
- Rename format to "Table - Row" for clarity
2025-12-08 15:01:02 +01:00
David Pivoňka
408496eb7c Improve Map view lat/lon field autodetection
Prioritize field names that are more likely to be actual latitude/longitude
fields instead of randomly selecting the first numeric field containing
"lat" or "lon" in its name.
2025-12-08 14:42:56 +01:00
Jan Prochazka
4d61c74a8b fixed tes on CI 2025-12-08 14:34:45 +01:00
David Pivoňka
190c610466 Add column filter/search to Table cell data view
Adds a search input at the top of the Table view that filters columns
by name with regex support.
2025-12-08 14:31:38 +01:00
Jan Prochazka
85b7e3ebe3 fixed sqlite test folder 2025-12-08 14:18:28 +01:00
Stela Augustinova
c6d3fc06a3 Add support for deserializing decimal type 2025-12-08 13:57:10 +01:00
David Pivoňka
d220525ac7 Use braces for isChangedRef.get() blocks to match codebase style 2025-12-08 13:47:35 +01:00
David Pivoňka
5e4a631ff2 Remove comments and apply early return pattern 2025-12-08 13:43:41 +01:00
David Pivoňka
9099ce42b9 Add Table format to Cell data view sidebar
Adds a new "Table" format option to the Cell data view widget that
displays the selected row as a vertical list with column names above
values, inspired by TablePlus.

Features:
- Shows all columns from the selected row in grid display order
- Inline editing support for regular values (double-click to edit)
- JSON values open Edit Cell modal on double-click
- Open-in-new button for JSON values to view in JSON tab
2025-12-08 13:37:55 +01:00
Jan Prochazka
df226fea22 import test - greater timeout 2025-12-08 13:12:08 +01:00
Jan Prochazka
851d2e9151 fixed double drop constraint 2025-12-08 13:05:38 +01:00
Stela Augustinova
e67ee4ffdb Add support for PostgreSQL decimal type in filter and grid utilities 2025-12-08 12:52:47 +01:00
Stela Augustinova
2baf975847 Added PostgreSQL decimal type in DataGridCell component 2025-12-05 13:14:14 +01:00
Stela Augustinova
c1672ebc8e Handling decimal values in putValue method 2025-12-05 13:13:56 +01:00
Stela Augustinova
bbbd291065 Formatting decimal values in stringifyCellValue function 2025-12-05 13:13:29 +01:00
Stela Augustinova
0a3c1efdd4 Add support for parsing bigint and decimal types in PostgreSQL driver 2025-12-05 13:13:08 +01:00
SPRINX0\prochazka
89121a2608 handled UTF-8 BOM in CSV input 2025-12-04 16:44:08 +01:00
SPRINX0\prochazka
23cf264d4d fix 2025-12-04 16:29:06 +01:00
Stela Augustinova
b3130225b5 Filter out primary key columns in nullability change tests 2025-12-04 14:53:08 +01:00
Stela Augustinova
65512defed Merge branch 'master' into feature/FK-test 2025-12-04 14:36:14 +01:00
Stela Augustinova
3b1c8748f1 Add createForeignKeyFore method to handle foreign key creation (Oracle) 2025-12-04 14:34:26 +01:00
Stela Augustinova
aba660eddb Fix nullability filter in alter table tests 2025-12-04 14:08:22 +01:00
Stela Augustinova
137eac7dbf Add dropColumnDependencies property to dialect configuration 2025-12-04 14:07:55 +01:00
Stela Augustinova
fdbd08f511 Added FK constraint type for sqlite 2025-12-04 13:00:06 +01:00
Stela Augustinova
ace1cec1f6 Delete FK from drop column 2025-12-04 10:00:48 +01:00
Jan Prochazka
0c15e524d7 changelog 2025-12-03 18:32:14 +01:00
Jan Prochazka
b0b5b1c30d v6.7.3 2025-12-03 18:22:02 +01:00
Jan Prochazka
30b4c85c5a better formating 2025-12-03 18:21:04 +01:00
Jan Prochazka
910f9cadfe v6.7.3-premium-beta.1 2025-12-03 17:37:20 +01:00
Jan Prochazka
6de37ebd16 cypress mocha reporter 2025-12-03 17:33:37 +01:00
Jan Prochazka
de57c4e87e Skip tests with AI API calls 2025-12-03 17:14:51 +01:00
Jan Prochazka
b85cf66490 Merge branch 'feature/pgsql-droptable-fix' 2025-12-03 17:06:45 +01:00
Jan Prochazka
8e638ea9a6 fix 2025-12-03 17:00:04 +01:00
Jan Prochazka
b4849ec495 fix problem with diff analysing after drop object 2025-12-03 16:47:50 +01:00
Jan Prochazka
09c12d52ac more tests 2025-12-03 16:39:42 +01:00
Jan Prochazka
db6a2ddd7e Merge pull request #1286 from dbgate/feature/custom-thousands-separator
Feature/custom thousands separator
2025-12-03 15:40:04 +01:00
Jan Prochazka
12ef9463ab Merge pull request #1284 from dbgate/feature/numeric-align-right
Added isTypeNumber check for right alignment in DataGridCell
2025-12-03 15:37:58 +01:00
Stela Augustinova
fa5fda0c3b Incremental analysis 2025-12-03 15:31:05 +01:00
Stela Augustinova
251609e274 Update foreign key references when dropping or renaming columns in alter table tests 2025-12-03 15:21:12 +01:00
Jan Prochazka
a557ad177e changelog 2025-12-03 14:57:11 +01:00
Stela Augustinova
c0287e49d8 FK test 2025-12-03 14:28:58 +01:00
Stela Augustinova
78e838f2f0 Custom thousands separator formatting in grid cell values 2025-12-03 13:53:47 +01:00
Stela Augustinova
c1f216c7c7 Deleted checkbox for thousands separator and updated select field options 2025-12-03 13:53:10 +01:00
Jan Prochazka
b75ff99e4c v6.7.2 2025-12-03 13:44:35 +01:00
Jan Prochazka
780dd8ade9 language icon 2025-12-03 13:37:13 +01:00
Jan Prochazka
e1c10b7653 v6.7.2-beta.7 2025-12-03 12:57:52 +01:00
Jan Prochazka
be9505f8fe SYNC: translations 2025-12-03 11:55:53 +00:00
Jan Prochazka
d6bcd4f94f changelog 2025-12-03 12:52:40 +01:00
Jan Prochazka
7d2196f4c3 v6.7.2-premium-beta.6 2025-12-03 12:42:25 +01:00
Jan Prochazka
0539174317 SYNC: fixed e2e test 2025-12-03 11:34:55 +00:00
Jan Prochazka
b4b52e12d5 SYNC: try to fix test 2025-12-03 10:13:16 +00:00
CI workflows
f2e0b1cfa2 chore: auto-update github workflows 2025-12-03 10:10:08 +00:00
CI workflows
8020e2a263 Update pro ref 2025-12-03 10:09:55 +00:00
Jan Prochazka
6112d9b1b0 SYNC: settings storage changed 2025-12-03 10:09:42 +00:00
Stela Augustinova
4a1fbcbd31 Added select field for thousands separator 2025-12-03 10:46:34 +01:00
Stela Augustinova
a02a3230f1 Added isTypeNumber check for right alignment in DataGridCell 2025-12-03 10:34:09 +01:00
CI workflows
0218bb4990 chore: auto-update github workflows 2025-12-03 07:43:56 +00:00
CI workflows
3769c03565 Update pro ref 2025-12-03 07:43:40 +00:00
SPRINX0\prochazka
d96cb10476 behaviour settings changed 2025-12-02 18:14:55 +01:00
SPRINX0\prochazka
b6b6123434 refresh DB - don't offer incremental analysis when not supported 2025-12-02 18:07:28 +01:00
SPRINX0\prochazka
b40877fcc1 fix - don't show update mode in web 2025-12-02 17:59:41 +01:00
SPRINX0\prochazka
af5ae29b73 changelog 2025-12-02 17:51:44 +01:00
SPRINX0\prochazka
082fceebbe v6.7.2-premium-beta.5 2025-12-02 17:29:27 +01:00
CI workflows
f1dab80a06 chore: auto-update github workflows 2025-12-02 15:10:33 +00:00
CI workflows
cbf2fac2cf Update pro ref 2025-12-02 15:10:16 +00:00
Jan Prochazka
4564bd7180 SYNC: Merge pull request #17 from dbgate/feature/settings-test 2025-12-02 15:10:00 +00:00
SPRINX0\prochazka
d12ad7b882 SYNC: sorted translation keys 2025-12-02 13:42:48 +00:00
SPRINX0\prochazka
f8e9f07a00 SYNC: translated files 2025-12-02 13:42:46 +00:00
Jan Prochazka
4ac3891e07 Merge pull request #1281 from dbgate/feature/translation4
Feature/translation4
2025-12-02 14:11:51 +01:00
SPRINX0\prochazka
a2d55d3fdd SYNC: removed button 2025-12-02 13:09:32 +00:00
Stela Augustinova
d015a24300 Merge branch 'master' into feature/translation4 2025-12-02 14:03:59 +01:00
Stela Augustinova
be38acbede Update translation tag for columns count 2025-12-02 14:01:04 +01:00
Stela Augustinova
34d0cb4dc7 Refactor translation tags in ResultTabs component to use _t function 2025-12-02 13:58:31 +01:00
SPRINX0\prochazka
18d0558b19 SYNC: fixed language test 2025-12-02 12:47:33 +00:00
SPRINX0\prochazka
d4469f3a2d SYNC: fixed import CSV test 2025-12-02 12:08:16 +00:00
SPRINX0\prochazka
43b760b4bf fix 2025-12-02 12:34:57 +01:00
SPRINX0\prochazka
3d47932c09 v6.7.2-premium-beta.4 2025-12-02 12:26:52 +01:00
SPRINX0\prochazka
7196d6e1bf SYNC: fixed plugin tyab test, moived to add-connection tests 2025-12-02 11:16:05 +00:00
SPRINX0\prochazka
ec06a7d861 SYNC: restore table fixes & backup table tests 2025-12-02 10:08:38 +00:00
Jan Prochazka
ef23f0d18e Merge pull request #1280 from dbgate/feature/settings-tab-update2
Feature/settings tab update2
2025-12-02 10:28:21 +01:00
Stela Augustinova
e9abc5f07f Changed translation tag 2025-12-02 10:27:21 +01:00
Stela Augustinova
6f9d6ff849 Changed initial width of settings menu items 2025-12-02 10:21:39 +01:00
Stela Augustinova
eab18d3c11 Update general settings layout 2025-12-02 10:16:16 +01:00
SPRINX0\prochazka
3a509a6a97 SYNC: backup test WIP 2025-12-01 16:09:20 +00:00
SPRINX0\prochazka
615c6f4e24 SYNC: popup menu fix 2025-12-01 15:43:24 +00:00
CI workflows
96660b4539 chore: auto-update github workflows 2025-12-01 15:37:27 +00:00
CI workflows
1be284974b Update pro ref 2025-12-01 15:37:11 +00:00
Jan Prochazka
790b6478dc Merge pull request #1279 from dbgate/feature/settings-tab-update
Feature/settings tab update
2025-12-01 16:28:21 +01:00
Stela Augustinova
106344b33e Deleted Settings Modal 2025-12-01 16:26:20 +01:00
Stela Augustinova
85a2a4b873 Revert "Button for svg export"
This reverts commit 352b6cbe04.
2025-12-01 16:22:35 +01:00
Stela Augustinova
4ab694de0c Added top border for first menu item 2025-12-01 16:14:23 +01:00
Stela Augustinova
5e193c1725 Removed Other settings component 2025-12-01 16:10:30 +01:00
Stela Augustinova
2b055c028c Update theme command to open settings tab with selected item 2025-12-01 16:00:05 +01:00
SPRINX0\prochazka
b341749e45 v6.7.2-premium-beta.3 2025-12-01 15:48:06 +01:00
Stela Augustinova
6ae381b1fd Merge branch 'master' of https://github.com/dbgate/dbgate 2025-12-01 15:45:42 +01:00
Stela Augustinova
352b6cbe04 Button for svg export 2025-12-01 15:45:16 +01:00
CI workflows
e5e6d2701e chore: auto-update github workflows 2025-12-01 14:28:22 +00:00
CI workflows
9ad1924488 Update pro ref 2025-12-01 14:28:07 +00:00
SPRINX0\prochazka
2aadbfc64a v6.7.2-premium-beta.2 2025-12-01 14:51:22 +01:00
Jan Prochazka
1c5d652f93 SYNC: fixed test 2025-12-01 13:34:34 +00:00
SPRINX0\prochazka
b2355a3b2d Merge branch 'feature/restore-script' 2025-12-01 14:27:29 +01:00
Stela Augustinova
4ee6d089d5 Added translation tags for objects, widgets, forms 2025-12-01 12:54:42 +01:00
SPRINX0\prochazka
6bd81cbff5 restore table - comments 2025-12-01 12:17:00 +01:00
SPRINX0\prochazka
b912190c5e delete part of restore script 2025-12-01 12:07:44 +01:00
Jan Prochazka
43a826e2e5 Merge pull request #1277 from dbgate/feature/handle-full-refresh
Update refresh button to handle full database refresh
2025-12-01 11:07:18 +01:00
SPRINX0\prochazka
8ae64a9dcf restore script - update 2025-12-01 11:06:18 +01:00
Stela Augustinova
4ce9faf39b Update refresh button to handle full database refresh 2025-12-01 10:42:49 +01:00
Stela Augustinova
d94a67d0af Added translation tags for modals 2025-12-01 10:25:43 +01:00
SPRINX0\prochazka
d650d91d82 table restore script WIP 2025-12-01 10:08:00 +01:00
Stela Augustinova
e14f59256d Added translation tags for settings, tabs, modals 2025-11-30 19:38:01 +01:00
SPRINX0\prochazka
d3322a4a15 Merge branch 'feature/table-backups' 2025-11-28 16:10:18 +01:00
SPRINX0\prochazka
a65842e31f table backups 2025-11-28 16:07:36 +01:00
SPRINX0\prochazka
74fde66b51 lang texts 2025-11-28 15:37:34 +01:00
SPRINX0\prochazka
c3ea155a7b refresh database options 2025-11-28 15:35:38 +01:00
Jan Prochazka
c4b81e3d2c Merge pull request #1275 from dbgate/feature/settings-tab
Feature/settings tab
2025-11-28 13:59:41 +01:00
Stela Augustinova
6f6ed1a741 Remove unused tip styles from various settings components 2025-11-28 13:26:45 +01:00
Stela Augustinova
311680c090 Add commands for viewing application logs and managing plugins; update settings tab integration 2025-11-28 13:23:02 +01:00
SPRINX0\prochazka
5e54aa553a skip incremental analysis test for postgres 2025-11-28 12:47:59 +01:00
SPRINX0\prochazka
6913970830 postgresql primary key loading optimalization 2025-11-28 12:32:18 +01:00
Jan Prochazka
014e453e57 removed ttable incremental analysis for postgres 2025-11-28 12:13:32 +01:00
Jan Prochazka
25b5341f76 fix tests 2025-11-28 11:54:24 +01:00
SPRINX0\prochazka
1df51f9609 skip incremental analysis check 2025-11-28 11:01:22 +01:00
Jan Prochazka
65d13189b3 postgres analyser fixed - broken loading FKs in incremental analysis 2025-11-28 10:24:53 +01:00
Jan Prochazka
0913011120 test fix 2025-11-28 08:21:04 +01:00
Stela Augustinova
30ddc18eb1 Add ai settings component to SettingsTab 2025-11-27 16:35:45 +01:00
Jan Prochazka
697d755744 test fix 2025-11-27 16:25:24 +01:00
Jan Prochazka
e3f23ddc79 fixed test 2025-11-27 15:44:31 +01:00
Jan Prochazka
094acc40e8 jest reporters 2025-11-27 15:13:28 +01:00
Jan Prochazka
ebd4991de8 Revert "jest reporters"
This reverts commit d04a8fad4c.
2025-11-27 15:12:15 +01:00
Jan Prochazka
d04a8fad4c jest reporters 2025-11-27 14:55:40 +01:00
CI workflows
cb14bffc5a chore: auto-update github workflows 2025-11-27 13:48:04 +00:00
Jan Prochazka
a4c4d17381 test reporters 2025-11-27 14:47:43 +01:00
Stela Augustinova
21eb27f6e3 Added new settings components, added wrapper to all setting components 2025-11-27 14:42:24 +01:00
Jan Prochazka
abf0fc7942 incremental analysis in alter table tests 2025-11-27 14:06:48 +01:00
SPRINX0\prochazka
c2703edfde prettier 2025-11-27 11:03:12 +01:00
SPRINX0\prochazka
d14b90ab20 foreign key editor UX 2025-11-27 10:29:33 +01:00
SPRINX0\prochazka
48f4924932 prettier format 2025-11-27 09:29:39 +01:00
Stela Augustinova
765551988a Added keyboard shortcuts to settings tab 2025-11-27 09:23:36 +01:00
Stela Augustinova
4883eb0d1b Merge branch 'master' into feature/settings-tab 2025-11-27 09:12:34 +01:00
Stela Augustinova
06a9a93d1c Added translation tag for settings 2025-11-27 09:11:33 +01:00
SPRINX0\prochazka
c92a0e1d43 fixed search in keyboard shortcuts #1273 2025-11-27 08:58:11 +01:00
Stela Augustinova
c6b5ee164b Added settings tab and settings components 2025-11-26 16:21:07 +01:00
SPRINX0\prochazka
c65075f887 v6.7.2-alpha.1 2025-11-26 14:43:54 +01:00
SPRINX0\prochazka
a1f678a3a1 additional connnection options for dbmodel 2025-11-26 14:43:18 +01:00
Jan Prochazka
fe3fefaa4e Merge pull request #1272 from dbgate/feature/translation4
Feature/translation4
2025-11-26 14:12:14 +01:00
Jan Prochazka
3ccebcb0d1 Merge pull request #1271 from dbgate/feature/translation-script
Feature/translation script
2025-11-26 14:10:01 +01:00
Jan Prochazka
dbbae0eef2 Merge pull request #1270 from dbgate/feature/columns-filters-panel-visibility
Feature/columns filters panel visibility
2025-11-26 09:54:50 +01:00
Stela Augustinova
f11c4881f3 Update gitinore 2025-11-25 16:08:36 +01:00
Stela Augustinova
6398c6d7ce Added new translations 2025-11-25 16:03:55 +01:00
Stela Augustinova
973ce8c3a7 Load OpenAI API key 2025-11-25 16:02:44 +01:00
Stela Augustinova
d971869283 Add collapsed left column store for SQL editor settings 2025-11-25 15:17:16 +01:00
SPRINX0\prochazka
987002b8f3 v6.7.1 2025-11-25 14:58:33 +01:00
SPRINX0\prochazka
f73fe495a5 changelog 2025-11-25 14:57:56 +01:00
Stela Augustinova
fe7b0e2bc7 Add translation script using OpenAI for missing keys (not finished) 2025-11-25 14:38:23 +01:00
Stela Augustinova
23937c54e0 Added checkbox to hide columns/filters panel by default 2025-11-25 13:37:19 +01:00
SPRINX0\prochazka
b3d0fd9d2f SYNC: fixed E2e test 2025-11-25 11:09:40 +00:00
SPRINX0\prochazka
497aaf6143 v6.7.1-premium-beta.5 2025-11-25 10:34:09 +01:00
SPRINX0\prochazka
9d6db3a93b v6.7.1-beta.4 2025-11-25 10:33:47 +01:00
CI workflows
8a6f3e6809 chore: auto-update github workflows 2025-11-25 09:22:33 +00:00
CI workflows
6c419716a4 Update pro ref 2025-11-25 09:22:15 +00:00
SPRINX0\prochazka
d1a769205c SYNC: support additional objects in team files 2025-11-25 09:22:02 +00:00
Stela Augustinova
b784e342c9 Translation - added translation tags for import/export, connection tab 2025-11-25 10:07:41 +01:00
CI workflows
0d82fd51c7 chore: auto-update github workflows 2025-11-25 08:21:06 +00:00
CI workflows
3b4d905485 Update pro ref 2025-11-25 08:20:50 +00:00
SPRINX0\prochazka
53c63f0f4b SYNC: diagrams supported in team files 2025-11-25 08:20:39 +00:00
SPRINX0\prochazka
5553e3cd8d SYNC: Handle error when saving to team files 2025-11-24 16:35:08 +00:00
Stela Augustinova
1e195e07e0 Translation - added translation tags for import/export 2025-11-24 17:02:34 +01:00
Stela Augustinova
b6f0e15951 Translation - add translation tags for logs 2025-11-24 16:48:29 +01:00
Stela Augustinova
da224303fe Translation - added translation tags for widgets 2025-11-24 16:29:29 +01:00
SPRINX0\prochazka
67ee130a9e japanese localization 2025-11-24 16:20:59 +01:00
CI workflows
18d908fa63 chore: auto-update github workflows 2025-11-24 14:40:35 +00:00
CI workflows
c61f58854e Update pro ref 2025-11-24 14:40:16 +00:00
SPRINX0\prochazka
f789ecd2f1 SYNC: japanese settings 2025-11-24 14:40:04 +00:00
CI workflows
1fdc30804a chore: auto-update github workflows 2025-11-24 14:31:03 +00:00
CI workflows
5ba10d0acb Update pro ref 2025-11-24 14:30:50 +00:00
SPRINX0\prochazka
12803d8154 SYNC: admin settings 2025-11-24 14:30:38 +00:00
CI workflows
36c391ccff chore: auto-update github workflows 2025-11-24 14:27:45 +00:00
CI workflows
765fb6297c Update pro ref 2025-11-24 14:27:06 +00:00
SPRINX0\prochazka
66255769ad SYNC: support for browser default language 2025-11-24 14:26:54 +00:00
CI workflows
04a8d38641 chore: auto-update github workflows 2025-11-24 14:20:00 +00:00
CI workflows
859d020031 Update pro ref 2025-11-24 14:19:44 +00:00
SPRINX0\prochazka
3c541117d0 SYNC: change language for Team Premium 2025-11-24 14:19:33 +00:00
SPRINX0\prochazka
80ca2e5215 Add the LANG environment variable for the web version. #1266 2025-11-24 14:26:25 +01:00
SPRINX0\prochazka
19f2aa2997 smaller upgrade button #1244 2025-11-24 10:57:57 +01:00
Jan Prochazka
ec657f30c7 Merge pull request #1268 from dbgate/feature/sort-sql
Feature/sort sql
2025-11-24 09:04:06 +01:00
SPRINX0\prochazka
7e84d495f5 sort by fix 2025-11-24 09:02:46 +01:00
SPRINX0\prochazka
c3baedd93c sort tables by size/rowCount 2025-11-24 08:58:49 +01:00
SPRINX0\prochazka
ae9676f744 sql object sort WIP 2025-11-21 16:37:12 +01:00
SPRINX0\prochazka
7ec156a5d1 table rows, table size in Oracle 2025-11-21 16:19:51 +01:00
SPRINX0\prochazka
b80cbea1bc show mongo collection sizes #552 2025-11-21 16:07:27 +01:00
SPRINX0\prochazka
4600fa9f32 Show table size fo MySQL and Postgres #552 2025-11-21 15:56:26 +01:00
SPRINX0\prochazka
6e0b3e5cdc fixed: Check updates option no longer available in 6.7.0 #1263 2025-11-21 15:18:00 +01:00
SPRINX0\prochazka
519ff87f5d Merge branch 'feature/mongo-legacy' 2025-11-21 12:57:31 +01:00
SPRINX0\prochazka
d4a363e37e v6.7.1-premium-beta.3 2025-11-21 10:46:26 +01:00
SPRINX0\prochazka
a3cfc45fef legacy mongodb optimalization + test fix 2025-11-21 10:44:06 +01:00
SPRINX0\prochazka
60602e02d9 logging app language 2025-11-20 17:31:18 +01:00
SPRINX0\prochazka
44366f7872 v6.7.1-premium-beta.2 2025-11-20 16:26:40 +01:00
SPRINX0\prochazka
2f18d8c204 fixed package version 2025-11-20 16:26:26 +01:00
SPRINX0\prochazka
08efbee52b italian translation 2025-11-20 16:14:56 +01:00
SPRINX0\prochazka
eac8d78c5d v6.7.1-premium-beta.1 2025-11-20 15:38:04 +01:00
SPRINX0\prochazka
db73673374 Connection to MognoDB legacy 2025-11-20 15:35:09 +01:00
SPRINX0\prochazka
281cdb7264 "Show foreign key hints" showing only in premium 2025-11-20 14:18:51 +01:00
SPRINX0\prochazka
101c80d820 fixed: A MERGE statement must be terminated by a semi-colon (;), but dbgate stripped it. #1257 2025-11-20 12:59:54 +01:00
SPRINX0\prochazka
1e06f65d9e portugese (brasil) translation 2025-11-19 18:16:59 +01:00
SPRINX0\prochazka
eea85709ed fixed error in auth login 2025-11-19 17:03:22 +01:00
SPRINX0\prochazka
cbca974529 v6.7.0 2025-11-19 14:22:56 +01:00
SPRINX0\prochazka
fc27f57580 changelog 2025-11-19 14:22:13 +01:00
SPRINX0\prochazka
e50dd6606e es tgranslations fixed 2025-11-19 14:21:13 +01:00
SPRINX0\prochazka
8c9e232d65 improved zh translation 2025-11-19 13:57:52 +01:00
SPRINX0\prochazka
ef98888394 fr translations improved 2025-11-19 13:53:46 +01:00
SPRINX0\prochazka
e4b9ba34df german translation polished 2025-11-19 12:52:40 +01:00
SPRINX0\prochazka
169e0ec9df sorted translation keys 2025-11-19 12:22:03 +01:00
SPRINX0\prochazka
2779353a32 renamed loc key 2025-11-19 12:18:38 +01:00
SPRINX0\prochazka
35aabb987c cs translations 2025-11-19 12:15:37 +01:00
SPRINX0\prochazka
06f02070c7 language in webapp stored in local storage 2025-11-19 10:11:24 +01:00
SPRINX0\prochazka
d138d3e786 changelog 2025-11-19 09:22:49 +01:00
SPRINX0\prochazka
dbea68d33a Fix horizontal scrolling on macOS trackpad/Magic Mouse #1250 2025-11-19 08:45:32 +01:00
SPRINX0\prochazka
72bcabf615 v6.6.14-beta.6 2025-11-19 08:02:22 +01:00
SPRINX0\prochazka
5db68eac24 SYNC: added localizations tests (+screenshots) 2025-11-18 17:15:08 +00:00
SPRINX0\prochazka
7d9d88860e changelog 2025-11-18 17:34:27 +01:00
SPRINX0\prochazka
06c80ad982 Chinese localization #347 #705 #939 #1079 2025-11-18 16:16:39 +01:00
SPRINX0\prochazka
c4335527f8 changelog WIP 2025-11-18 16:15:09 +01:00
SPRINX0\prochazka
90d27a2ad8 v6.6.14-premium-beta.6 2025-11-18 15:27:08 +01:00
SPRINX0\prochazka
93fd0a9af0 v6.6.14-beta.5 2025-11-18 15:26:52 +01:00
SPRINX0\prochazka
987b0aeb41 es treanslation in settings 2025-11-18 15:26:38 +01:00
SPRINX0\prochazka
8dc5ac0b25 v6.6.14-beta.4 2025-11-18 15:23:25 +01:00
SPRINX0\prochazka
d310a47523 v6.6.14-premium-beta.3 2025-11-18 15:23:14 +01:00
SPRINX0\prochazka
bd8fa3776d es translation + fixed language change 2025-11-18 15:22:39 +01:00
SPRINX0\prochazka
305796af53 spanish translation 2025-11-18 14:56:38 +01:00
SPRINX0\prochazka
60c10a69a3 french translation 2025-11-18 14:41:38 +01:00
SPRINX0\prochazka
c8aad9839f v6.6.14-premium-beta.2 2025-11-18 14:19:48 +01:00
SPRINX0\prochazka
64016a1326 v6.6.13-beta.1 2025-11-18 14:19:48 +01:00
SPRINX0\prochazka
a489c7ad8e added german translation 2025-11-18 14:19:48 +01:00
Jan Prochazka
afb9ba7ad6 Merge pull request #1259 from dbgate/feature/electron-translation
Feature/electron translation
2025-11-18 14:02:43 +01:00
SPRINX0\prochazka
b1de5b1120 fixed command palette 2025-11-18 13:45:02 +01:00
SPRINX0\prochazka
144a23e89b fixed condition 2025-11-18 13:11:47 +01:00
SPRINX0\prochazka
a6763a3e5d fixed main menu 2025-11-18 13:05:22 +01:00
SPRINX0\prochazka
f047ec787a translated electron menu 2025-11-18 12:29:48 +01:00
Stela Augustinova
d80c368ccb translation- tabs panel, menu 2025-11-18 10:34:44 +01:00
SPRINX0\prochazka
9b60173b8c horizontal menu translation 2025-11-18 10:14:36 +01:00
SPRINX0\prochazka
8556974ef1 translation WIP 2025-11-18 09:25:39 +01:00
Stela Augustinova
edf9f3a2be translation - settings, menu 2025-11-18 09:25:01 +01:00
SPRINX0\prochazka
7bb9414be8 electron menu translation WIP 2025-11-18 09:20:56 +01:00
SPRINX0\prochazka
6e439adb51 changelog 2025-11-18 08:05:19 +01:00
Jan Prochazka
f6b783e74a SYNC: fixed paste license key 2025-11-17 06:43:17 +00:00
SPRINX0\prochazka
171b81461c SYNC: fixed: Export CSV broken #1080 2025-11-14 09:17:06 +00:00
SPRINX0\prochazka
83db76aed8 v6.6.12-premium-beta.6 2025-11-13 15:28:26 +01:00
Jan Prochazka
e6d1bb7e5c Merge pull request #1258 from dbgate/feature/postgresql-export-bytea
Feature/postgresql export bytea
2025-11-13 15:27:28 +01:00
Stela Augustinova
a3d9fe76d6 Merge branch 'master' into feature/postgresql-export-bytea 2025-11-13 13:44:11 +01:00
Stela Augustinova
0f4f154637 Add support for base64 image source from binary object 2025-11-13 13:37:33 +01:00
Stela Augustinova
7d112a208f Enhance binary data handling in modifyRow function to support ArrayBuffer conversion to base64 2025-11-13 13:12:51 +01:00
Stela Augustinova
c867d39d8d Remove recordset call in MySQL driver 2025-11-13 10:26:12 +01:00
Stela Augustinova
83b6c939f7 Test binary - added engine label 2025-11-13 10:10:33 +01:00
Stela Augustinova
e1e4eb5d6f Added binary data types for engines 2025-11-13 09:40:05 +01:00
Stela Augustinova
a14c08f122 Handle binary data in load cell from file by converting Buffer to base64 2025-11-12 17:03:35 +01:00
SPRINX0\prochazka
5fd50dcf45 SYNC: fix - license in pro widget 2025-11-12 15:40:48 +00:00
SPRINX0\prochazka
b2ac4ee245 SYNC: CSV parameters 2025-11-12 10:22:12 +00:00
SPRINX0\prochazka
0ad7c0546b CSV for MS Excel export 2025-11-12 10:59:50 +01:00
SPRINX0\prochazka
748381fef3 v6.6.12-premium-beta.5 2025-11-12 08:50:46 +01:00
SPRINX0\prochazka
7eb9e42210 SYNC: load pro widget in trial 2025-11-12 07:47:06 +00:00
SPRINX0\prochazka
36a4b67ef4 SYNC: promo widget in trial 2025-11-12 07:47:05 +00:00
Stela Augustinova
94b35e3d5f Enhance binary data handling by converting hex strings to base64 in filter parser and updating MongoDB driver for BinData support 2025-11-11 14:39:43 +01:00
Jan Prochazka
c5aa82b76a Merge pull request #1252 from dbgate/feature/translation2
Feature/translation2
2025-11-11 08:50:22 +01:00
SPRINX0\prochazka
c2920e195f optimalization 2025-11-11 08:25:56 +01:00
SPRINX0\prochazka
92a78a419e fix in translation 2025-11-11 08:17:42 +01:00
Stela Augustinova
4f27c2b852 translation-select language 2025-11-10 16:29:36 +01:00
Jan Prochazka
ece5779b41 Merge pull request #1251 from dbgate/feature/electron-upgrade
Feature/electron upgrade
2025-11-10 16:26:48 +01:00
Stela Augustinova
167aaa8491 translation-commands 2025-11-10 16:14:32 +01:00
SPRINX0\prochazka
de622b055b v6.6.12-premium-beta.3 2025-11-10 16:00:04 +01:00
SPRINX0\prochazka
7e88b930ec v6.6.12-beta.2 2025-11-10 15:25:51 +01:00
SPRINX0\prochazka
c9adc2b852 update packages 2025-11-10 15:25:39 +01:00
SPRINX0\prochazka
91d3aba611 v6.6.12-beta.1 2025-11-10 15:12:03 +01:00
SPRINX0\prochazka
48bc11dcb5 try to upgrade electron #1243 2025-11-10 15:11:45 +01:00
Stela Augustinova
9ee0b32cac translation-db object 2025-11-10 14:42:20 +01:00
SPRINX0\prochazka
4b6b74604b Use SSL automatically for Azure SQL 2025-11-10 11:57:48 +01:00
SPRINX0\prochazka
7ad3fc4751 SYNC: changelog 2025-11-07 16:03:27 +00:00
SPRINX0\prochazka
e604450cfb v6.6.11 2025-11-07 17:01:21 +01:00
SPRINX0\prochazka
9cfbc83896 v6.6.11-premium-beta.3 2025-11-07 16:30:25 +01:00
SPRINX0\prochazka
98b2f4ec35 v6.6.11-premium-beta.2 2025-11-07 16:29:51 +01:00
SPRINX0\prochazka
47e30f2daf v6.6.11-beta.1 2025-11-07 16:29:51 +01:00
SPRINX0\prochazka
6c21da6959 SYNC: themable starting screen 2025-11-07 15:28:49 +00:00
SPRINX0\prochazka
c5fe71d390 SYNC: text 2025-11-07 15:04:39 +00:00
Stela Augustinova
d14ffcb736 translation-data form,data grid 2025-11-07 14:49:00 +01:00
Stela Augustinova
e694aca70b Refactor to use _val for translation handling across components 2025-11-07 14:40:52 +01:00
SPRINX0\prochazka
3c58cb1b9c SYNC: licensing page improvements 2025-11-07 13:33:01 +00:00
SPRINX0\prochazka
dc452cdadf SYNC: disable commands on special pages 2025-11-07 12:10:13 +00:00
SPRINX0\prochazka
e855365cbb SYNC: themable special page layout 2025-11-07 11:19:03 +00:00
SPRINX0\prochazka
cffa288227 SYNC: fix - dont' show devtools 2025-11-07 09:26:26 +00:00
SPRINX0\prochazka
89ddced342 SYNC: disable commands when modal is opened 2025-11-07 09:25:18 +00:00
Jan Prochazka
7457328b59 v6.6.10 2025-11-06 22:34:02 +01:00
Jan Prochazka
44ff413810 changelog 2025-11-06 22:33:29 +01:00
SPRINX0\prochazka
d174c2c2d8 v6.6.10-premium-beta.2 2025-11-06 16:44:43 +01:00
SPRINX0\prochazka
480f4c9a8c v6.6.10-beta.1 2025-11-06 16:44:35 +01:00
SPRINX0\prochazka
7474cc5d8a SYNC: fixed trial scenario 2025-11-06 15:43:56 +00:00
CI workflows
bda5c4f5dd chore: auto-update github workflows 2025-11-06 14:37:33 +00:00
CI workflows
4f5034c167 Update pro ref 2025-11-06 14:37:14 +00:00
SPRINX0\prochazka
9470db1f4d SYNC: fixed License fron environment variable is not refreshed #1245 2025-11-06 14:37:04 +00:00
Stela Augustinova
dfeb910ac9 Enhance binary data handling by integrating modifyRow function in SQLite driver and helpers 2025-11-06 14:14:24 +01:00
SPRINX0\prochazka
a5745795be SYNC: command palette fix 2025-11-06 12:43:04 +00:00
Stela Augustinova
98f2b5dd08 Enhance binary data handling in Oracle driver and adjust dumper for byte array values 2025-11-06 13:08:50 +01:00
SPRINX0\prochazka
f642c7570e SYNC: fixed translating app object list 2025-11-06 12:07:54 +00:00
Stela Augustinova
dca9ea24d7 Implement base64 encoding for binary data in SQL dumper and modify row handling in MySQL and MSSQL drivers 2025-11-06 12:30:48 +01:00
SPRINX0\prochazka
43fd7b6000 rowsAffected field added 2025-11-06 08:23:31 +01:00
Jan Prochazka
1553ec3bd4 Query result - added click-throught to returned data #1236 2025-11-05 18:35:33 +01:00
Stela Augustinova
37d54811e0 Enhance binary data handling in transformRow to serialize Buffer as base64 2025-11-05 16:07:14 +01:00
Stela Augustinova
0f2af6eb37 Add binary data handling in query tests with enhanced stream handler 2025-11-05 14:09:58 +01:00
SPRINX0\prochazka
91546228fa changed query workflow 2025-11-05 13:34:50 +01:00
SPRINX0\prochazka
5488ff06e0 _t 2025-11-05 13:34:50 +01:00
SPRINX0\prochazka
ef7f050bc5 Show executed query on log #1236 2025-11-05 13:34:50 +01:00
SPRINX0\prochazka
e5c94d9698 Merge branch 'feature/translation' 2025-11-05 12:18:23 +01:00
Stela Augustinova
4d3e0ac5d9 Merge branch 'master' into feature/translation 2025-11-05 11:56:51 +01:00
Stela Augustinova
0a2f0372be Enhance translation regex to support multiple default message formats 2025-11-05 11:49:21 +01:00
Stela Augustinova
e378fc3cfb translation-table editor, query, table structure 2025-11-04 16:52:45 +01:00
SPRINX0\prochazka
75a1d74d9c handle changed current database for MS SQL #1237 2025-11-04 15:39:37 +01:00
SPRINX0\prochazka
1404685296 changing current DB handler for MySQL #1237 2025-11-04 15:20:21 +01:00
Stela Augustinova
0ebed9b46f Refactor dataCopy to avoid mutating original structure 2025-11-04 12:32:20 +01:00
SPRINX0\prochazka
af69352361 SYNC: fixed references error 2025-11-04 08:09:30 +00:00
Jan Prochazka
840e3b861f fixed horizontal grid scroll on MacOS #453 2025-11-04 08:29:54 +01:00
Jan Prochazka
a7cfe7fe04 fixed possible render error 2025-11-04 08:27:36 +01:00
SPRINX0\prochazka
a324cf0fcd Column name collision resolving #1234 for postgres - commented out (not working) 2025-11-03 16:56:58 +01:00
SPRINX0\prochazka
0919f4c85b FEAT: column name collision resolving #1234 (MySQL)) 2025-11-03 16:30:56 +01:00
SPRINX0\prochazka
fd4cc6a1e8 #1235 ability to load CSV files 2025-11-03 15:44:57 +01:00
Stela Augustinova
d6ae3d4f16 Refactor binary data handling in SQL dumper and update test for binary insertion 2025-11-03 13:31:43 +01:00
Stela Augustinova
9c1819467a test binary data type 2025-11-03 09:17:11 +01:00
SPRINX0\prochazka
08410ef209 v6.6.9 2025-10-31 16:32:37 +01:00
SPRINX0\prochazka
6cd3242454 v6.6.9-premium-beta.1 2025-10-31 16:05:43 +01:00
CI workflows
986c1a7bc8 chore: auto-update github workflows 2025-10-31 15:05:12 +00:00
SPRINX0\prochazka
a7703ec996 fix build 2025-10-31 16:04:46 +01:00
SPRINX0\prochazka
52d2eb3f59 v6.6.8 2025-10-31 15:22:13 +01:00
SPRINX0\prochazka
b19fed41ef changelog 2025-10-31 15:20:51 +01:00
Stela Augustinova
82a4b2c769 translation-clipboard, exportMenu, macros, datagrid commands 2025-10-31 15:10:17 +01:00
SPRINX0\prochazka
1d52cde3b3 v6.6.8-beta.19 2025-10-31 14:38:07 +01:00
SPRINX0\prochazka
aca4cc0ace fix 2025-10-31 14:37:57 +01:00
SPRINX0\prochazka
8f9a78feb9 v6.6.8-beta.18 2025-10-31 14:01:57 +01:00
SPRINX0\prochazka
45484a43f1 v6.6.8-beta.17 2025-10-31 14:01:32 +01:00
CI workflows
63665e6e9c chore: auto-update github workflows 2025-10-31 13:00:53 +00:00
SPRINX0\prochazka
151665c880 pragmatic hack - fix yaml hashes for windows 2025-10-31 14:00:23 +01:00
SPRINX0\prochazka
15e475873e v6.8.8-beta.14 2025-10-31 10:49:37 +01:00
SPRINX0\prochazka
f846af75e8 Merge branch 'moveprem' 2025-10-31 10:47:34 +01:00
SPRINX0\prochazka
5c7ab3793f v6.6.8-beta.13 2025-10-31 08:21:42 +01:00
CI workflows
a501f0cdef chore: auto-update github workflows 2025-10-31 07:19:48 +00:00
SPRINX0\prochazka
4b4c2606cd skipped publish 2025-10-31 08:19:15 +01:00
SPRINX0\prochazka
901e7581fe v6.6.8-alpha.10 2025-10-30 14:32:16 +01:00
SPRINX0\prochazka
55fb233ce4 v6.6.8-alpha.9 2025-10-30 14:20:14 +01:00
SPRINX0\prochazka
dd77ee4a8e added missing repo info 2025-10-30 14:18:35 +01:00
CI workflows
a7ae6d7b47 chore: auto-update github workflows 2025-10-30 13:18:30 +00:00
CI workflows
34dfac8bb2 Update pro ref 2025-10-30 13:18:11 +00:00
SPRINX0\prochazka
599f783c04 v6.6.8-alpha.8 2025-10-30 14:10:07 +01:00
SPRINX0\prochazka
c7f82d3d46 v6.6.8-alpha.7 2025-10-30 14:09:37 +01:00
CI workflows
8b346c6b44 chore: auto-update github workflows 2025-10-30 13:09:06 +00:00
SPRINX0\prochazka
e386764151 npm publish fix 2025-10-30 14:08:48 +01:00
SPRINX0\prochazka
c0acecc6e9 git repo config 2025-10-30 13:48:44 +01:00
SPRINX0\prochazka
a1724134ec v6.6.8-alpha.6 2025-10-30 13:41:53 +01:00
SPRINX0\prochazka
530b830586 fixed repo 2025-10-30 13:41:24 +01:00
SPRINX0\prochazka
363a72c3ad v6.6.8-alpha.5 2025-10-30 13:31:42 +01:00
CI workflows
c1a6daf9d2 chore: auto-update github workflows 2025-10-30 12:31:14 +00:00
SPRINX0\prochazka
8a7a73678c added npm publish --tag 2025-10-30 13:30:56 +01:00
SPRINX0\prochazka
6cc8c7cb9d v6.6.8-alpha.4 2025-10-30 13:20:32 +01:00
CI workflows
e2d1771a7a chore: auto-update github workflows 2025-10-30 12:18:26 +00:00
SPRINX0\prochazka
23f7dd6ee3 use OIDC NPM sign 2025-10-30 13:18:05 +01:00
SPRINX0\prochazka
9884ace309 fixed translations set during module startup - use __t 2025-10-30 10:37:06 +01:00
Stela Augustinova
70284ac440 translation-datagrid,filter,macros,newObject 2025-10-30 10:12:32 +01:00
SPRINX0\prochazka
f24caad997 v6.6.8-beta.1 2025-10-30 08:49:48 +01:00
CI workflows
32729350f6 chore: auto-update github workflows 2025-10-30 07:48:22 +00:00
SPRINX0\prochazka
4929d190a5 azure code signing 2025-10-30 08:47:55 +01:00
Stela Augustinova
0e211dc91b translation-connections,sqlObject,column,filter 2025-10-29 16:55:27 +01:00
Stela Augustinova
8663ab2d28 translation-settings,common 2025-10-29 16:55:27 +01:00
SPRINX0\prochazka
ba0ecaf70f fix 2025-10-29 16:47:52 +01:00
SPRINX0\prochazka
acb4f5924e upgrade button 2025-10-29 16:43:28 +01:00
SPRINX0\prochazka
46553a80ad v6.6.7 2025-10-29 15:20:51 +01:00
Stela Augustinova
417334d140 Add base64 handling for binary data in filter and grid components 2025-10-29 15:08:57 +01:00
SPRINX0\prochazka
e254657813 remvoed links to dbgate.org 2025-10-29 15:06:30 +01:00
SPRINX0\prochazka
b087df8d97 v6.6.7-beta.2 2025-10-29 14:59:28 +01:00
SPRINX0\prochazka
47eb74d5ba fix 2025-10-29 14:59:14 +01:00
SPRINX0\prochazka
f0ac047978 v6.6.7-beta.1 2025-10-29 14:26:05 +01:00
SPRINX0\prochazka
e57e246991 SYNC: fixed web info 2025-10-29 13:00:17 +00:00
SPRINX0\prochazka
6934cdd122 json UI improvements 2025-10-29 13:08:37 +01:00
Stela Augustinova
aa7fb74312 PostgreSQL export to SQL and XML bytea contents #1228 2025-10-29 12:22:13 +01:00
SPRINX0\prochazka
0e2a77ced7 changelog 2025-10-27 17:19:16 +01:00
SPRINX0\prochazka
2d135d708e v6.6.6 2025-10-27 17:18:48 +01:00
SPRINX0\prochazka
26d34f896b changelog 2025-10-27 16:20:27 +01:00
SPRINX0\prochazka
87c58cae83 SYNC: fixed test 2025-10-27 14:46:01 +00:00
Stela Augustinova
8429067ae5 translation-connections,sqlObject,column,filter 2025-10-27 15:04:04 +01:00
SPRINX0\prochazka
4d6957a6fa v6.6.6-premium-beta.18 2025-10-27 13:19:40 +01:00
SPRINX0\prochazka
70c53248ae v6.6.6-beta.17 2025-10-27 13:19:20 +01:00
SPRINX0\prochazka
6e645cb054 v6.6.6-beta.7 2025-10-27 13:19:11 +01:00
SPRINX0\prochazka
28fecc6834 v6.6.6-beta.14 2025-10-27 13:18:55 +01:00
SPRINX0\prochazka
64c2faf538 JSON UI 2025-10-27 13:10:45 +01:00
Stela Augustinova
c514a4d503 translation-settings,common 2025-10-27 09:33:26 +01:00
Jan Prochazka
391d04b45c MPR archive 2025-10-26 18:28:35 +01:00
Jan Prochazka
f974c00a63 MPR references 2025-10-26 18:23:07 +01:00
Jan Prochazka
9f0107c002 MPR refs, macros 2025-10-26 18:06:45 +01:00
Jan Prochazka
6ce82e915e MPR grouping 2025-10-26 15:04:13 +01:00
Jan Prochazka
864797fc99 MPR advanced exports 2025-10-26 09:33:48 +01:00
SPRINX0\prochazka
c741434e3c v6.6.6-beta.13 2025-10-23 07:44:45 +02:00
Jan Prochazka
60fcb1a862 Merge pull request #1230 from dbgate/feature/disable-filter
Feature/disable filter
2025-10-22 14:42:51 +02:00
Stela Augustinova
18dc6a3ff5 Allow disable/re-enable multicolumn filter #1174 2025-10-22 14:20:23 +02:00
Stela Augustinova
da52dd006b Allow disable/re-enable filter #1174 2025-10-22 14:06:31 +02:00
SPRINX0\prochazka
ed1655ed8f better colored icon 2025-10-22 13:56:46 +02:00
SPRINX0\prochazka
516c4e32be v6.6.6-premium-beta.9 2025-10-22 12:40:58 +02:00
SPRINX0\prochazka
1e222d806e SYNC: fixed export from team files 2025-10-22 10:40:37 +00:00
SPRINX0\prochazka
bfb35b198d v6.6.6-premium-beta.8 2025-10-22 12:28:03 +02:00
SPRINX0\prochazka
3a5f36155f promo widget colors 2025-10-22 10:47:59 +02:00
SPRINX0\prochazka
82092fab76 premium icon 2025-10-22 10:15:27 +02:00
SPRINX0\prochazka
a432cb886d #1211 - fixed incorrect behaviour in server connection ping 2025-10-21 16:34:40 +02:00
Jan Prochazka
5fff8c6ba2 Merge pull request #1227 from dbgate/feature/execute-current-line
Execute Current, Execute Current Line Not Current Query #1209
2025-10-21 15:27:09 +02:00
Stela Augustinova
e1de4f5c5f Execute Current, Execute Current Line Not Current Query #1209 2025-10-21 14:18:22 +02:00
Jan Prochazka
b6145d6f1e Merge pull request #1226 from dbgate/feature/close-tabs
message: close right side tabs #1219
2025-10-21 14:15:25 +02:00
Stela Augustinova
3804a87cef message: close right side tabs #1219 2025-10-21 12:43:44 +02:00
SPRINX0\prochazka
a7a6c664c8 SYNC: #1220 fixed typo 2025-10-21 10:42:26 +02:00
SPRINX0\prochazka
f075515607 v6.6.6-premium-beta.2 2025-10-21 09:30:08 +02:00
SPRINX0\prochazka
84c15bbc69 v6.6.6-beta.1 2025-10-21 09:29:58 +02:00
SPRINX0\prochazka
54e70d490d SYNC: fixed circular dependency 2025-10-21 06:10:16 +00:00
SPRINX0\prochazka
67c3de1f5d Merge branch 'feature/dynamic-promo-widget' 2025-10-20 15:28:29 +02:00
SPRINX0\prochazka
7281b5b1d7 highlight promo 2025-10-20 14:24:35 +02:00
SPRINX0\prochazka
966eb01f1c dynamic promo widget data 2025-10-20 14:00:59 +02:00
SPRINX0\prochazka
5bdf072cdf promo widget validity 2025-10-20 12:54:24 +02:00
SPRINX0\prochazka
59c3381962 promo widget WIP 2025-10-17 17:30:27 +02:00
SPRINX0\prochazka
1fa4216b18 dynamic promo widget 2025-10-17 14:04:08 +02:00
SPRINX0\prochazka
a98c953876 fixed link 2025-10-17 13:05:25 +02:00
SPRINX0\prochazka
bf995e5861 don't send country to cloud update - is not really needed 2025-10-17 12:51:30 +02:00
SPRINX0\prochazka
1b8470df38 use DBG info 2025-10-17 11:59:52 +02:00
SPRINX0\prochazka
98ded8ea30 added placehorder file for premium 2025-10-16 10:55:53 +02:00
CI workflows
b72a50eb7e chore: auto-update github workflows 2025-10-16 08:52:21 +00:00
CI workflows
9c3f4fbb9d Update pro ref 2025-10-16 08:52:04 +00:00
Jan Prochazka
28c68308a9 SYNC: Merge pull request #15 from dbgate/feature/redis-cluster 2025-10-16 08:51:49 +00:00
CI workflows
ea3b0c15ac chore: auto-update github workflows 2025-10-15 10:20:08 +00:00
CI workflows
38ce46adb0 Update pro ref 2025-10-15 10:19:48 +00:00
SPRINX0\prochazka
0a9a0103dd changelog 2025-10-15 11:05:31 +02:00
SPRINX0\prochazka
b7b370ff62 v6.6.5 2025-10-15 10:50:39 +02:00
SPRINX0\prochazka
7b0c98ad2c v6.6.5-premium-beta.2 2025-10-14 15:12:07 +02:00
CI workflows
bfe25e70d6 chore: auto-update github workflows 2025-10-14 13:07:25 +00:00
CI workflows
b2409df369 Update pro ref 2025-10-14 13:07:03 +00:00
SPRINX0\prochazka
e1d8549730 SYNC: explain query error 2025-10-14 13:06:53 +00:00
SPRINX0\prochazka
865cc081ce SYNC: database chat test moved 2025-10-14 12:48:28 +00:00
CI workflows
867d5a9eb5 chore: auto-update github workflows 2025-10-14 11:00:02 +00:00
CI workflows
ac84b7604b Update pro ref 2025-10-14 10:59:42 +00:00
SPRINX0\prochazka
8f860ad93e SYNC: chart test 2025-10-14 10:59:30 +00:00
SPRINX0\prochazka
f3b65700d7 fixed build of Community edition 2025-10-14 11:20:31 +02:00
CI workflows
8ec1856206 chore: auto-update github workflows 2025-10-14 09:02:33 +00:00
CI workflows
811d2162fc Update pro ref 2025-10-14 09:02:16 +00:00
Jan Prochazka
5e2cdca103 SYNC: Merge pull request #14 from dbgate/ai-sql 2025-10-14 09:02:04 +00:00
SPRINX0\prochazka
23fb5852ba v6.6.5-premium-beta.1 2025-10-10 16:27:47 +02:00
CI workflows
75cbc0d29a chore: auto-update github workflows 2025-10-10 14:08:48 +00:00
CI workflows
d08cd684c5 Update pro ref 2025-10-10 14:08:31 +00:00
CI workflows
529b297ba6 chore: auto-update github workflows 2025-10-10 13:54:02 +00:00
CI workflows
32193eef49 Update pro ref 2025-10-10 13:53:47 +00:00
Jan Prochazka
1f97b90b2d Merge pull request #1205 from dbgate/feature/pin-unpin-single-database-connections
feat: allow pinning and unpinning single database connections
2025-10-10 12:57:14 +02:00
SPRINX0\prochazka
0dd36260e9 SYNC: fixed Cannot open up large JSON file #1215 2025-10-10 10:49:25 +00:00
CI workflows
3571d49987 chore: auto-update github workflows 2025-10-09 15:58:36 +00:00
CI workflows
ad3489c491 Update pro ref 2025-10-09 15:58:17 +00:00
CI workflows
2461fa2e25 chore: auto-update github workflows 2025-10-09 15:55:45 +00:00
CI workflows
60e49ba343 Update pro ref 2025-10-09 15:47:43 +00:00
SPRINX0\prochazka
a709381980 SYNC: try to fix TE editing problem 2025-10-09 15:33:58 +00:00
SPRINX0\prochazka
c2805c8c1c use link www.dbgate.io 2025-10-08 11:19:15 +02:00
SPRINX0\prochazka
0346cbe911 SYNC: try to fix screenshot 2025-10-03 08:06:23 +00:00
CI workflows
74a4d4455b chore: auto-update github workflows 2025-10-03 07:38:01 +00:00
CI workflows
3659e1c91f Update pro ref 2025-10-03 07:37:43 +00:00
SPRINX0\prochazka
09da5c6968 SYNC: test fix 2025-10-03 07:37:32 +00:00
SPRINX0\prochazka
2575efd28d SYNC: fix 2025-10-03 06:36:41 +00:00
CI workflows
78c1c8d2b1 chore: auto-update github workflows 2025-10-03 06:24:14 +00:00
CI workflows
d5147f3dbb Update pro ref 2025-10-03 06:23:56 +00:00
CI workflows
593580fbc1 chore: auto-update github workflows 2025-10-02 15:42:25 +00:00
CI workflows
67ca1cb638 Update pro ref 2025-10-02 15:42:02 +00:00
SPRINX0\prochazka
bcf5b64545 SYNC: LLM provider config test 2025-10-02 15:41:51 +00:00
SPRINX0\prochazka
e37ad663b3 longer timeout 2025-10-02 16:38:41 +02:00
SPRINX0\prochazka
4ce7582a46 changelog 2025-10-02 16:38:33 +02:00
SPRINX0\prochazka
1c371bb7bf v6.6.4 2025-10-02 16:23:57 +02:00
CI workflows
17fdeb0734 chore: auto-update github workflows 2025-10-02 12:32:59 +00:00
SPRINX0\prochazka
5c6f0c32b3 fix 2025-10-02 14:32:36 +02:00
SPRINX0\prochazka
e630280673 v6.6.4-beta.11 2025-10-02 13:13:47 +02:00
SPRINX0\prochazka
7c87961adf v6.6.4-premium-beta.10 2025-10-02 13:13:37 +02:00
SPRINX0\prochazka
0df5ceb7d2 shared cloud folders also for community (readonly) 2025-10-02 13:11:22 +02:00
CI workflows
54342f2592 chore: auto-update github workflows 2025-10-02 10:14:37 +00:00
CI workflows
fbad558c37 Update pro ref 2025-10-02 10:14:21 +00:00
CI workflows
b27dfb290c chore: auto-update github workflows 2025-10-02 08:56:55 +00:00
CI workflows
063c930349 Update pro ref 2025-10-02 08:56:40 +00:00
SPRINX0\prochazka
c1f1e489a7 team files controller 2025-09-29 11:18:53 +02:00
CI workflows
62960ed8de chore: auto-update github workflows 2025-09-29 09:11:45 +00:00
CI workflows
03305e04a7 Update pro ref 2025-09-29 09:11:29 +00:00
SPRINX0\prochazka
4b294b1125 v6.6.4-premium-beta.9 2025-09-26 17:06:20 +02:00
CI workflows
7122a21591 chore: auto-update github workflows 2025-09-26 15:02:10 +00:00
CI workflows
9682e571a2 Update pro ref 2025-09-26 15:01:52 +00:00
SPRINX0\prochazka
2cefbfb8aa SYNC: fixes 2025-09-26 15:01:40 +00:00
CI workflows
084062488c chore: auto-update github workflows 2025-09-26 14:52:55 +00:00
CI workflows
4dbe2b5297 Update pro ref 2025-09-26 14:52:27 +00:00
CI workflows
0391e5bc3d Update pro ref 2025-09-26 14:51:57 +00:00
SPRINX0\prochazka
bcbd96c608 SYNC: chart - support group by week 2025-09-26 14:51:45 +00:00
SPRINX0\prochazka
6a6633e151 SYNC: fix 2025-09-26 13:22:26 +00:00
SPRINX0\prochazka
5c4546a54c v6.6.4-premium-beta.8 2025-09-26 14:19:42 +02:00
CI workflows
255e328340 chore: auto-update github workflows 2025-09-26 12:14:15 +00:00
CI workflows
aaf9b085d7 Update pro ref 2025-09-26 12:13:58 +00:00
SPRINX0\prochazka
c7b14c9fab SYNC: Merge branch 'feature/team-files' 2025-09-26 12:13:45 +00:00
CI workflows
0436ba78e2 chore: auto-update github workflows 2025-09-26 10:45:03 +00:00
CI workflows
1085a1c221 Update pro ref 2025-09-26 10:44:50 +00:00
Jan Prochazka
494b33bd7a SYNC: Merge pull request #12 from dbgate/feature/team-files 2025-09-26 10:44:39 +00:00
SPRINX0\prochazka
925e3a67da fixed for shorten names 2025-09-25 10:48:43 +02:00
SPRINX0\prochazka
78026f7fa5 Shorten identifiers 2025-09-25 10:38:14 +02:00
SPRINX0\prochazka
9d77cac4bb filter only tables with rows 2025-09-25 09:23:52 +02:00
SPRINX0\prochazka
6747280964 table row count in firebird 2025-09-25 09:11:56 +02:00
SPRINX0\prochazka
d7dbd79f7c fixed loading structure for firebird 2025-09-25 08:59:12 +02:00
SPRINX0\prochazka
aec692c402 simplified blob loading for firebird 2025-09-25 08:33:28 +02:00
CI workflows
113bbead4a chore: auto-update github workflows 2025-09-24 15:25:42 +00:00
CI workflows
1361c196da Update pro ref 2025-09-24 15:25:23 +00:00
SPRINX0\prochazka
987995ad68 SYNC: upgraded query splitter 2025-09-24 15:25:12 +00:00
SPRINX0\prochazka
d24db7c053 using firebird splitter options 2025-09-24 17:23:09 +02:00
CI workflows
25a9d52d86 chore: auto-update github workflows 2025-09-24 15:10:12 +00:00
CI workflows
946c632920 Update pro ref 2025-09-24 15:09:54 +00:00
SPRINX0\prochazka
94bcbb80fd SYNC: upgraded query splitter 2025-09-24 15:09:42 +00:00
SPRINX0\prochazka
ba58965770 firebird small refactor 2025-09-24 13:25:12 +02:00
SPRINX0\prochazka
e50ddbf348 v6.6.4-premium-beta.7 2025-09-24 10:56:14 +02:00
SPRINX0\prochazka
e95f21fa9c SYNC: fixed app log tab 2025-09-24 08:48:30 +00:00
SPRINX0\prochazka
7026b765bd v6.6.4-premium-beta.6 2025-09-24 10:31:17 +02:00
SPRINX0\prochazka
53eedd2701 SYNC: better DB analysis logging 2025-09-24 08:30:13 +00:00
SPRINX0\prochazka
9886c58681 SYNC: imrpoved logging of DB analyser 2025-09-24 08:12:39 +00:00
Pavel
953f6da7d7 feat: allow pinning and unpinning single database connections 2025-09-13 22:01:13 +02:00
Jan Prochazka
da1efe880d v6.6.4-beta.5 2025-09-12 11:42:09 +02:00
Jan Prochazka
bd0b6dd4d2 remove sourcemaps from build 2025-09-12 11:41:59 +02:00
SPRINX0\prochazka
1c049fe1fb v6.6.4-premium-beta.4 2025-09-11 16:04:25 +02:00
SPRINX0\prochazka
10b1b87d55 flexColContainer fixed 2025-09-11 16:02:28 +02:00
SPRINX0\prochazka
3ec6a3b3f2 v6.6.4-premium-beta.3 2025-09-11 15:27:58 +02:00
SPRINX0\prochazka
8da919d4cd missing file 2025-09-11 15:26:13 +02:00
SPRINX0\prochazka
5cd59b795b SYNC: fix 2025-09-11 13:20:09 +00:00
CI workflows
e4dc30d1fb chore: auto-update github workflows 2025-09-11 12:53:50 +00:00
CI workflows
2013cee298 Update pro ref 2025-09-11 12:53:33 +00:00
Jan Prochazka
1f89a6304b SYNC: Merge pull request #10 from dbgate/feat-chat-compl-api 2025-09-11 12:53:21 +00:00
SPRINX0\prochazka
580e0f9df7 SYNC: fixed load apps where there is no apps dir 2025-09-11 11:47:36 +00:00
CI workflows
2221c4548e chore: auto-update github workflows 2025-09-11 11:11:37 +00:00
CI workflows
e06c226e84 Update pro ref 2025-09-11 11:11:19 +00:00
Jan Prochazka
11a4f0ef32 SYNC: Merge pull request #9 from dbgate/feature/apps 2025-09-11 11:11:08 +00:00
SPRINX0\prochazka
ef15f299d2 v6.6.4-beta.2 2025-09-05 13:10:27 +02:00
SPRINX0\prochazka
1d333b9322 Fixed: does no longer work with Cockroach DB #1202 2025-09-05 13:08:21 +02:00
CI workflows
5302ed8653 chore: auto-update github workflows 2025-09-04 08:15:02 +00:00
CI workflows
2cf26a10c4 Update pro ref 2025-09-04 08:14:44 +00:00
SPRINX0\prochazka
deda1e4251 SYNC: fixed authorization select 2025-09-04 08:14:33 +00:00
SPRINX0\prochazka
c042bf2d15 SYNC: commented out feedback menu 2025-09-04 07:20:22 +00:00
SPRINX0\prochazka
8ced6aa205 SYNC: settings permissions 2025-09-04 07:16:21 +00:00
SPRINX0\prochazka
3ca514c85b fixed error 2025-09-03 16:29:43 +02:00
CI workflows
27b8e7d5ec chore: auto-update github workflows 2025-09-03 14:22:22 +00:00
SPRINX0\prochazka
a2d77a3917 removed upload error to Gist feature 2025-09-03 16:22:06 +02:00
CI workflows
c0549fe422 chore: auto-update github workflows 2025-09-03 14:15:46 +00:00
CI workflows
0dc8d6fd68 Update pro ref 2025-09-03 14:15:32 +00:00
SPRINX0\prochazka
cd97647818 SYNC: next permissions 2025-09-03 14:15:22 +00:00
CI workflows
fcb5811f37 chore: auto-update github workflows 2025-09-03 13:30:37 +00:00
CI workflows
a239ba2211 Update pro ref 2025-09-03 13:30:20 +00:00
SPRINX0\prochazka
e8dc96bcda v6.6.4-beta.1 2025-09-03 10:40:05 +02:00
SPRINX0\prochazka
096ad97a73 SYNC: Fixed DbGate Web UI Connections do not display 'Databases' #1199 2025-09-03 08:37:50 +00:00
SPRINX0\prochazka
a5a5517555 changelog 2025-09-01 15:46:09 +02:00
SPRINX0\prochazka
d9b88a5d8d v6.6.3 2025-09-01 15:22:28 +02:00
SPRINX0\prochazka
8493ea22eb v6.6.3-premium-beta.1 2025-09-01 09:51:40 +02:00
SPRINX0\prochazka
aebb87aa20 Fixed - error listing databases from Azure SQL SERVER #1197 2025-09-01 09:09:04 +02:00
SPRINX0\prochazka
14e97cb24f fixed mongoDB rename collection #1198 2025-09-01 08:57:30 +02:00
SPRINX0\prochazka
26cc15b4a2 save zoom level 2025-09-01 08:40:20 +02:00
SPRINX0\prochazka
50ce606e12 v6.6.2 2025-08-29 09:24:47 +02:00
SPRINX0\prochazka
b052320f98 changelog 2025-08-29 09:23:30 +02:00
SPRINX0\prochazka
ecb3cebc9f v6.6.2-beta.7 2025-08-29 08:59:02 +02:00
SPRINX0\prochazka
4a32dfc71b fixed: DBGate cannot execute any queries and the process is killed #1195 2025-08-29 08:39:19 +02:00
SPRINX0\prochazka
c913929ff9 changelog 2025-08-29 08:31:14 +02:00
SPRINX0\prochazka
d7d5b29b07 change log 2025-08-28 17:55:22 +02:00
SPRINX0\prochazka
111a7f72f8 v6.6.2-premium-beta.6 2025-08-28 15:07:14 +02:00
SPRINX0\prochazka
149abdef9b v6.6.2-premium-beta.3 2025-08-28 15:07:00 +02:00
Jan Prochazka
980848f35a Merge pull request #1194 from dbgate/feature/mssql-better-query-for-desc
feat: add ep.class = 1 filter
2025-08-28 15:05:22 +02:00
Pavel
d1e0c86a71 feat: add ep.class = 1 filter 2025-08-26 18:05:42 +02:00
SPRINX0\prochazka
d3872ca8a3 Redis "Scan all" button 2025-08-26 10:48:19 +02:00
SPRINX0\prochazka
003dec269a Allow max page size 50000 #1185 2025-08-26 10:30:30 +02:00
SPRINX0\prochazka
e88092cde7 v6.6.2-premium-beta.5 2025-08-26 10:11:16 +02:00
SPRINX0\prochazka
98422bd355 changelog 2025-08-26 10:10:58 +02:00
CI workflows
af83b89812 chore: auto-update github workflows 2025-08-26 07:45:32 +00:00
CI workflows
cffb1b8713 Update pro ref 2025-08-26 07:45:06 +00:00
CI workflows
0b4895addf chore: auto-update github workflows 2025-08-26 07:27:54 +00:00
CI workflows
08646ea12a Update pro ref 2025-08-26 07:27:36 +00:00
CI workflows
40beb7ceeb chore: auto-update github workflows 2025-08-25 14:37:58 +00:00
CI workflows
e7963aa324 Update pro ref 2025-08-25 14:37:41 +00:00
CI workflows
d5894b9fb7 chore: auto-update github workflows 2025-08-25 14:25:01 +00:00
CI workflows
75c47a1113 Update pro ref 2025-08-25 14:24:46 +00:00
SPRINX0\prochazka
97923b19bf SYNC: roles UX 2025-08-25 14:24:33 +00:00
SPRINX0\prochazka
879c89a285 v6.6.2-beta.4 2025-08-25 10:06:03 +02:00
SPRINX0\prochazka
718727462b v6.6.2-premium-beta.3 2025-08-25 10:05:53 +02:00
SPRINX0\prochazka
63f2fd864a SYNC: fixed 2025-08-22 12:50:45 +00:00
SPRINX0\prochazka
556dda5790 SYNC: about window screenshot 2025-08-22 12:24:33 +00:00
SPRINX0\prochazka
aeaa8549e3 SYNC: renamed screenshot 2025-08-22 12:09:06 +00:00
CI workflows
1a8a757912 chore: auto-update github workflows 2025-08-22 11:41:07 +00:00
CI workflows
c69bb8acc9 Update pro ref 2025-08-22 11:40:52 +00:00
SPRINX0\prochazka
4989d67b92 v6.6.2-premium-beta.2 2025-08-22 12:32:41 +02:00
SPRINX0\prochazka
b272d342b0 Merge branch 'feature/mongo-server-summary' 2025-08-22 12:32:31 +02:00
SPRINX0\prochazka
251b2853e0 v6.6.2-premium-beta.1 2025-08-22 12:00:23 +02:00
CI workflows
d381c9505f chore: auto-update github workflows 2025-08-22 08:34:07 +00:00
CI workflows
eeb3b8f939 Update pro ref 2025-08-22 08:33:50 +00:00
SPRINX0\prochazka
ee40f32b0c SYNC: fixed permission check, new permission test 2025-08-22 08:33:39 +00:00
CI workflows
02a69ea6d9 chore: auto-update github workflows 2025-08-22 07:46:24 +00:00
CI workflows
d47bb5ecd4 Update pro ref 2025-08-22 07:46:05 +00:00
Jan Prochazka
d2d6e2f554 SYNC: Merge pull request #8 from dbgate/feature/db-table-permissions 2025-08-22 07:45:53 +00:00
Jan Prochazka
f48b4a6c62 Merge pull request #1186 from dbgate/feature/mongo-server-summary
Feature/mongo server summary
2025-08-21 15:46:34 +02:00
Pavel
07f7b7df1b fix: send empty string instead of null when process has no operation 2025-08-21 14:45:03 +02:00
Pavel
26486f9d63 style: full width + scroll for child1 wrapper in SummaryProcesses splitter 2025-08-21 14:44:31 +02:00
Pavel
428aa970b9 Merge branch 'master' into feature/mongo-server-summary 2025-08-21 14:27:27 +02:00
SPRINX0\prochazka
2a8c532786 fixes 2025-08-21 13:00:33 +02:00
Pavel
4381829d16 fix: use full process list and info for operaiton in mysql server summary 2025-08-19 18:43:08 +02:00
Pavel
176d75768f feat: vertical split for process operation 2025-08-19 18:40:08 +02:00
Pavel
e28e363bd0 feat: keep tabs and table headers sticky, scroll table bodies 2025-08-19 18:05:07 +02:00
Pavel
114ce1ea3a feat: make summary table sortable, filtrable, with sticky header 2025-08-19 17:13:19 +02:00
Pavel
78215552bf chore: add logging for server summary 2025-08-19 17:08:15 +02:00
Pavel
fc9677f419 fix: wrap <tr> into <tbody> 2025-08-19 15:23:58 +02:00
Pavel
975a551728 feat: updgrade svlete to v4 2025-08-19 15:23:58 +02:00
SPRINX0\prochazka
be4fe6ab77 removed obsolete method 2025-08-19 12:26:31 +02:00
Pavel
ab924f6b48 feat: confirm kill process 2025-08-14 22:55:36 +02:00
Pavel
e4bf2b4c9b feat: mssql server summary 2025-08-14 22:48:51 +02:00
Pavel
c49b1a46f8 feat: mysql server summary 2025-08-14 22:48:42 +02:00
Pavel
6a56726734 fix: refresh proccesses only if summary tab is opened 2025-08-14 22:48:35 +02:00
Pavel
8f6783792f feat: add error handler for server summary tab 2025-08-14 21:48:56 +02:00
Pavel
b5ab1d6b33 fix: always convert seconds to fixed 3 when printing running time 2025-08-14 21:36:34 +02:00
Pavel
25fe1d03a7 feat: server summary for postgres 2025-08-14 21:33:33 +02:00
Pavel
90546ad4a7 feat: toasts when killing db proc 2025-08-14 21:16:53 +02:00
Pavel
939bbc3f2c chore: update summary typing 2025-08-14 20:09:47 +02:00
Pavel
02ee327595 feat: format fileSize cols in summary databases 2025-08-14 19:21:04 +02:00
Pavel
d8081277ee feat: parse col to row formatter 2025-08-14 19:18:42 +02:00
Pavel
164a112e0c feat: refresh processes only if processes tab is open 2025-08-14 19:18:33 +02:00
Pavel
697bde7b53 feat: pass tabVisible to tabs 2025-08-14 19:18:14 +02:00
Pavel
2fd5244f85 feat: use _t translations in server summary 2025-08-14 18:46:55 +02:00
SPRINX0\prochazka
354d925f94 v6.6.1 2025-08-14 17:30:52 +02:00
SPRINX0\prochazka
88c74f020c changelog 2025-08-14 17:29:59 +02:00
SPRINX0\prochazka
9b7021b1cd v6.6.1-beta.19 2025-08-14 17:06:20 +02:00
SPRINX0\prochazka
30dbb23330 fixed potential error 2025-08-14 17:05:56 +02:00
Pavel
b1696ed1cd feat: autorefresh processes, refresh processes w/o displaying loader 2025-08-14 16:40:20 +02:00
Pavel
61f1c99791 feat: send cols from list databases 2025-08-14 16:39:54 +02:00
Jan Prochazka
bb9a559b80 Merge pull request #1184 from daujyungx/master
fix: #340, SQL Server tedious driver connect to named instance
2025-08-14 12:17:12 +02:00
Jan Prochazka
5e20ea4975 Merge pull request #1183 from dbgate/feature/1181-oracle-lob-handler
feat: normalize oracle LOB values
2025-08-14 12:13:14 +02:00
daujyungx
c5d7e30bed fix: #340, SQL Server tedious driver connect to named instance 2025-08-14 15:50:46 +08:00
Pavel
de5f3a31ed fix: fetch oracle blobs as buffer 2025-08-13 14:47:59 +02:00
Jan Prochazka
7913c4135f v6.6.1-premium-beta.18 2025-08-13 07:22:17 +02:00
Jan Prochazka
d49345de9c v6.6.1-beta.18 2025-08-13 07:22:06 +02:00
Jan Prochazka
1dbfa71bde v6.6.1-beta.16 2025-08-13 07:21:34 +02:00
Jan Prochazka
d46b84f0d6 Merge pull request #1171 from dbgate/feature/1137-mssql-column-desc
feat: add MS_Description to mssql analyzer columns
2025-08-13 06:55:35 +02:00
Pavel
9d456992cf feat: kill db process 2025-08-13 04:54:15 +02:00
Pavel
5dd62ad2aa feat: new server summary tab 2025-08-13 04:53:25 +02:00
Pavel
a293eeb398 feat: new mongo server summary 2025-08-13 04:53:24 +02:00
Pavel
a6b6b5eb70 feat: add typing for listVariables, listProccess, killProccess, update server summary typings 2025-08-13 04:53:24 +02:00
Pavel
971af1df5f fix: use baseColumns for tables hashes in _runAnalysis 2025-08-12 15:44:22 +02:00
Pavel
21641da0bf feat: safeCommentChanges flag to dialect 2025-08-07 15:32:24 +02:00
Pavel
a8d9c145e6 Merge branch 'master' into feature/1137-mssql-column-desc 2025-08-07 14:21:57 +02:00
Pavel
bfafcb76ba fix: use only cols with comments for obj hash 2025-08-07 14:21:57 +02:00
Pavel
52f74f1204 Merge branch 'master' into feature/1137-mssql-column-desc 2025-08-07 12:53:09 +02:00
SPRINX0\prochazka
00c212ecb2 v6.6.1-premium-beta.15 2025-08-07 09:57:18 +02:00
CI workflows
e77d302a49 chore: auto-update github workflows 2025-08-07 07:37:04 +00:00
CI workflows
5183f3729c Update pro ref 2025-08-07 07:36:45 +00:00
SPRINX0\prochazka
e93102f105 v6.6.1-premium-beta.14 2025-08-07 07:46:26 +02:00
CI workflows
a4652689ec chore: auto-update github workflows 2025-08-06 14:42:42 +00:00
CI workflows
ede1005087 Update pro ref 2025-08-06 14:42:23 +00:00
SPRINX0\prochazka
e97c7ed32e SYNC: fix BE 2025-08-06 14:42:10 +00:00
SPRINX0\prochazka
9230a2ab73 SYNC: Merge branch 'feature/mongosh' 2025-08-06 12:56:16 +00:00
SPRINX0\prochazka
01ee66ec4f SYNC: fixed choosing default database 2025-08-06 12:14:29 +00:00
SPRINX0\prochazka
4c12cbd3cc SYNC: improved log export 2025-08-06 11:37:49 +00:00
SPRINX0\prochazka
d8eeeaaef6 SYNC: export logs 2025-08-06 11:29:24 +00:00
SPRINX0\prochazka
994dae2a7d SYNC: export logs to file 2025-08-06 11:17:05 +00:00
CI workflows
51da6e928d chore: auto-update github workflows 2025-08-06 10:35:50 +00:00
CI workflows
a328ad030e Update pro ref 2025-08-06 10:35:32 +00:00
SPRINX0\prochazka
ed7605eccd SYNC: Merge branch 'feature/dblogs' 2025-08-06 10:35:21 +00:00
Pavel
de43880a1c feat: fetch only base column info for modifications, drop columnComment only if exists 2025-08-06 09:36:16 +02:00
Pavel
32b1a5b22d feat: include comments in contentHash for mssql 2025-08-06 09:36:16 +02:00
Pavel
795992fb42 feat: add add comment to table teest 2025-08-06 09:36:16 +02:00
Pavel
339eab33c8 feat: add add comment to column test 2025-08-06 09:36:16 +02:00
Pavel
489f3aa19d feat: add test for table creation with comments 2025-08-06 09:36:16 +02:00
Pavel
888e284f84 fix:fix: removeu duplicate method, simplify changeColumnComment 2025-08-06 09:36:16 +02:00
Pavel
d151114f08 fix: correctly parse table comment when creating a table 2025-08-06 09:36:16 +02:00
Pavel
4f6a3c23ad feat: ms_description for tables, upd columns 2025-08-06 09:36:16 +02:00
CI workflows
4ed437fd4e chore: auto-update github workflows 2025-08-05 15:15:45 +00:00
CI workflows
fa0b21ba81 Update pro ref 2025-08-05 15:14:18 +00:00
Jan Prochazka
a96f1d0b49 SYNC: Merge pull request #7 from dbgate/feature/applog 2025-08-05 15:14:06 +00:00
SPRINX0\prochazka
ac0aebd751 SYNC: strict delimit logs by date 2025-08-04 10:52:45 +00:00
SPRINX0\prochazka
781cbb4668 SYNC: updated mongo version 2025-08-04 08:34:43 +00:00
SPRINX0\prochazka
56ca1911a1 SYNC: mongosh - use only in stream method 2025-08-01 14:21:45 +00:00
Pavel
c20aec23a2 feat: change ms_description when columnComment changes 2025-07-31 15:01:22 +02:00
Pavel
a9cff01579 fix: show columnComment in structure ui 2025-07-31 15:01:22 +02:00
Pavel
6af56a61b8 feat: add ignoreComments options testEqualColumns 2025-07-31 15:01:22 +02:00
Pavel
252db191a6 feat: add ms_description to mssqldumper table options 2025-07-31 15:01:22 +02:00
Pavel
5e2776f264 feat: add MS_Description to mssql analyzer columns 2025-07-31 15:01:22 +02:00
CI workflows
7ec9fb2c44 chore: auto-update github workflows 2025-07-31 10:52:36 +00:00
SPRINX0\prochazka
34facb6b3b try to fix build 2025-07-31 12:52:17 +02:00
SPRINX0\prochazka
5bb2a1368e v6.6.1-premium-beta.13 2025-07-31 10:49:08 +02:00
CI workflows
85a7bbca66 chore: auto-update github workflows 2025-07-31 08:47:07 +00:00
CI workflows
2b7f27bf8f Update pro ref 2025-07-31 08:46:50 +00:00
SPRINX0\prochazka
dd57945e7d v6.6.1-premium-beta.12 2025-07-31 10:26:58 +02:00
SPRINX0\prochazka
fa02b4fd56 SYNC: tag fix 2025-07-31 08:26:35 +00:00
SPRINX0\prochazka
c8715eead5 v6.6.1-premium-beta.11 2025-07-31 09:56:51 +02:00
SPRINX0\prochazka
37aae8c10e SYNC: GTM support 2025-07-31 07:55:58 +00:00
SPRINX0\prochazka
a97ed02e15 support for script embeding 2025-07-31 09:34:45 +02:00
SPRINX0\prochazka
38ebb2d06a Revert "update all packages"
This reverts commit c765bfc946.
2025-07-30 15:42:23 +02:00
SPRINX0\prochazka
c765bfc946 update all packages 2025-07-30 15:41:18 +02:00
CI workflows
b00ac75f33 chore: auto-update github workflows 2025-07-30 10:40:36 +00:00
SPRINX0\prochazka
36730168c0 SYNC: upgraded mongo for E2E tests 2025-07-30 10:40:19 +00:00
SPRINX0\prochazka
4339ece6f6 v6.6.1-beta.7 2025-07-30 11:17:38 +02:00
SPRINX0\prochazka
041c997e59 v6.6.1-premium-beta.6 2025-07-30 11:17:26 +02:00
SPRINX0\prochazka
098ebb38dc SYNC: fixed BE for premium 2025-07-30 09:05:11 +00:00
CI workflows
b99c38a070 chore: auto-update github workflows 2025-07-30 08:46:03 +00:00
SPRINX0\prochazka
07b42d8e74 Merge branch 'feature/mongosh' 2025-07-30 10:45:02 +02:00
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
SPRINX0\prochazka
20339f70c1 text 2025-07-30 08:42:30 +02:00
SPRINX0\prochazka
c2e6cf1eb0 time-limited offer info 2025-07-30 08:19:26 +02:00
SPRINX0\prochazka
8dfdca97cd readme 2025-07-30 07:38:17 +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
1186 changed files with 249433 additions and 23389 deletions

View File

@@ -1,12 +1,14 @@
---
name: Bug report
about: Create a report to help us improve DbGate
about: Create a report to help us improve DbGate (in ENGLISH)
title: 'BUG: Say something here'
labels: ''
assignees: ''
---
Please keep communication in ENGLISH to reach more contributors.
**Describe the bug**
A clear and concise description of what the bug is.

View File

@@ -1,12 +1,14 @@
---
name: Feature request
about: Suggest an idea for DbGate
about: Suggest an idea for DbGate (in ENGLISH)
title: 'FEAT: '
labels: ''
assignees: ''
---
Please keep communication in ENGLISH to reach more contributors.
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

View File

@@ -1,12 +1,14 @@
---
name: Question
about: Ask a question about how to do something
about: Ask a question about how to do something (in ENGLISH)
title: 'QUESTION: Summary of your question'
labels: ''
assignees: ''
---
Please keep communication in ENGLISH to reach more contributors.
**Details:**
Details about your question

View File

@@ -1,21 +1,35 @@
# --------------------------------------------------------------------------------------------
# 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]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
environment: dbgate-app
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:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install --upgrade pip setuptools
- 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,64 +37,84 @@ 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
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillNativeModulesElectron
run: |
yarn fillNativeModulesElectron
- name: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish
- name: Publish Windows
if: matrix.os == 'windows-2022'
run: |
yarn run build:app
- name: Publish MacOS
if: matrix.os == 'macos-14'
run: |
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
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
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Publish Linux
if: matrix.os == 'ubuntu-22.04'
run: |
snapcraft upload --release=beta app/dist/*.snap
yarn run build:app
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: Azure login (OIDC)
uses: azure/login@v2
if: matrix.os == 'windows-2022'
with:
client-id: ${{ secrets.AZURE_TC_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TC_TENANT_ID }}
allow-no-subscriptions: true
- name: Sign Windows artifacts with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
if: matrix.os == 'windows-2022'
with:
endpoint: https://wus3.codesigning.azure.net/
trusted-signing-account-name: DbGate
certificate-profile-name: DbGate-Release
files-folder: app/dist
files-folder-filter: exe
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
- name: Fix YML hashes
if: matrix.os == 'windows-2022'
run: |
yarn run fixYmlHashes
- name: Copy artifacts
run: |
mkdir artifacts
@@ -92,8 +126,11 @@ 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/*win_arm64.exe artifacts/dbgate-windows-beta-arm64.exe || 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
@@ -106,18 +143,21 @@ jobs:
mv 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/**'
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 {} ===" \;

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

@@ -0,0 +1,146 @@
# --------------------------------------------------------------------------------------------
# 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]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
environment: dbgate-app
strategy:
fail-fast: false
matrix:
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install --upgrade pip setuptools
- 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: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish Windows
if: matrix.os == 'windows-2022'
run: |
yarn run build:app
- name: Publish MacOS
if: matrix.os == 'macos-14'
run: |
yarn run build:app
env:
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 }}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Publish Linux
if: matrix.os == 'ubuntu-22.04'
run: |
yarn run build:app
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: Azure login (OIDC)
uses: azure/login@v2
if: matrix.os == 'windows-2022'
with:
client-id: ${{ secrets.AZURE_TC_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TC_TENANT_ID }}
allow-no-subscriptions: true
- name: Sign Windows artifacts with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
if: matrix.os == 'windows-2022'
with:
endpoint: https://wus3.codesigning.azure.net/
trusted-signing-account-name: DbGate
certificate-profile-name: DbGate-Release
files-folder: app/dist
files-folder-filter: exe
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
- name: Fix YML hashes
if: matrix.os == 'windows-2022'
run: |
yarn run fixYmlHashes
- 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/*win_arm64.exe artifacts/dbgate-windows-check-arm64.exe || 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

@@ -1,24 +1,35 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app PREMIUM BETA
on:
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+-premium-beta.[0-9]+'
- v[0-9]+.[0-9]+.[0-9]+-premium-beta.[0-9]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
environment: dbgate-app
strategy:
fail-fast: false
matrix:
# os: [windows-2022]
# os: [ubuntu-22.04]
# os: [windows-2022, ubuntu-22.04]
os: [macos-12, windows-2022, ubuntu-22.04]
# os: [macOS-10.15]
os:
- macos-14
- windows-2022
- ubuntu-22.04
steps:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install --upgrade pip setuptools
- 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) }}
@@ -26,18 +37,17 @@ 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: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 87c3efdaf83786abee4366dee2c58fea355edc4c
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
@@ -49,81 +59,113 @@ jobs:
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
- name: yarn adjustPackageJson
run: |
cd ..
cd dbgate-merged
yarn adjustPackageJson
- name: adjustPackageJsonPremium
run: |
cd ..
cd dbgate-merged
node adjustPackageJsonPremium
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: fillNativeModulesElectron
run: |
cd ..
cd dbgate-merged
yarn fillNativeModulesElectron
- name: fillPackagedPlugins
run: |
cd ..
cd dbgate-merged
yarn fillPackagedPlugins
- name: Publish
- name: Publish Windows
if: matrix.os == 'windows-2022'
run: |
cd ..
cd dbgate-merged
yarn run build:app
- name: Publish MacOS
if: matrix.os == 'macos-14'
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
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 }}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Publish Linux
if: matrix.os == 'ubuntu-22.04'
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: Azure login (OIDC)
uses: azure/login@v2
if: matrix.os == 'windows-2022'
with:
client-id: ${{ secrets.AZURE_TC_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TC_TENANT_ID }}
allow-no-subscriptions: true
- name: Sign Windows artifacts with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
if: matrix.os == 'windows-2022'
with:
endpoint: https://wus3.codesigning.azure.net/
trusted-signing-account-name: DbGate
certificate-profile-name: DbGate-Release
files-folder: ../dbgate-merged/app/dist
files-folder-filter: exe
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
- name: Fix YML hashes
if: matrix.os == 'windows-2022'
run: |
cd ..
cd dbgate-merged
yarn run fixYmlHashes
- 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/*-mac_x64.dmg artifacts/dbgate-premium-beta.dmg || 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/*win_arm64.exe artifacts/dbgate-windows-premium-beta-arm64.exe || 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
@@ -136,18 +178,23 @@ jobs:
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/**'
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 {} ===" \;

View File

@@ -1,25 +1,35 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Electron app PREMIUM
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]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
environment: dbgate-app
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:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install --upgrade pip setuptools
- 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,18 +37,17 @@ 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: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 87c3efdaf83786abee4366dee2c58fea355edc4c
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
@@ -50,106 +59,142 @@ jobs:
yarn
node sync.js --nowatch
cd ..
- name: adjustPackageJson
run: |
cd ..
cd dbgate-merged
- name: yarn adjustPackageJson
run: |
cd ..
cd dbgate-merged
yarn adjustPackageJson
- name: yarn adjustPackageJsonPremium
run: |
cd ..
cd dbgate-merged
node adjustPackageJsonPremium
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: fillNativeModulesElectron
run: |
cd ..
cd dbgate-merged
yarn fillNativeModulesElectron
- name: fillPackagedPlugins
run: |
cd ..
cd dbgate-merged
yarn fillPackagedPlugins
- name: Publish
- name: Publish Windows
if: matrix.os == 'windows-2022'
run: |
cd ..
cd dbgate-merged
yarn run build:app
- name: Publish MacOS
if: matrix.os == 'macos-14'
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
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 }}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Publish Linux
if: matrix.os == 'ubuntu-22.04'
run: |
cd ..
cd dbgate-merged
yarn run build:app
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: Azure login (OIDC)
uses: azure/login@v2
if: matrix.os == 'windows-2022'
with:
client-id: ${{ secrets.AZURE_TC_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TC_TENANT_ID }}
allow-no-subscriptions: true
- name: Sign Windows artifacts with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
if: matrix.os == 'windows-2022'
with:
endpoint: https://wus3.codesigning.azure.net/
trusted-signing-account-name: DbGate
certificate-profile-name: DbGate-Release
files-folder: ../dbgate-merged/app/dist
files-folder-filter: exe
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
- name: Fix YML hashes
if: matrix.os == 'windows-2022'
run: |
cd ..
cd dbgate-merged
yarn run fixYmlHashes
- 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/*.exe artifacts/dbgate-premium-latest.exe || true
cp ../dbgate-merged/app/dist/*win_x64.zip artifacts/dbgate-premium-windows-latest.zip || true
cp ../dbgate-merged/app/dist/*win_arm64.zip artifacts/dbgate-premium-windows-latest-arm64.zip || 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/*win_arm64.exe artifacts/dbgate-windows-premium-latest-arm64.exe || 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/**'
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,35 @@
# --------------------------------------------------------------------------------------------
# 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]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
environment: dbgate-app
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:
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- run: python -m pip install --upgrade pip setuptools
- 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 +37,83 @@ 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
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
- name: fillNativeModulesElectron
run: |
yarn fillNativeModulesElectron
- name: fillPackagedPlugins
run: |
yarn fillPackagedPlugins
- name: Install Snapcraft
if: matrix.os == 'ubuntu-22.04'
uses: samuelmeuli/action-snapcraft@v1
- name: Publish
- name: Publish Windows
if: matrix.os == 'windows-2022'
run: |
yarn run build:app
- name: Publish MacOS
if: matrix.os == 'macos-14'
run: |
yarn run build:app
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }} # token for electron publish
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 }}
APPLE_APP_SPECIFIC_PASSWORD: ${{secrets.APPLE_APP_SPECIFIC_PASSWORD}}
- name: Publish Linux
if: matrix.os == 'ubuntu-22.04'
run: |
yarn run build:app
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
- name: generatePadFile
run: |
yarn generatePadFile
- name: publishSnap
if: matrix.os == 'ubuntu-22.04'
- name: Azure login (OIDC)
uses: azure/login@v2
if: matrix.os == 'windows-2022'
with:
client-id: ${{ secrets.AZURE_TC_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TC_TENANT_ID }}
allow-no-subscriptions: true
- name: Sign Windows artifacts with Azure Trusted Signing
uses: azure/trusted-signing-action@v0
if: matrix.os == 'windows-2022'
with:
endpoint: https://wus3.codesigning.azure.net/
trusted-signing-account-name: DbGate
certificate-profile-name: DbGate-Release
files-folder: app/dist
files-folder-filter: exe
timestamp-rfc3161: http://timestamp.acs.microsoft.com
timestamp-digest: SHA256
- name: Fix YML hashes
if: matrix.os == 'windows-2022'
run: |
snapcraft upload --release=stable app/dist/*.snap
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{secrets.SNAPCRAFT_LOGIN}}
yarn run fixYmlHashes
- name: Copy artifacts
run: |
mkdir artifacts
@@ -96,74 +122,45 @@ 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/*win_arm64.exe artifacts/dbgate-windows-latest-arm64.exe || 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
mv app/dist/*.yml artifacts/ || true
rm artifacts/builder-debug.yml
# - 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 PAD file
if: matrix.os == 'windows-2022'
run: |
mv app/dist/dbgate-pad.xml artifacts/ || 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/**'
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 {} ===" \;

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

@@ -0,0 +1,117 @@
# --------------------------------------------------------------------------------------------
# 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: 87c3efdaf83786abee4366dee2c58fea355edc4c
- 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: 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 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 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}}

View File

@@ -1,20 +1,19 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Docker image PREMIUM
on:
'on':
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-premium-beta.[0-9]+'
- 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]
os:
- ubuntu-22.04
steps:
- name: Context
env:
@@ -23,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-premium
images: dbgate/dbgate-premium
flavor: |
latest=false
tags: |
@@ -37,19 +34,17 @@ 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: 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: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 87c3efdaf83786abee4366dee2c58fea355edc4c
- name: Merge dbgate/dbgate-pro
run: |
mkdir ../dbgate-pro
@@ -61,32 +56,34 @@ jobs:
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
# 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
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
@@ -94,7 +91,6 @@ jobs:
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v3
with:

View File

@@ -1,20 +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]+
- 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:
@@ -23,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: |
@@ -37,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
@@ -51,30 +47,30 @@ 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
env:
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
@@ -82,7 +78,6 @@ jobs:
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v3
with:
@@ -90,7 +85,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:

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

@@ -0,0 +1,103 @@
# --------------------------------------------------------------------------------------------
# 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]+
permissions:
id-token: write
contents: write
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: 87c3efdaf83786abee4366dee2c58fea355edc4c
- 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: Update npm
run: npm install -g npm@latest
- 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: Compute npm dist-tag
run: |
if [[ "${GITHUB_REF_NAME}" =~ -alpha\. ]]; then
echo "NPM_TAG=alpha" >> $GITHUB_ENV
else
echo "NPM_TAG=latest" >> $GITHUB_ENV
fi
- name: Publish dbgate-api-premium
run: |
cd ..
cd dbgate-merged/packages/api
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-web-premium
run: |
cd ..
cd dbgate-merged/packages/web
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-serve-premium
run: |
cd ..
cd dbgate-merged/packages/serve
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-cosmosdb
run: |
cd ..
cd dbgate-merged/plugins/dbgate-plugin-cosmosdb
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-firestore
run: |
cd ..
cd dbgate-merged/plugins/dbgate-plugin-firestore
npm publish --tag "$NPM_TAG"

View File

@@ -1,27 +1,24 @@
# --------------------------------------------------------------------------------------------
# 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]+
permissions:
id-token: write
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
strategy:
matrix:
os: [ubuntu-22.04]
os:
- ubuntu-22.04
steps:
- name: Context
env:
@@ -30,132 +27,114 @@ jobs:
- uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Use Node.js 18.x
uses: actions/setup-node@v1
- name: Use Node.js 22.x
uses: actions/setup-node@v4
with:
node-version: 18.x
- name: Configure NPM token
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm config set '//registry.npmjs.org/:_authToken' "${NPM_TOKEN}"
node-version: 22.x
cache: yarn
registry-url: https://registry.npmjs.org
- name: yarn install
run: |
yarn install
- name: setCurrentVersion
run: |
yarn setCurrentVersion
- name: printSecrets
- name: Compute npm dist-tag
run: |
yarn printSecrets
env:
GIST_UPLOAD_SECRET : ${{secrets.GIST_UPLOAD_SECRET}}
if [[ "${GITHUB_REF_NAME}" =~ -alpha\. ]]; then
echo "NPM_TAG=alpha" >> $GITHUB_ENV
else
echo "NPM_TAG=latest" >> $GITHUB_ENV
fi
- name: Publish types
working-directory: packages/types
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish tools
working-directory: packages/tools
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish sqltree
working-directory: packages/sqltree
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish rest
working-directory: packages/rest
run: |
npm publish --tag "$NPM_TAG"
- name: Publish api
working-directory: packages/api
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish datalib
working-directory: packages/datalib
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish filterparser
working-directory: packages/filterparser
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish web
working-directory: packages/web
run: |
npm publish
- name: Publish dbgate (obsolete)
working-directory: packages/dbgate
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-serve
working-directory: packages/serve
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbmodel
working-directory: packages/dbmodel
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-csv
working-directory: plugins/dbgate-plugin-csv
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-xml
working-directory: plugins/dbgate-plugin-xml
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-excel
working-directory: plugins/dbgate-plugin-excel
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-mssql
working-directory: plugins/dbgate-plugin-mssql
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-mysql
working-directory: plugins/dbgate-plugin-mysql
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-mongo
working-directory: plugins/dbgate-plugin-mongo
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-postgres
working-directory: plugins/dbgate-plugin-postgres
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-sqlite
working-directory: plugins/dbgate-plugin-sqlite
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-redis
working-directory: plugins/dbgate-plugin-redis
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-oracle
working-directory: plugins/dbgate-plugin-oracle
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-clickhouse
working-directory: plugins/dbgate-plugin-clickhouse
run: |
npm publish
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-dbf
working-directory: plugins/dbgate-plugin-dbf
run: |
npm publish --tag "$NPM_TAG"
- name: Publish dbgate-plugin-cassandra
working-directory: plugins/dbgate-plugin-cassandra
run: |
npm publish --tag "$NPM_TAG"

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 }}

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

@@ -0,0 +1,152 @@
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Cypress tests with screenshots PREMIUM
'on':
push:
branches:
- stable
- master
- develop
- feature/**
- hotfix/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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: 87c3efdaf83786abee4366dee2c58fea355edc4c
- 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 - stable
if: ${{ github.ref_name == 'stable' }}
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
- name: Push E2E screenshots - master
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-dev
cd dbgate-img/static/img-dev
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.4.29
env:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: Pwd2020Db
ports:
- '16010:27017'
redis:
image: redis
ports:
- '16011:6379'
dynamodb:
image: amazon/dynamodb-local
ports:
- '16015:8000'
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,87 +1,134 @@
name: Run tests
on:
# --------------------------------------------------------------------------------------------
# This file is generated. Do not edit manually
# --------------------------------------------------------------------------------------------
name: Integration and unit tests
'on':
push:
branches:
- master
- develop
- feature/**
- hotfix/**
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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: Checkout dbgate/dbgate-pro
uses: actions/checkout@v2
with:
repository: dbgate/dbgate-pro
token: ${{ secrets.GH_TOKEN }}
path: dbgate-pro
ref: 87c3efdaf83786abee4366dee2c58fea355edc4c
- 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: Integration tests
run: |
cd ../dbgate-merged
cd integration-tests
yarn test:ci
# yarn wait:ci
- name: Filter parser tests
if: always()
run: |
cd ../dbgate-merged
cd packages/filterparser
yarn test:ci
- name: Datalib (perspective) tests
if: always()
run: |
cd ../dbgate-merged
cd packages/datalib
yarn test:ci
- uses: tanmen/jest-reporter@v1
- name: Tools tests
if: always()
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-file: integration-tests/result.json
action-name: Integration tests
- uses: tanmen/jest-reporter@v1
if: always()
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-file: packages/filterparser/result.json
action-name: Filter parser test results
- uses: tanmen/jest-reporter@v1
if: always()
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
result-file: packages/datalib/result.json
action-name: Datalib (perspectives) test results
run: |
cd ../dbgate-merged
cd packages/tools
yarn test:ci
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
clickhouse:
image: bitnami/clickhouse:24.8.4
ports:
- '15002:1433'
clickhouse-integr:
image: bitnamilegacy/clickhouse:24.8.4
env:
CLICKHOUSE_ADMIN_PASSWORD: Pwd2020Db
# cockroachdb:
# image: cockroachdb/cockroach
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'
mongodb:
image: mongo:4.0.12
ports:
- '27017:27017'
volumes:
- mongo-data:/data/db
- mongo-config:/data/configdb
dynamodb:
image: amazon/dynamodb-local
ports:
- '8000:8000'

8
.gitignore vendored
View File

@@ -24,13 +24,15 @@ docker/plugins
.env.development.local
.env.test.local
.env.production.local
.env.translation
npm-debug.log*
yarn-debug.log*
yarn-error.log*
app/src/nativeModulesContent.js
packages/api/src/nativeModulesContent.js
packages/api/src/packagedPluginsContent.js
.VSCodeCounter
packages/web/public/*.html
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

@@ -2,5 +2,10 @@
"jestrunner.jestCommand": "node_modules/.bin/cross-env DEVMODE=1 LOCALTEST=1 node_modules/.bin/jest",
"cSpell.words": [
"dbgate"
]
],
"chat.tools.terminal.autoApprove": {
"yarn workspace": true,
"yarn --cwd packages/rest": true,
"yarn --cwd packages/web": true
}
}

9
AGENTS.md Normal file
View File

@@ -0,0 +1,9 @@
# AGENTS
## Rules
- In newly added code, always use `DBGM-00000` for message/error codes; do not introduce new numbered DBGM codes such as `DBGM-00316`.
- GUI uses Svelte4 (packages/web)
- GUI is tested with E2E tests in `e2e-tests` folder, using Cypress. Use data-testid attribute in components to make them easier to test.
- data-testid format: ComponentName_identifier. Use reasonable identifiers
- don't change content of storageModel.js - this is generated from table YAMLs with "yarn storage-json" command

File diff suppressed because it is too large Load Diff

119
CLAUDE.md Normal file
View File

@@ -0,0 +1,119 @@
# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Project Overview
DbGate is a cross-platform (no)SQL database manager supporting MySQL, PostgreSQL, SQL Server, Oracle, MongoDB, Redis, SQLite, and more. It runs as a web app (Docker/NPM), an Electron desktop app, or in a browser. The monorepo uses Yarn workspaces.
## Development Commands
```sh
yarn # install all packages (also builds TS libraries and plugins)
yarn start # run API (port 3000) + web (port 5001) concurrently
```
For more control, run these 3 commands in separate terminals:
```sh
yarn start:api # Express API on port 3000
yarn start:web # Svelte frontend on port 5001
yarn lib # watch-compile TS libraries and plugins
```
For Electron development:
```sh
yarn start:web # web on port 5001
yarn lib # watch TS libs/plugins
yarn start:app # Electron app
```
### Building
```sh
yarn build:lib # build all TS libraries (sqltree, tools, filterparser, datalib, rest)
yarn build:api # build API
yarn build:web # build web frontend
yarn ts # TypeScript type-check API and web
yarn prettier # format all source files
```
### Testing
Unit tests (in packages like `dbgate-tools`):
```sh
yarn workspace dbgate-tools test
```
Integration tests (requires Docker for database containers):
```sh
cd integration-tests
yarn test:local # run all tests
yarn test:local:path __tests__/alter-database.spec.js # run a single test file
```
E2E tests (Cypress):
```sh
yarn cy:open # open Cypress UI
cd e2e-tests && yarn cy:run:browse-data # run a specific spec headlessly
```
## Architecture
### Monorepo Structure
| Path | Package | Purpose |
|---|---|---|
| `packages/api` | `dbgate-api` | Express.js backend server |
| `packages/web` | `dbgate-web` | Svelte 4 frontend (built with Rolldown) |
| `packages/tools` | `dbgate-tools` | Shared TS utilities: SQL dumping, schema analysis, diffing, driver base classes |
| `packages/datalib` | `dbgate-datalib` | Grid display logic, changeset management, perspectives, chart definitions |
| `packages/sqltree` | `dbgate-sqltree` | SQL AST representation and dumping |
| `packages/filterparser` | `dbgate-filterparser` | Parses filter strings into SQL/Mongo conditions |
| `packages/rest` | `dbgate-rest` | REST connection support |
| `packages/types` | `dbgate-types` | TypeScript type definitions (`.d.ts` only) |
| `packages/aigwmock` | `dbgate-aigwmock` | Mock AI gateway server for E2E testing |
| `plugins/dbgate-plugin-*` | — | Database drivers and file format handlers |
| `app/` | — | Electron shell |
| `integration-tests/` | — | Jest-based DB integration tests (Docker) |
| `e2e-tests/` | — | Cypress E2E tests |
### API Backend (`packages/api`)
- Express.js server with controllers in `src/controllers/` — each file exposes REST endpoints via the `useController` utility
- Database connections run in child processes (`src/proc/`) to isolate crashes and long-running operations
- `src/shell/` contains stream-based data pipeline primitives (readers, writers, transforms) used for import/export and replication
- Plugin drivers are loaded dynamically via `requireEngineDriver`; each plugin in `plugins/` exports a driver conforming to `DriverBase` from `dbgate-tools`
### Frontend (`packages/web`)
- Svelte 4 components; builds with Rolldown (not Vite/Webpack)
- Global state in `src/stores.ts` using Svelte writable stores, with `writableWithStorage` / `writableWithForage` helpers for persistence
- API calls go through `src/utility/api.ts` (`apiCall`, `apiOff`, etc.) which handles auth, error display, and cache invalidation
- Tab system: each open editor/viewer is a "tab" tracked in `openedTabs` store; tab components live in `src/tabs/`
- Left-panel tree items are "AppObjects" in `src/appobj/`
- Metadata (table lists, column info) is loaded reactively via hooks in `src/utility/metadataLoaders.ts`
- Commands/keybindings are registered in `src/commands/`
### Plugin Architecture
Each `plugins/dbgate-plugin-*` package provides:
- **Frontend build** (`build:frontend`): bundled JS loaded by the web UI for query formatting, data rendering
- **Backend build** (`build:backend`): Node.js driver code loaded by the API for actual DB connections
Plugins are copied to `plugins/dist/` via `plugins:copydist` before building the app or Docker image.
### Key Conventions
- Error/message codes use `DBGM-00000` as placeholder — do not introduce new numbered `DBGM-NNNNN` codes
- Frontend uses **Svelte 4** (not Svelte 5)
- E2E test selectors use `data-testid` attribute with format `ComponentName_identifier`
- Prettier config: single quotes, 2-space indent, 120-char line width, trailing commas ES5
- Logging via `pinomin`; pipe through `pino-pretty` for human-readable output
### Translation System
```sh
yarn translations:extract # extract new strings
yarn translations:add-missing # add missing translations
yarn translations:check # check for issues
```

View File

@@ -15,8 +15,10 @@ 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://www.dbgate.io/download/)
* Looking for DbGate Community? **Download** from [dbgate.io](https://www.dbgate.io/download-community/)
* 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))
## Supported databases
* MySQL
@@ -26,12 +28,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
* CosmosDB (Premium)
<!-- Learn more about DbGate features at the [DbGate website](https://dbgate.org/), or try our online [demo application](https://demo.dbgate.org) -->
* ClickHouse
* Apache Cassandra
* libSQL/Turso (Premium)
* DuckDB
* Firebird
* Firestore (Premium)
<a href="https://raw.githubusercontent.com/dbgate/dbgate/master/img/screenshot1.png">
@@ -50,13 +56,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 from DbGate Cloud
* 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
@@ -68,23 +76,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
* Write review on [Slant.co](https://www.slant.co/improve/options/41086/~dbgate-review) or [G2](https://www.g2.com/products/dbgate/reviews)
* Purchase a [DbGate Premium](https://www.dbgate.io/purchase/premium/) license
* 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)
* Create a new custom theme and share it on [DbGate Cloud](https://github.com/dbgate/dbgate-knowledge-base/tree/master/folder-Themes)
Thank you!
@@ -179,4 +190,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');

View File

@@ -13,9 +13,9 @@
<p>DbGate is cross-platform database manager. It's designed to be simple to use and effective, when working with more databases simultaneously. But there are also many advanced features like schema compare, visual query designer, chart visualisation or batch export and import.</p>
</description>
<url type="homepage">https://dbgate.org/</url>
<url type="homepage">https://www.dbgate.io/</url>
<url type="vcs-browser">https://github.com/dbgate/dbgate</url>
<url type="contact">https://dbgate.org/about/</url>
<url type="contact">https://www.dbgate.io/contact/</url>
<url type="donation">https://github.com/sponsors/dbgate</url>
<url type="bugtracker">https://github.com/dbgate/dbgate/issues</url>

View File

@@ -1,6 +1,6 @@
{
"name": "dbgate",
"version": "5.0.0-alpha.1",
"version": "7.0.0-alpha.1",
"private": true,
"author": "Jan Prochazka <jenasoft.database@gmail.com>",
"description": "Opensource database administration tool",
@@ -19,7 +19,6 @@
"artifactName": "dbgate-${version}-${os}_${arch}.${ext}",
"appId": "org.dbgate",
"productName": "DbGate",
"afterSign": "electron-builder-notarize",
"asarUnpack": "**/*.node",
"mac": {
"category": "database",
@@ -38,9 +37,11 @@
"target": "default",
"arch": [
"universal",
"x64"
"x64",
"arm64"
]
}
},
"notarize": true
},
"linux": {
"target": [
@@ -50,7 +51,6 @@
"target": "AppImage",
"arch": [
"x64",
"armv7l",
"arm64"
]
},
@@ -109,14 +109,15 @@
"files": [
"packages",
"src",
"icon.png"
"icon.png",
"!node_modules/cpu-features/build/**"
]
},
"homepage": "./",
"scripts": {
"start": "cross-env ELECTRON_START_URL=http://localhost:5001 DEVMODE=1 electron .",
"start:local": "cross-env electron .",
"dist": "electron-builder",
"dist": "electron-builder --publish never",
"build": "cd ../packages/api && yarn build && cd ../web && yarn build && cd ../../app && yarn dist",
"build:local": "cd ../packages/api && yarn build && cd ../web && yarn build && cd ../../app && yarn predist",
"postinstall": "yarn rebuild && patch-package",
@@ -127,13 +128,7 @@
"devDependencies": {
"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": "38.6.0",
"electron-builder": "25.1.8"
}
}

View File

@@ -31,6 +31,16 @@ let mainModule;
let appUpdateStatus = '';
let settingsJson = {};
function getTranslated(key) {
if (typeof key === 'string' && global.TRANSLATION_DATA?.[key]) {
return global.TRANSLATION_DATA?.[key];
}
if (typeof key?._transKey === 'string') {
return global.TRANSLATION_DATA?.[key._transKey] ?? key._transOptions?.defaultMessage;
}
return key;
}
process.on('uncaughtException', function (error) {
console.error('uncaughtException', error);
});
@@ -63,6 +73,7 @@ try {
let mainWindow;
let mainMenu;
let runCommandOnLoad = null;
let mainWindowMenuSet = false;
log.transports.file.level = 'debug';
autoUpdater.logger = log;
@@ -85,17 +96,22 @@ function formatKeyText(keyText) {
return keyText.replace('CtrlOrCommand+', 'Ctrl+');
}
function commandItem(item) {
function commandItem(item, disableAll = false) {
const id = item.command;
const command = commands[id];
if (item.skipInApp) {
return { skip: true };
}
if (!command) {
return { skip: true };
}
return {
id,
label: command ? command.menuName || command.toolbarName || command.name : id,
label: command
? getTranslated(command.menuName) || getTranslated(command.toolbarName) || getTranslated(command.name)
: id,
accelerator: formatKeyText(command ? command.keyText : undefined),
enabled: command ? command.enabled : false,
enabled: command ? command.enabled && (!disableAll || command.systemCommand) : false,
click() {
if (mainWindow) {
mainWindow.webContents.send('run-command', id);
@@ -107,14 +123,14 @@ function commandItem(item) {
};
}
function buildMenu() {
let template = _cloneDeepWith(mainMenuDefinition({ editMenu: true }), item => {
function buildMenu(disableAll = false) {
let template = _cloneDeepWith(mainMenuDefinition({ editMenu: true, isMac: isMac() }), item => {
if (item.divider) {
return { type: 'separator' };
}
if (item.command) {
return commandItem(item);
return commandItem(item, disableAll);
}
});
@@ -129,7 +145,7 @@ function buildMenu() {
{
label: 'DbGate',
submenu: [
commandItem({ command: 'about.show' }),
commandItem({ command: 'about.show' }, disableAll),
{ role: 'services' },
{ role: 'hide' },
{ role: 'hideOthers' },
@@ -145,22 +161,28 @@ function buildMenu() {
}
ipcMain.on('update-commands', async (event, arg) => {
commands = JSON.parse(arg);
const parsed = JSON.parse(arg);
commands = parsed.commands;
const isModalOpened = parsed.isModalOpened;
const dbgatePage = parsed.dbgatePage;
for (const key of Object.keys(commands)) {
const menu = mainMenu.getMenuItemById(key);
if (!menu) continue;
const command = commands[key];
// rebuild menu
if (menu.label != command.text || menu.accelerator != command.keyText) {
mainMenu = buildMenu();
if (global.TRANSLATION_DATA && (menu.label != command.text || menu.accelerator != command.keyText)) {
mainMenu = buildMenu(isModalOpened || !!dbgatePage);
Menu.setApplicationMenu(mainMenu);
// mainWindow.setMenu(mainMenu);
if (!mainWindowMenuSet) {
mainWindow.setMenu(mainMenu);
mainWindowMenuSet = true;
}
return;
}
menu.enabled = command.enabled;
menu.enabled = command.enabled && !isModalOpened && !dbgatePage;
}
});
ipcMain.on('quit-app', async (event, arg) => {
@@ -212,6 +234,10 @@ ipcMain.on('app-started', async (event, arg) => {
autoUpdater.checkForUpdates();
}
}
if (initialConfig['winZoomLevel'] != null) {
mainWindow.webContents.zoomLevel = initialConfig['winZoomLevel'];
}
});
ipcMain.on('window-action', async (event, arg) => {
if (!mainWindow) {
@@ -299,6 +325,12 @@ ipcMain.on('check-for-updates', async (event, url) => {
autoUpdater.autoDownload = false;
autoUpdater.checkForUpdates();
});
ipcMain.on('translation-data', async (event, arg) => {
global.TRANSLATION_DATA = JSON.parse(arg);
mainMenu = buildMenu();
Menu.setApplicationMenu(mainMenu);
mainWindow.setMenu(mainMenu);
});
function fillMissingSettings(value) {
const res = {
@@ -357,6 +389,7 @@ function createWindow() {
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: isProApp() ? 'persist:dbgate-premium' : 'persist:dbgate',
@@ -367,6 +400,14 @@ function createWindow() {
},
});
mainWindow.webContents.session.webRequest.onBeforeSendHeaders(
{ urls: ['https://*.tile.openstreetmap.org/*'] },
(details, callback) => {
details.requestHeaders['Referer'] = 'https://www.dbgate.io';
callback({ requestHeaders: details.requestHeaders });
}
);
if (initialConfig['winIsMaximized']) {
mainWindow.maximize();
}
@@ -374,8 +415,8 @@ function createWindow() {
mainWindow.setFullScreen(true);
}
mainMenu = buildMenu();
mainWindow.setMenu(mainMenu);
// mainMenu = buildMenu();
// mainWindow.setMenu(mainMenu);
function loadMainWindow() {
const startUrl =
@@ -393,6 +434,7 @@ function createWindow() {
JSON.stringify({
winBounds: mainWindow.getBounds(),
winIsMaximized: mainWindow.isMaximized(),
winZoomLevel: mainWindow.webContents.zoomLevel,
}),
'utf-8'
);
@@ -430,7 +472,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);

View File

@@ -1,17 +1,23 @@
module.exports = ({ editMenu }) => [
function _t(key, { defaultMessage, currentTranslations } = {}) {
return (currentTranslations || global.TRANSLATION_DATA)?.[key] || defaultMessage;
}
module.exports = ({ editMenu, isMac }, currentTranslations = null) => [
{
label: 'File',
label: _t('menu.file', { defaultMessage: 'File', currentTranslations }),
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.application', 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,23 +30,9 @@ 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',
label: _t('menu.edit', { defaultMessage: 'Edit', currentTranslations }),
submenu: [
{ command: 'edit.undo' },
{ command: 'edit.redo' },
@@ -65,7 +57,7 @@ module.exports = ({ editMenu }) => [
// ],
// },
{
label: 'View',
label: _t('menu.view', { defaultMessage: 'View', currentTranslations }),
submenu: [
{ command: 'app.reload', hideDisabled: true },
{ command: 'app.toggleDevTools', hideDisabled: true },
@@ -75,10 +67,21 @@ 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 },
{ divider: true },
{ command: 'app.showLogs', hideDisabled: true },
],
},
{
label: 'Tools',
label: _t('menu.tools', { defaultMessage: 'Tools', currentTranslations }),
submenu: [
{ command: 'database.search', hideDisabled: true },
{ command: 'commandPalette.show', hideDisabled: true },
@@ -90,23 +93,36 @@ module.exports = ({ editMenu }) => [
{ divider: true },
{ 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 },
{ divider: true },
{ command: 'app.managePlugins', hideDisabled: true },
],
},
...(isMac
? [
{
role: 'window',
submenu: [{ role: 'minimize' }, { role: 'zoom' }, { type: 'separator' }, { role: 'front' }],
},
]
: []),
{
label: 'Help',
label: _t('menu.help', { defaultMessage: 'Help', currentTranslations }),
submenu: [
{ command: 'app.openDocs', hideDisabled: true },
{ 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 },
{ command: 'app.checkForUpdates', hideDisabled: true },
],
},
];

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,129 @@
#!/usr/bin/env node
// assign-dbgm-codes.mjs
import fs from 'fs/promises';
import path from 'path';
const PLACEHOLDER = 'DBGM-00000';
const CODE_RE = /DBGM-(\d{5})/g;
const JS_TS_RE = /\.(mjs|cjs|js|ts|jsx|tsx)$/i;
const IGNORE_DIRS = new Set([
'node_modules',
'.git',
'.hg',
'.svn',
'dist',
'build',
'out',
'.next',
'.turbo',
'.cache',
]);
const IGNORE_FILES = ['assign-dbgm-codes.mjs', 'package.json', 'README.md'];
// --- CLI ---
const args = process.argv.slice(2);
const dryRun = args.includes('--dry');
const rootArg = args.find(a => a !== '--dry') || process.cwd();
const root = path.resolve(rootArg);
// --- helpers ---
async function* walk(dir) {
const entries = await fs.readdir(dir, { withFileTypes: true });
for (const e of entries) {
if (e.isDirectory()) {
if (IGNORE_DIRS.has(e.name)) continue;
yield* walk(path.join(dir, e.name));
} else if (e.isFile()) {
if (JS_TS_RE.test(e.name) && !IGNORE_FILES.includes(e.name)) yield path.join(dir, e.name);
}
}
}
function formatCode(n) {
return `DBGM-${String(n).padStart(5, '0')}`;
}
// Find the smallest positive integer not in `taken`
function makeNextCodeFn(taken) {
let n = 1;
// advance n to first free
while (taken.has(n)) n++;
return () => {
const code = n;
taken.add(code);
// move n to next free for next call
do {
n++;
} while (taken.has(n));
return formatCode(code);
};
}
// --- main ---
(async () => {
console.log(`Scanning: ${root} ${dryRun ? '(dry run)' : ''}`);
// 1) Collect all taken codes across the repo
const taken = new Set(); // numeric parts only
const files = [];
for await (const file of walk(root)) files.push(file);
await Promise.all(
files.map(async file => {
try {
const text = await fs.readFile(file, 'utf8');
for (const m of text.matchAll(CODE_RE)) {
const num = Number(m[1]);
if (Number.isInteger(num) && num > 0) taken.add(num);
}
} catch (err) {
console.warn(`! Failed to read ${file}: ${err.message}`);
}
})
);
console.log(`Found ${taken.size} occupied code(s).`);
// 2) Replace placeholders with next available unique code
const nextCode = makeNextCodeFn(taken);
let filesChanged = 0;
let placeholdersReplaced = 0;
for (const file of files) {
let text;
try {
text = await fs.readFile(file, 'utf8');
} catch (err) {
console.warn(`! Failed to read ${file}: ${err.message}`);
continue;
}
if (!text.includes(PLACEHOLDER)) continue;
let countInFile = 0;
const updated = text.replaceAll(PLACEHOLDER, () => {
countInFile++;
return nextCode();
});
if (countInFile > 0) {
placeholdersReplaced += countInFile;
filesChanged++;
console.log(`${dryRun ? '[dry]' : '[write]'} ${file}${countInFile} replacement(s)`);
if (!dryRun) {
try {
await fs.writeFile(file, updated, 'utf8');
} catch (err) {
console.warn(`! Failed to write ${file}: ${err.message}`);
}
}
}
}
console.log(`Done. Files changed: ${filesChanged}, placeholders replaced: ${placeholdersReplaced}.`);
})().catch(err => {
console.error(err);
process.exit(1);
});

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'
);

110
common/fixYmlHashes.js Normal file
View File

@@ -0,0 +1,110 @@
import fs from 'node:fs/promises';
import { createHash } from 'node:crypto';
import path from 'node:path';
import process from 'node:process';
import { fileURLToPath } from 'node:url';
import YAML from 'yaml';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
async function sha512Base64(filePath) {
const buf = await fs.readFile(filePath);
const h = createHash('sha512');
h.update(buf);
return h.digest('base64');
}
async function fileSize(filePath) {
const st = await fs.stat(filePath);
return st.size;
}
async function fixOneYaml(ymlPath, distDir) {
let raw;
try {
raw = await fs.readFile(ymlPath, 'utf8');
} catch (e) {
console.error(`✗ Cannot read ${ymlPath}:`, e.message);
return;
}
let doc;
try {
doc = YAML.parse(raw);
} catch (e) {
console.error(`✗ Cannot parse YAML ${ymlPath}:`, e.message);
return;
}
if (!doc || !Array.isArray(doc.files)) {
console.warn(`! ${path.basename(ymlPath)} has no 'files' array — skipped.`);
return;
}
let changed = false;
// Update each files[i].sha512 and files[i].size based on files[i].url
for (const entry of doc.files) {
if (!entry?.url) continue;
const target = path.resolve(distDir, entry.url);
try {
const [hash, size] = await Promise.all([sha512Base64(target), fileSize(target)]);
if (entry.sha512 !== hash || entry.size !== size) {
console.log(`${path.basename(ymlPath)}: refresh ${entry.url}`);
entry.sha512 = hash;
entry.size = size;
changed = true;
}
} catch (e) {
console.warn(
`! Missing or unreadable file for ${entry.url} (referenced by ${path.basename(ymlPath)}): ${e.message}`
);
}
}
// Update top-level sha512 for the primary "path" file if present
if (doc.path) {
const primary = path.resolve(distDir, doc.path);
try {
const hash = await sha512Base64(primary);
if (doc.sha512 !== hash) {
console.log(`${path.basename(ymlPath)}: refresh top-level sha512 for path=${doc.path}`);
doc.sha512 = hash;
changed = true;
}
} catch (e) {
console.warn(`! Primary 'path' file not found for ${path.basename(ymlPath)}: ${doc.path} (${e.message})`);
}
}
if (changed) {
const out = YAML.stringify(doc);
await fs.writeFile(ymlPath, out, 'utf8');
console.log(`✓ Updated ${path.basename(ymlPath)}`);
} else {
console.log(`= No changes for ${path.basename(ymlPath)}`);
}
}
async function main() {
const distDir = path.resolve(process.argv[2] ?? path.join(__dirname, '..', 'app', 'dist'));
const entries = await fs.readdir(distDir);
const ymls = entries.filter(f => f.toLowerCase().endsWith('.yml'));
if (ymls.length === 0) {
console.warn(`No .yml files found in ${distDir}`);
return;
}
console.log(`Scanning ${distDir}`);
for (const y of ymls) {
await fixOneYaml(path.join(distDir, y), distDir);
}
}
main().catch(err => {
console.error(err);
process.exit(1);
});

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,85 @@
//@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*,\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, singleQuotedText, doubleQuotedText, templateLiteral] = match;
const defaultText = singleQuotedText || doubleQuotedText || templateLiteral;
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,190 @@
//@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);
}
});
program
.command('sort')
.description('Sort translation files by keys')
.action(() => {
try {
const languages = getAllNonDefaultLanguages();
for (const language of languages) {
const filePath = `./translations/${language}.json`;
const content = fs.readFileSync(filePath, 'utf-8');
const translations = JSON.parse(content);
const sortedTranslations = {};
Object.keys(translations)
.sort()
.forEach(key => {
// @ts-ignore
sortedTranslations[key] = translations[key];
});
fs.writeFileSync(filePath, JSON.stringify(sortedTranslations, null, 2), 'utf-8');
console.log(`Sorted translations for language: ${language}`);
}
} catch (error) {
console.error(error);
console.error('Error during sort:', 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,133 @@
require('dotenv').config({ path: '.env.translation' });
const fs = require('fs');
const path = require('path');
const OpenAI = require('openai');
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
const translationsDir = path.join(__dirname, '../../translations');
const enFilePath = path.join(translationsDir, 'en.json');
const languageNames = {
'cs.json': 'Czech',
'de.json': 'German',
'es.json': 'Spanish',
'fr.json': 'French',
'it.json': 'Italian',
'ja.json': 'Japanese',
'ko.json': 'Korean',
'pt.json': 'Portuguese',
'sk.json': 'Slovak',
'zh.json': 'Chinese'
};
// Read source (english)
const enTranslations = JSON.parse(fs.readFileSync(enFilePath, 'utf8'));
const enKeys = Object.keys(enTranslations);
// Get all translation files
const translationFiles = fs.readdirSync(translationsDir)
.filter(file => file.endsWith('.json') && file !== 'en.json')
.sort();
console.log(`Found ${enKeys.length} keys in en.json\n`);
console.log('='.repeat(80));
async function translateMissingIds({file, translations, missingIds}){
const languageName = languageNames[file];
if (!languageName) {
console.log(`No language name mapping for file: ${file}`);
return;
}
// Build object with only missing translations
const needed = {};
missingIds.forEach(key => {
needed[key] = enTranslations[key];
});
// Get all existing translations as style examples
const existingTranslations = {};
Object.keys(translations).forEach(key => {
if (translations[key] && !translations[key].startsWith('***')) {
existingTranslations[key] = {
en: enTranslations[key],
translated: translations[key]
};
}
});
const prompt = `You are a professional translator for DbGate, a database management application.
Translate the following English UI strings to ${languageName}.
IMPORTANT RULES:
1. Preserve ALL placeholders exactly as they appear: {plugin}, {columnNumber}, {0}, {1}, etc.
2. Maintain technical terminology appropriately for database software
3. Match the translation style, tone, and formality of the existing translations shown below
4. Keep the same level of brevity or verbosity as the existing translations
5. Return ONLY valid JSON - no markdown, no explanations, no code blocks
6. Use the same keys as provided
EXISTING TRANSLATIONS (for style reference):
${JSON.stringify(existingTranslations, null, 2)}
STRINGS TO TRANSLATE:
${JSON.stringify(needed, null, 2)}
Return format: {"key": "translated value", ...}`;
const response = await client.chat.completions.create({
model: 'gpt-5.1',
messages: [
{ role: 'system', content: 'You are a professional translator specializing in software localization. Match the style and tone of existing translations. Return only valid JSON.' },
{ role: 'user', content: prompt }
],
temperature: 0.2
});
let translatedJson = response.choices[0].message.content.trim();
// Remove markdown code blocks if present
translatedJson = translatedJson.replace(/^```json\n?/, '').replace(/\n?```$/, '');
return JSON.parse(translatedJson);
}
(async () => {
for (const file of translationFiles) {
const filePath = path.join(translationsDir, file);
const translations = JSON.parse(fs.readFileSync(filePath, 'utf8'));
const missingIds = enKeys.filter(key => !translations.hasOwnProperty(key) || (typeof translations[key] === 'string' && translations[key].startsWith('***')));
console.log(`\n${file.toUpperCase()}`);
console.log('-'.repeat(80));
if (missingIds.length === 0) {
console.log('✓ All translations complete!');
continue;
} else {
console.log(`Found ${missingIds.length} untranslated IDs\n`);
}
const newTranslations = await translateMissingIds({file, translations, missingIds});
if (!newTranslations) {
console.log(`Skipping file due to translation error: ${file}`);
continue;
}
for (const [key, value] of Object.entries(newTranslations)) {
translations[key] = value;
console.log(`Translated: ${key} => ${value}`);
}
fs.writeFileSync(filePath, JSON.stringify(translations, null, 2) + '\n', 'utf8');
console.log(`\n✓ Updated translations written to ${file}`);
}
console.log('\n' + '='.repeat(80));
console.log('Translation complete!\n');
})();

View File

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

View File

@@ -0,0 +1,30 @@
// 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-old',
'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,9 @@
module.exports = {
mysql: true,
postgres: true,
mssql: true,
oracle: true,
sqlite: true,
mongo: true,
dynamo: true,
};

View File

@@ -0,0 +1,75 @@
const path = require('path');
const os = require('os');
const fs = require('fs');
const baseDir = path.join(os.homedir(), '.dbgate');
const testApiPidFile = path.join(__dirname, 'tmpdata', 'test-api.pid');
const aigwmockPidFile = path.join(__dirname, 'tmpdata', 'aigwmock.pid');
function readProcessStartTime(pid) {
if (process.platform === 'linux') {
try {
const stat = fs.readFileSync(`/proc/${pid}/stat`, 'utf-8');
return stat.split(' ')[21] || null;
} catch (err) {
return null;
}
}
return null;
}
function isPidStillOurs(meta) {
if (!meta || !(meta.pid > 0)) return false;
if (process.platform === 'linux' && meta.startTime) {
const current = readProcessStartTime(meta.pid);
return current === meta.startTime;
}
return true;
}
function stopProcessByPidFile(pidFile) {
if (!fs.existsSync(pidFile)) return;
try {
const content = fs.readFileSync(pidFile, 'utf-8').trim();
let meta;
try {
meta = JSON.parse(content);
} catch (_) {
const pid = Number(content);
meta = Number.isInteger(pid) && pid > 0 ? { pid } : null;
}
if (isPidStillOurs(meta)) {
process.kill(meta.pid);
}
} catch (err) {
// ignore stale PID files and dead processes
}
try {
fs.unlinkSync(pidFile);
} catch (err) {
// ignore cleanup errors
}
}
function clearTestingData() {
stopProcessByPidFile(testApiPidFile);
stopProcessByPidFile(aigwmockPidFile);
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,85 @@
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,
reporter: process.env.CI ? 'mocha-reporter-gha' : 'spec',
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 'rest':
serverProcess = exec('yarn start:rest');
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;
case 'redis':
serverProcess = exec('yarn start:redis');
break;
case 'ai-chat':
serverProcess = exec('yarn start:ai-chat');
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,147 @@
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('Plugin tab', () => {
cy.testid('WidgetIconPanel_menu').click();
cy.contains('Tools').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('export connections', () => {
cy.testid('WidgetIconPanel_menu').click();
cy.contains('Tools').click();
cy.contains('Export connections').click();
cy.themeshot('export-connections');
});
it('configure LLM provider', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Settings').click();
cy.contains('AI').click();
cy.testid('AiSupportedProvidersInfo_add_OpenRouter').click();
cy.testid('AiProviderCard_apikey_OpenRouter').clear().type('xxx');
cy.testid('AiProviderCard_testButton_OpenRouter').click();
cy.testid('AiProviderCard_statusValid_OpenRouter').should('exist');
cy.testid('AiProviderCard_editButton_OpenRouter').click();
cy.wait(1000);
cy.themeshot('llm-providers-settings');
});
});

View File

@@ -0,0 +1,105 @@
Cypress.on('uncaught:exception', err => {
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
return false;
}
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('Database Chat (MySQL)', () => {
it('Database chat - chart of popular genres', () => {
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('show me chart of most popular genres');
cy.get('body').realPress('Enter');
cy.testid('DatabaseChatTab_executeAllQueries', { timeout: 30000 }).click();
cy.testid('chart-canvas', { timeout: 30000 }).should($c =>
expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/)
);
cy.themeshot('database-chat-chart');
});
it('Database chat - find most popular artist', () => {
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: 30000 }).click();
cy.contains('Iron Maiden', { timeout: 30000 });
cy.themeshot('database-chat-popular-artist');
});
});
describe('GraphQL Chat', () => {
it('GraphQL chat - list users', () => {
cy.contains('REST GraphQL').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_graphqlChat').click();
cy.wait(1000);
cy.get('body').realType('list all users');
cy.get('body').realPress('Enter');
cy.testid('GraphQlChatTab_executeAllQueries', { timeout: 30000 }).click();
cy.contains('users', { timeout: 30000 });
cy.themeshot('graphql-chat-list-users');
});
it('GraphQL chat - product categories chart', () => {
cy.contains('REST GraphQL').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_graphqlChat').click();
cy.wait(1000);
cy.get('body').realType('show me a chart of product categories');
cy.get('body').realPress('Enter');
cy.testid('GraphQlChatTab_executeAllQueries', { timeout: 30000 }).click();
cy.testid('chart-canvas', { timeout: 30000 }).should($c =>
expect($c[0].toDataURL()).to.match(/^data:image\/png;base64/)
);
cy.themeshot('graphql-chat-categories-chart');
});
it('GraphQL chat - find most expensive product', () => {
cy.contains('REST GraphQL').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_graphqlChat').click();
cy.wait(1000);
cy.get('body').realType('find the most expensive product');
cy.get('body').realPress('Enter');
cy.testid('GraphQlChatTab_executeAllQueries', { timeout: 30000 }).click();
cy.contains('products', { timeout: 30000 });
cy.themeshot('graphql-chat-expensive-product');
});
it('GraphQL chat - show all categories', () => {
cy.contains('REST GraphQL').click();
cy.testid('TabsPanel_buttonNewObject').click();
cy.testid('NewObjectModal_graphqlChat').click();
cy.wait(1000);
cy.get('body').realType('show all categories');
cy.get('body').realPress('Enter');
cy.testid('GraphQlChatTab_executeAllQueries', { timeout: 30000 }).click();
cy.contains('categories', { timeout: 30000 });
cy.themeshot('graphql-chat-all-categories');
});
it('Explain query error', () => {
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 Invoice2');
cy.contains('Execute').click();
cy.testid('MessageViewRow-explainErrorButton-1').click();
cy.testid('ChatCodeRenderer_useSqlButton', { timeout: 30000 });
cy.themeshot('explain-query-error');
});
});

View File

@@ -0,0 +1,554 @@
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, 65.5 KB, 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();
// hide what is not needed
cy.testid('WidgetIconPanel_database').click();
cy.testid('DataGrid_itemReferences').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_ArtistId').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 query 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('TabContent_1').contains('Leonie').rightclick();
cy.contains('Show cell data').click();
// test JSON view
cy.contains('Country: "Germany"');
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('About window', () => {
cy.contains('Connections');
cy.testid('WidgetIconPanel_menu').click();
cy.contains('Help').click();
cy.contains('About').click();
cy.testid('ModalBase_window').themeshot('about-window', { 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_database').click();
cy.testid('TableDataTab_toggleCellDataView').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('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('Mongo JSON cell view', () => {
// 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.contains('Austria').click();
cy.testid('CollectionDataTab_toggleCellDataView').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('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');
});
it('Form cell view', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Invoice').click();
cy.contains('Rows: 412');
cy.get('[data-row="0"][data-col="header"]').click();
cy.get('[data-row="1"][data-col="header"]').click();
cy.get('[data-row="0"][data-col="header"]').click();
cy.contains('Autodetect - Form');
cy.themeshot('form-cell-view');
});
it('Group by', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.testid('WidgetIconPanel_database').click();
cy.testid('ColumnHeaderControl_dropdown_ArtistId').click();
cy.contains('Group by').click();
cy.testid('ColumnHeaderControl_dropdown_Title').first().click();
cy.themeshot('data-browser-group-by');
});
it('Filter by expanded column', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Album').click();
cy.testid('WidgetIconPanel_database').click();
cy.testid('ColumnManagerRow_expand_ArtistId').click();
cy.testid('ColumnManagerRow_checkbox_ArtistId.Name').click();
cy.testid('ColumnManagerRow_checkbox_ArtistId').click();
cy.testid('DataFilterControl_input_ArtistId.Name').type('mich{enter}');
cy.themeshot('data-browser-filter-by-expanded');
});
it('DynamoDB', () => {
cy.contains('Dynamo-connection').click();
cy.contains('us-east-1').click();
cy.contains('Album').click();
cy.contains('Pearl Jam').click();
cy.themeshot('dynamodb-table-data');
cy.contains('Switch to JSON').click();
cy.themeshot('dynamodb-json-view');
cy.contains('Customer').click();
cy.testid('DataFilterControl_input_CustomerId').type('<=10{enter}');
cy.contains('Rows: 10');
cy.wait(1000);
cy.contains('Helena').click().rightclick();
cy.contains('Show cell data').click();
cy.contains('City: "Prague"');
cy.themeshot('dynamodb-query-json-view');
cy.contains('Switch to JSON').click();
cy.contains('Leonie').rightclick();
cy.contains('Edit document').click();
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('dynamodb-save-changes');
cy.testid('SqlObjectList_addButton').click();
cy.contains('New collection/container').click();
cy.themeshot('dynamodb-new-collection');
});
});

View File

@@ -0,0 +1,236 @@
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');
});
it('Switch language', () => {
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.testid('WidgetIconPanel_settings').click();
cy.testid('SettingsModal_languageSelect').select('Deutsch');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Sprache');
cy.themeshot('switch-language-de');
cy.testid('SettingsModal_languageSelect').select('Français');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Langue');
cy.themeshot('switch-language-fr');
cy.testid('SettingsModal_languageSelect').select('Español');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Idioma');
cy.themeshot('switch-language-es');
cy.testid('SettingsModal_languageSelect').select('Čeština');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Jazyk');
cy.themeshot('switch-language-cs');
cy.testid('SettingsModal_languageSelect').select('中文');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings').click();
cy.contains('语言');
cy.themeshot('switch-language-zh');
cy.testid('SettingsModal_languageSelect').select('English');
cy.testid('ConfirmModal_okButton').click();
cy.testid('WidgetIconPanel_settings');
});
it('Settings', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.themeshot('app-settings-general');
cy.contains('Behaviour').click();
cy.themeshot('app-settings-behaviour');
cy.get('[data-testid=BehaviourSettings_useTabPreviewMode]').uncheck();
// SQL Editor
cy.contains('SQL Editor').click();
cy.get('[data-testid=SQLEditorSettings_sqlCommandsCase]').select('lowerCase');
cy.contains('MySql-connection').click();
cy.contains('charts_sample').click();
cy.contains('employees').click();
cy.contains('MyChinook').click();
cy.contains('Customer').rightclick();
cy.contains('SQL template').click();
cy.contains('CREATE TABLE').click();
cy.contains('create table');
// Default Actions
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Default Actions').click();
cy.get('[data-testid=DefaultActionsSettings_useLastUsedAction]').uncheck();
// Themes
cy.contains('Themes').click();
cy.themeshot('app-settings-themes');
cy.testid('ThemeSkeleton-Dark-built-in').click();
cy.testid('ThemeSkeleton-Light-built-in').click();
// General
cy.contains(/^General$/).click();
cy.contains('charts_sample');
cy.get('[data-testid=GeneralSettings_lockedDatabaseMode]').check();
cy.contains('Connections').click();
cy.contains('charts_sample').should('not.exist');
// Datagrid
cy.contains('Data grid').click();
cy.get('[data-testid=DataGridSettings_showHintColumns]').uncheck();
cy.wait(500);
cy.contains('Album').click();
cy.contains('AC/DC').should('not.exist');
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Keyboard shortcuts').click();
cy.themeshot('app-settings-keyboard-shortcuts');
cy.contains('Chart').click();
cy.testid('CommandModal_keyboardButton').click();
cy.realPress(['Control', 'g']);
cy.realPress('Enter');
cy.contains('OK').click();
cy.contains('Ctrl+G');
cy.contains('AI').click();
cy.themeshot('app-settings-ai');
cy.get('[data-testid=AISettings_addProviderButton]').click();
cy.contains('Provider 1');
cy.get('[data-testid=AiProviderCard_removeButton]').click();
cy.contains('Are you sure you want to remove Provider 1 provider?');
cy.contains('OK').click();
cy.contains('Provider 1').should('not.exist');
});
it('Custom theme', () => {
cy.testid('WidgetIconPanel_settings').click();
cy.contains('Themes').click();
cy.testid('ThemeSettings-themeList').contains('Green-Sample').click();
cy.testid('WidgetIconPanel_file').click();
cy.themeshot('green-theme', { keepTheme: true });
cy.testid('ThemeSettings-themeList').contains('Solarized-light').click();
cy.testid('WidgetIconPanel_database').click();
cy.contains('MySql-connection').click();
cy.contains('MyChinook').click();
cy.contains('Customer').click();
cy.contains('Leonie');
cy.testid('WidgetIconPanel_file').click();
cy.themeshot('solarized-theme', { keepTheme: true });
});
});

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,267 @@
const localconfig = require('../../.localconfig');
const { formatQueryWithoutParams } = require('dbgate-tools');
global.DBGATE_PACKAGES = {
'dbgate-tools': require('dbgate-tools'),
'dbgate-sqltree': require('dbgate-sqltree'),
'dbgate-datalib': require('dbgate-datalib'),
};
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'));
}
if (localconfig.dynamo && !testProps.skipMongo) {
it('DynamoDB', () => testDefinition('Dynamo-connection', null, 'dynamodb@dbgate-plugin-dynamodb'));
}
}
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 = {}) => {
const implicitTransactions = options.implicitTransactions ?? false;
cy.contains(connectionName).click();
if (databaseName) cy.contains(databaseName).click();
cy.contains('addresses').rightclick();
cy.contains('Create table backup').click();
cy.testid('ConfirmSqlModal_okButton').click();
cy.testid('app-object-group-items-table-backups').contains('addresses').click();
cy.contains('Rows: 12').should('be.visible');
cy.testid('app-object-group-items-tables').contains('addresses').click();
cy.contains('Ridgewood').click();
cy.testid('TableDataTab_deleteSelectedRows').click();
cy.contains('Rosewood').click();
cy.testid('TableDataTab_deleteSelectedRows').click();
cy.contains('Vermont').click();
cy.get('body').realType('Wermont{enter}');
cy.testid('TableDataTab_insertNewRow').click();
cy.get('body').realType('Modranska{enter}');
cy.realPress(['ArrowLeft']);
cy.realPress(['ArrowLeft']);
cy.get('body').realType('13{enter}');
cy.realPress(['ArrowRight']);
cy.get('body').realType('1{enter}');
cy.realPress(['ArrowRight']);
cy.realPress(['ArrowRight']);
cy.realPress(['ArrowRight']);
cy.get('body').realType('Prague{enter}');
cy.realPress(['ArrowRight']);
cy.get('body').realType('CZ{enter}');
cy.realPress(['ArrowRight']);
cy.get('body').realType('10000{enter}');
cy.realPress(['ArrowRight']);
cy.get('body').realType('111222333{enter}');
cy.testid('TableDataTab_save').click();
cy.testid('ConfirmSqlModal_okButton', { timeout: 10000 }).click();
cy.contains('Rows: 11').should('be.visible'); // wait for save
cy.testid('app-object-group-items-table-backups').contains('addresses').rightclick();
cy.contains('restore script').click();
cy.contains('UPDATE'); // wait for query
cy.testid('QueryTab_executeButton').click();
cy.contains('Query execution finished');
if (implicitTransactions) {
cy.testid('QueryTab_commitTransactionButton').click();
cy.contains('Commit Transaction finished');
}
cy.realPress('F1');
cy.realType('Close all');
cy.realPress('Enter');
// cy.testid('CloseTabModal_buttonConfirm').click();
cy.wait(1000);
cy.testid('app-object-group-items-tables').contains('addresses', { timeout: 10000 }).click();
// check whether data was successfully restored
cy.contains('Rows: 12').should('be.visible');
cy.contains('Ridgewood');
cy.contains('Vermont');
});
});
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.testid('ImportExportConfigurator_tableMappingSection').contains('customers-20');
cy.testid('ImportExportTab_preview_content').contains('50ddd99fAdF48B3').should('be.visible');
cy.testid('ImportExportTab_executeButton').click();
cy.testid('ImportExportConfigurator_tableMappingSection').contains('20 rows written').should('be.visible');
cy.testid('SqlObjectList_refreshButton').click();
cy.testid('DatabasStatusMenu_refreshFull').click();
// cy.contains('Refresh DB structure (incremental)').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', { timeout: 10000 }).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', { timeout: 10000 }).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,120 @@
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('Redis data', () => {
it('String test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('app').click();
cy.contains('version').click();
cy.testid('RedisValueDetail_AceEditor').click().realPress('Backspace').realType('1');
cy.contains('Save').click();
cy.contains('OK').click();
});
it('Hash test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('user').click();
cy.contains('alice').click();
cy.testid('RedisKeyDetailTab_RenameKeyButton').click();
cy.themeshot('redis-rename-key');
cy.realType('3');
cy.contains('OK').click();
cy.contains('age').click();
cy.testid('RedisValueHashDetail_ValueSection').click().realPress('Backspace').realType('8');
cy.contains('Add field').click();
cy.testid('RedisValueListLikeEdit_key').click().realType('phone');
cy.testid('RedisValueListLikeEdit_value').click().realType('123-456-7890');
cy.contains('Refresh').click();
cy.themeshot('redis-hash-edit');
cy.contains('Save').click();
cy.themeshot('redis-hash-script-edit');
cy.contains('OK').click();
});
it('List test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('queue').click();
cy.contains('emails').click();
cy.contains('Add field').click();
cy.testid('RedisValueListLikeEdit_value').click().realType('reset');
cy.contains('Save').click();
cy.contains('OK').click();
});
it('Set test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('tags').click();
cy.contains('Add field').click();
cy.testid('RedisValueListLikeEdit_value').click().realType('newtag');
cy.contains('Save').click();
cy.contains('OK').click();
});
it('ZSet test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('leaderboard').click();
cy.contains('alice').click();
cy.testid('RedisValueZSetDetail_score')
.click()
.realPress('Backspace')
.realPress('Backspace')
.realPress('Backspace')
.realType('35');
cy.contains('Save').click();
cy.contains('OK').click();
cy.contains('35').should('exist');
});
it('JSON test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('user').click();
cy.contains('1:*').click();
cy.contains('json').click();
cy.testid('RedisValueDetail_displaySelect').select('JSON view');
cy.themeshot('redis-json-detail');
});
it('Stream test', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.contains('events').click();
cy.contains('Add field').click();
cy.testid('RedisValueListLikeEdit_field').click().realType('message');
cy.testid('RedisValueListLikeEdit_value').click().realType('Hello, World!');
cy.contains('Save').click();
cy.contains('OK').click();
cy.themeshot('redis-stream');
});
it('Add key', () => {
cy.contains('Redis-connection').click();
cy.contains('db1').click();
cy.testid('RedisKeysTree_addKeyDropdown').click();
cy.contains('String').click();
cy.testid('NewRedisKeyTab_keyName').click().realType('newstringkey');
cy.testid('RedisValueDetail_AceEditor').click().realType('This is a new string key.');
cy.contains('Save').click();
cy.contains('OK').click();
cy.contains('newstringkey').should('exist');
cy.testid('RedisKeysTree_addKeyDropdown').click();
cy.contains('Hash').click();
cy.themeshot('redis-add-hash-key');
});
});

View File

@@ -0,0 +1,39 @@
Cypress.on('uncaught:exception', err => {
if (err.message.includes("Failed to execute 'importScripts' on 'WorkerGlobalScope'")) {
return false;
}
});
beforeEach(() => {
cy.visit('http://localhost:3000');
cy.viewport(1250, 900);
});
describe('REST API connections', () => {
it('GraphQL test', () => {
cy.contains('REST GraphQL').click();
cy.contains('products').click();
cy.testid('GraphQlExplorerNode_toggle_products').click();
cy.testid('GraphQlExplorerNode_checkbox_products.name').click();
cy.testid('GraphQlExplorerNode_checkbox_products.price').click();
cy.testid('GraphQlExplorerNode_checkbox_products.description').click();
cy.testid('GraphQlExplorerNode_checkbox_products.category').click();
cy.testid('GraphQlQueryTab_execute').click();
cy.contains('Electronics');
cy.themeshot('rest-graphql-query');
});
it('REST OpenAPI test', () => {
cy.contains('REST OpenAPI').click();
cy.contains('/api/categories').click();
cy.testid('RestApiEndpointTab_execute').click();
cy.contains('Electronics');
cy.themeshot('rest-openapi-query');
});
it('REST OData test', () => {
cy.contains('REST OData').click();
cy.contains('/Users').click();
cy.testid('ODataEndpointTab_execute').click();
cy.contains('Henry');
cy.themeshot('rest-odata-query');
});
});

View File

@@ -0,0 +1,151 @@
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.contains('not granted').should('not.exist');
cy.themeshot('connection-administration');
cy.testid('AdminMenuWidget_itemRoles').click();
cy.contains('logged-user').click();
cy.contains('not granted').should('not.exist');
cy.themeshot('role-administration');
cy.testid('AdminMenuWidget_itemUsers').click();
cy.contains('New user').click();
cy.contains('not granted').should('not.exist');
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.contains('not granted').should('not.exist');
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');
});
it('Edit database permissions', () => {
cy.testid('LoginPage_linkAdmin').click();
cy.testid('LoginPage_password').type('adminpwd');
cy.testid('LoginPage_submitLogin').click();
cy.testid('AdminMenuWidget_itemRoles').click();
cy.testid('AdminRolesTab_table').contains('superadmin').click();
cy.testid('AdminRolesTab_databases').click();
cy.testid('AdminDatabasesPermissionsGrid_addButton').click();
cy.testid('AdminDatabasesPermissionsGrid_addButton').click();
cy.testid('AdminDatabasesPermissionsGrid_addButton').click();
cy.testid('AdminListOrRegexEditor_1_regexInput').type('^Chinook[\\d]*$');
cy.testid('AdminListOrRegexEditor_2_listSwitch').click();
cy.testid('AdminListOrRegexEditor_2_listInput').type('Nortwind\nSales');
cy.testid('AdminDatabasesPermissionsGrid_roleSelect_0').select('-2');
cy.testid('AdminDatabasesPermissionsGrid_roleSelect_1').select('-3');
cy.testid('AdminDatabasesPermissionsGrid_roleSelect_2').select('-4');
cy.contains('not granted').should('not.exist');
cy.themeshot('database-permissions');
});
});

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,97 @@
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) => {
if (!options?.keepTheme) {
cy.window().then(win => {
win.__changeCurrentTheme('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`),
// });
// });
if (!options?.keepTheme) {
cy.window().then(win => {
win.__changeCurrentTheme('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