simplemdg-dev-cli 2.0.4 → 2.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +62 -354
- package/USER_GUIDE.md +55 -376
- package/dist/commands/cds.command.js +69 -60
- package/dist/commands/cds.command.js.map +1 -1
- package/dist/commands/cf-db.command.d.ts +2 -0
- package/dist/commands/cf-db.command.js +606 -0
- package/dist/commands/cf-db.command.js.map +1 -0
- package/dist/commands/cf.command.js +291 -280
- package/dist/commands/cf.command.js.map +1 -1
- package/dist/commands/gitlab.command.d.ts +2 -0
- package/dist/commands/gitlab.command.js +351 -0
- package/dist/commands/gitlab.command.js.map +1 -0
- package/dist/commands/npmrc.command.js +50 -44
- package/dist/commands/npmrc.command.js.map +1 -1
- package/dist/core/cache.d.ts +1 -1
- package/dist/core/cache.js +58 -31
- package/dist/core/cache.js.map +1 -1
- package/dist/core/cds.js +32 -22
- package/dist/core/cds.js.map +1 -1
- package/dist/core/cf-env-parser.d.ts +1 -1
- package/dist/core/cf-env-parser.js +4 -1
- package/dist/core/cf-env-parser.js.map +1 -1
- package/dist/core/cf.d.ts +1 -1
- package/dist/core/cf.js +46 -31
- package/dist/core/cf.js.map +1 -1
- package/dist/core/db/db-btp.d.ts +48 -0
- package/dist/core/db/db-btp.js +162 -0
- package/dist/core/db/db-btp.js.map +1 -0
- package/dist/core/db/db-cache.d.ts +40 -0
- package/dist/core/db/db-cache.js +188 -0
- package/dist/core/db/db-cache.js.map +1 -0
- package/dist/core/db/db-connection.d.ts +22 -0
- package/dist/core/db/db-connection.js +73 -0
- package/dist/core/db/db-connection.js.map +1 -0
- package/dist/core/db/db-crypto.d.ts +3 -0
- package/dist/core/db/db-crypto.js +54 -0
- package/dist/core/db/db-crypto.js.map +1 -0
- package/dist/core/db/db-hana-adapter.d.ts +36 -0
- package/dist/core/db/db-hana-adapter.js +251 -0
- package/dist/core/db/db-hana-adapter.js.map +1 -0
- package/dist/core/db/db-metadata.d.ts +25 -0
- package/dist/core/db/db-metadata.js +150 -0
- package/dist/core/db/db-metadata.js.map +1 -0
- package/dist/core/db/db-postgres-adapter.d.ts +34 -0
- package/dist/core/db/db-postgres-adapter.js +259 -0
- package/dist/core/db/db-postgres-adapter.js.map +1 -0
- package/dist/core/db/db-query-files.d.ts +20 -0
- package/dist/core/db/db-query-files.js +106 -0
- package/dist/core/db/db-query-files.js.map +1 -0
- package/dist/core/db/db-query-history.d.ts +5 -0
- package/dist/core/db/db-query-history.js +49 -0
- package/dist/core/db/db-query-history.js.map +1 -0
- package/dist/core/db/db-row.d.ts +28 -0
- package/dist/core/db/db-row.js +123 -0
- package/dist/core/db/db-row.js.map +1 -0
- package/dist/core/db/db-studio-client.d.ts +1 -0
- package/dist/core/db/db-studio-client.js +401 -0
- package/dist/core/db/db-studio-client.js.map +1 -0
- package/dist/core/db/db-studio-html.d.ts +4 -0
- package/dist/core/db/db-studio-html.js +83 -0
- package/dist/core/db/db-studio-html.js.map +1 -0
- package/dist/core/db/db-studio-server.d.ts +11 -0
- package/dist/core/db/db-studio-server.js +528 -0
- package/dist/core/db/db-studio-server.js.map +1 -0
- package/dist/core/db/db-studio-styles.d.ts +1 -0
- package/dist/core/db/db-studio-styles.js +225 -0
- package/dist/core/db/db-studio-styles.js.map +1 -0
- package/dist/core/db/db-types.d.ts +214 -0
- package/dist/core/db/db-types.js +3 -0
- package/dist/core/db/db-types.js.map +1 -0
- package/dist/core/db/db-vcap-parser.d.ts +7 -0
- package/dist/core/db/db-vcap-parser.js +137 -0
- package/dist/core/db/db-vcap-parser.js.map +1 -0
- package/dist/core/doctor.d.ts +1 -1
- package/dist/core/doctor.js +14 -8
- package/dist/core/doctor.js.map +1 -1
- package/dist/core/guide.js +31 -26
- package/dist/core/guide.js.map +1 -1
- package/dist/core/install.d.ts +1 -1
- package/dist/core/install.js +17 -11
- package/dist/core/install.js.map +1 -1
- package/dist/core/navigator.d.ts +17 -0
- package/dist/core/navigator.js +140 -0
- package/dist/core/navigator.js.map +1 -0
- package/dist/core/npmrc.js +29 -16
- package/dist/core/npmrc.js.map +1 -1
- package/dist/core/process.js +11 -6
- package/dist/core/process.js.map +1 -1
- package/dist/core/prompts.js +16 -8
- package/dist/core/prompts.js.map +1 -1
- package/dist/core/repository.d.ts +1 -1
- package/dist/core/repository.js +16 -9
- package/dist/core/repository.js.map +1 -1
- package/dist/core/scanner.d.ts +1 -1
- package/dist/core/scanner.js +13 -7
- package/dist/core/scanner.js.map +1 -1
- package/dist/core/tooling.d.ts +28 -0
- package/dist/core/tooling.js +168 -0
- package/dist/core/tooling.js.map +1 -0
- package/dist/core/types.js +2 -1
- package/dist/core/version-conflict.d.ts +2 -2
- package/dist/core/version-conflict.js +11 -6
- package/dist/core/version-conflict.js.map +1 -1
- package/dist/index.js +65 -48
- package/dist/index.js.map +1 -1
- package/dist/types-local.js +2 -1
- package/package.json +12 -6
- package/src/commands/cds.command.ts +529 -0
- package/src/commands/cf-db.command.ts +636 -0
- package/src/commands/cf.command.ts +3345 -0
- package/src/commands/gitlab.command.ts +373 -0
- package/src/commands/npmrc.command.ts +581 -0
- package/src/core/cache.ts +332 -0
- package/src/core/cds.ts +278 -0
- package/src/core/cf-env-parser.ts +131 -0
- package/src/core/cf.ts +271 -0
- package/src/core/db/db-btp.ts +207 -0
- package/src/core/db/db-cache.ts +242 -0
- package/src/core/db/db-connection.ts +79 -0
- package/src/core/db/db-crypto.ts +53 -0
- package/src/core/db/db-hana-adapter.ts +306 -0
- package/src/core/db/db-metadata.ts +174 -0
- package/src/core/db/db-postgres-adapter.ts +293 -0
- package/src/core/db/db-query-files.ts +130 -0
- package/src/core/db/db-query-history.ts +53 -0
- package/src/core/db/db-row.ts +157 -0
- package/src/core/db/db-studio-client.ts +397 -0
- package/src/core/db/db-studio-html.ts +85 -0
- package/src/core/db/db-studio-server.ts +626 -0
- package/src/core/db/db-studio-styles.ts +221 -0
- package/src/core/db/db-types.ts +243 -0
- package/src/core/db/db-vcap-parser.ts +182 -0
- package/src/core/doctor.ts +70 -0
- package/src/core/guide.ts +261 -0
- package/src/core/install.ts +91 -0
- package/src/core/navigator.ts +164 -0
- package/src/core/npmrc.ts +171 -0
- package/src/core/process.ts +75 -0
- package/src/core/prompts.ts +225 -0
- package/src/core/repository.ts +36 -0
- package/src/core/scanner.ts +41 -0
- package/src/core/tooling.ts +207 -0
- package/src/core/types.ts +152 -0
- package/src/core/version-conflict.ts +46 -0
- package/src/index.ts +460 -0
- package/src/types/external.d.ts +3 -0
- package/src/types-local.ts +11 -0
- package/tsconfig.json +17 -0
package/USER_GUIDE.md
CHANGED
|
@@ -1,412 +1,91 @@
|
|
|
1
|
-
# SimpleMDG
|
|
1
|
+
# SimpleMDG CLI User Guide
|
|
2
2
|
|
|
3
|
-
##
|
|
3
|
+
## GitLab
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Login once:
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
smdg
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Install:
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm i -g simplemdg-dev-cli@latest
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Open this guide:
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
smdg guide
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
---
|
|
26
|
-
|
|
27
|
-
# Select Usage
|
|
28
|
-
|
|
29
|
-
When the CLI shows a select list:
|
|
30
|
-
|
|
31
|
-
* Type a few characters to search.
|
|
32
|
-
* Use `↑` and `↓` to move.
|
|
33
|
-
* Press `Enter` to select.
|
|
34
|
-
* If no item matches, some prompts allow using the typed value.
|
|
35
|
-
|
|
36
|
-
This is useful for long lists of BTP orgs, spaces, apps, package IDs, CAP profiles, and CDS services.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
# Common Commands
|
|
41
|
-
|
|
42
|
-
## `smdg npmrc import`
|
|
43
|
-
|
|
44
|
-
Import SimpleMDG GitLab package IDs into local cache.
|
|
45
|
-
|
|
46
|
-
Use this after downloading the package ID import file from the team.
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
smdg npmrc import
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## `smdg npmrc create`
|
|
53
|
-
|
|
54
|
-
Create `.npmrc` for SimpleMDG private npm packages.
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
smdg npmrc create
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The CLI helps select package name/package ID and token from cache.
|
|
61
|
-
|
|
62
|
-
## `smdg i`
|
|
63
|
-
|
|
64
|
-
Install dependencies for the current project.
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
smdg i
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
It can scan variables such as `${SIMPLEMDG_BRANCH}` and ask for replacement values automatically.
|
|
71
|
-
|
|
72
|
-
## `smdg cf login`
|
|
73
|
-
|
|
74
|
-
Login to BTP Cloud Foundry.
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
smdg cf login
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
The CLI helps select API endpoint, org, and space. Choose to save the password on your own machine if you want automatic re-login for org switching, logs, app listing, and debugging.
|
|
81
|
-
|
|
82
|
-
It can save login information on your local machine so later commands can re-login automatically when the CF session expires.
|
|
83
|
-
|
|
84
|
-
## `smdg cf org`
|
|
85
|
-
|
|
86
|
-
Search, list, and switch Cloud Foundry orgs across regions.
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
smdg cf org
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The CLI scans known and cached BTP region endpoints and shows orgs from different regions in one searchable list. If the CF session for a region is expired, the CLI automatically re-authenticates by using the username/password saved from `smdg cf login`.
|
|
93
|
-
|
|
94
|
-
The list includes region information, for example:
|
|
95
|
-
|
|
96
|
-
```txt
|
|
97
|
-
arthrex-dev-simplemdg eu10 · 1 space
|
|
98
|
-
alcon-dev-simplemdg br10 · 1 space
|
|
99
|
-
ait-dev-simplemdg us21 · 1 space
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
Use this when you have many orgs across many BTP regions. Run `smdg cf login` once and choose to save the password on your machine so org switching, app listing, logs, and debug can re-login automatically when the CF session expires.
|
|
103
|
-
|
|
104
|
-
## `smdg cf target`
|
|
105
|
-
|
|
106
|
-
Show the current Cloud Foundry target.
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
smdg cf target
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
It shows API endpoint, user, org, and space.
|
|
113
|
-
|
|
114
|
-
## `smdg cf apps`
|
|
115
|
-
|
|
116
|
-
List BTP apps in the current org and space.
|
|
117
|
-
|
|
118
|
-
```bash
|
|
119
|
-
smdg cf apps
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
The CLI uses cache first for speed and refreshes in the background.
|
|
123
|
-
|
|
124
|
-
## `smdg cf bind`
|
|
125
|
-
|
|
126
|
-
Bind the local CAP project to a deployed BTP app service.
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
smdg cf bind
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
This helps run `cds bind --to-app-services` and update `.cdsrc-private.json`.
|
|
133
|
-
|
|
134
|
-
## `smdg cf env`
|
|
135
|
-
|
|
136
|
-
Export BTP app environment variables to a clean JSON file.
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
smdg cf env
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
Useful for creating `default-env.json`.
|
|
143
|
-
|
|
144
|
-
## `smdg cds watch`
|
|
145
|
-
|
|
146
|
-
Run CAP locally.
|
|
147
|
-
|
|
148
|
-
```bash
|
|
149
|
-
smdg cds watch
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
The CLI helps select CAP profile and port.
|
|
153
|
-
|
|
154
|
-
## `smdg cf logs`
|
|
155
|
-
|
|
156
|
-
View BTP app logs.
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
smdg cf logs
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
It can be used for realtime log monitoring.
|
|
163
|
-
|
|
164
|
-
## `smdg cf debug`
|
|
165
|
-
|
|
166
|
-
Debug a deployed BTP Cloud Foundry Node.js app.
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
smdg cf debug
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
The CLI guides you through:
|
|
173
|
-
|
|
174
|
-
* selecting current target or searching orgs across regions
|
|
175
|
-
* selecting BTP app
|
|
176
|
-
* selecting debug mode
|
|
177
|
-
* selecting app instance
|
|
178
|
-
* preparing Node.js inspector
|
|
179
|
-
* creating VS Code attach config
|
|
180
|
-
* opening the CF SSH tunnel
|
|
181
|
-
|
|
182
|
-
Recommended mode:
|
|
183
|
-
|
|
184
|
-
```txt
|
|
185
|
-
VS Code guided debugging
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
Important VS Code note:
|
|
189
|
-
|
|
190
|
-
The debug toolbar buttons such as pause, step over, restart, and stop only appear after VS Code successfully attaches to the running Node.js inspector.
|
|
191
|
-
|
|
192
|
-
Normal flow:
|
|
193
|
-
|
|
194
|
-
1. Run `smdg cf debug`.
|
|
195
|
-
2. Select `VS Code guided debugging`.
|
|
196
|
-
3. First time for an app, select `Set NODE_OPTIONS and restart app`.
|
|
197
|
-
4. Keep the terminal open because it owns the CF SSH tunnel.
|
|
198
|
-
5. In VS Code, open Run and Debug with `Ctrl+Shift+D`.
|
|
199
|
-
6. Select `Attach BTP <app-name>`.
|
|
200
|
-
7. Press `F5` or the green Start Debugging button.
|
|
201
|
-
8. After attach succeeds, the debug toolbar appears.
|
|
202
|
-
|
|
203
|
-
Use this mainly in dev/test environments because enabling Node inspector restarts the BTP app.
|
|
204
|
-
|
|
205
|
-
## `smdg cds compline`
|
|
206
|
-
|
|
207
|
-
Generate metadata XML from CDS services.
|
|
208
|
-
|
|
209
|
-
```bash
|
|
210
|
-
smdg cds compline
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
The CLI scans CDS services, suggests output XML names, and writes XML using UTF-8 encoding.
|
|
214
|
-
|
|
215
|
-
---
|
|
216
|
-
|
|
217
|
-
# Recommended Daily Flow
|
|
218
|
-
|
|
219
|
-
```bash
|
|
220
|
-
smdg npmrc create
|
|
221
|
-
smdg i
|
|
222
|
-
smdg cf login
|
|
223
|
-
smdg cf apps
|
|
224
|
-
smdg cf bind
|
|
225
|
-
smdg cf env
|
|
226
|
-
smdg cds watch
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
For logs:
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
smdg cf logs
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
For BTP debugging:
|
|
236
|
-
|
|
237
|
-
```bash
|
|
238
|
-
smdg cf debug
|
|
239
|
-
```
|
|
240
|
-
|
|
241
|
-
For metadata XML:
|
|
242
|
-
|
|
243
|
-
```bash
|
|
244
|
-
smdg cds compline
|
|
7
|
+
```powershell
|
|
8
|
+
smdg gitlab login
|
|
245
9
|
```
|
|
246
10
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
# Key Features
|
|
250
|
-
|
|
251
|
-
## Private npm registry helper
|
|
252
|
-
|
|
253
|
-
Creates `.npmrc` for SimpleMDG GitLab npm packages and caches package IDs with readable names.
|
|
254
|
-
|
|
255
|
-
## Smart install helper
|
|
256
|
-
|
|
257
|
-
Scans project variables like `${SIMPLEMDG_BRANCH}` and asks for values automatically before install.
|
|
258
|
-
|
|
259
|
-
## Cloud Foundry helper
|
|
260
|
-
|
|
261
|
-
Helps with login, target checking, org switching, app list, binding, env export, logs, and debugging.
|
|
262
|
-
|
|
263
|
-
## Across-region org search
|
|
264
|
-
|
|
265
|
-
Scans known and cached BTP regions and shows orgs from many regions in one searchable list. The CLI now re-authenticates per region using the cached login profile, so switching orgs should not fail just because `cf api` changed to another region.
|
|
266
|
-
|
|
267
|
-
## CAP helper
|
|
268
|
-
|
|
269
|
-
Helps run `cds watch`, select profiles/ports, and generate CDS metadata XML.
|
|
270
|
-
|
|
271
|
-
## VS Code BTP debugging
|
|
272
|
-
|
|
273
|
-
Creates VS Code attach config and opens a CF SSH tunnel to debug BTP Node.js apps from local source code. For the first debug session of an app, use `Set NODE_OPTIONS and restart app`; later sessions can use `Inspector is already enabled`.
|
|
274
|
-
|
|
275
|
-
---
|
|
276
|
-
|
|
277
|
-
# Notes
|
|
278
|
-
|
|
279
|
-
Do not commit real secrets to Git.
|
|
280
|
-
|
|
281
|
-
Files like `.npmrc`, `default-env.json`, and cached passwords may contain sensitive data.
|
|
11
|
+
The CLI opens the GitLab token page, tries to detect the copied token from clipboard, validates it, caches it, and approves it for Git Credential Manager.
|
|
282
12
|
|
|
283
|
-
|
|
13
|
+
Clone or pull:
|
|
284
14
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
```bash
|
|
289
|
-
smdg cf request-trace
|
|
15
|
+
```powershell
|
|
16
|
+
smdg gitlab clone
|
|
17
|
+
smdg gitlab pull
|
|
290
18
|
```
|
|
291
19
|
|
|
292
|
-
|
|
20
|
+
The flow is split clearly:
|
|
293
21
|
|
|
294
|
-
|
|
22
|
+
1. Pull/clone a GitLab group
|
|
23
|
+
2. Pull/clone a single repository
|
|
295
24
|
|
|
296
|
-
|
|
25
|
+
Then select root group, destination folder, sync action, and parallel jobs.
|
|
297
26
|
|
|
298
|
-
|
|
27
|
+
## CF DB Studio
|
|
299
28
|
|
|
300
|
-
|
|
301
|
-
smdg cf traffic
|
|
302
|
-
```
|
|
29
|
+
A local database explorer for SAP HANA and PostgreSQL, with one-click import of credentials from BTP apps. The studio runs a web server bound to `127.0.0.1` only and opens your browser.
|
|
303
30
|
|
|
304
|
-
|
|
31
|
+
### Recommended flow
|
|
305
32
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
33
|
+
1. Run `smdg cf login` (once; you can save the password for auto re-login)
|
|
34
|
+
2. Run `smdg cf db studio`
|
|
35
|
+
3. Open the **BTP Import** tab → **Load CF apps**
|
|
36
|
+
4. Select an app → its `cf env` is read and database services are detected
|
|
37
|
+
5. Click **Save+Use** on a detected service → the connection is tested and activated
|
|
38
|
+
6. Pick the connection in the left sidebar, choose a schema
|
|
39
|
+
7. Browse tables/views in the Object Explorer, or write SQL in the **SQL Console**
|
|
40
|
+
8. Run with **Ctrl+Enter**, export to CSV/JSON, save the query, or open table **Data**
|
|
311
41
|
|
|
312
|
-
|
|
42
|
+
The studio never deploys anything to BTP and never shows the database password.
|
|
313
43
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
```bash
|
|
317
|
-
smdg cf http-watch
|
|
318
|
-
```
|
|
44
|
+
### Layout
|
|
319
45
|
|
|
320
|
-
The
|
|
46
|
+
The Studio opens on a **Welcome page**. The left side has three collapsible sections — **Connections** (cards with color/environment/favorite, right-click for actions), **Object Explorer** (a lazy DBeaver-style tree), and **Saved Queries**. Work opens as **tabs** in the main area only when you act on something.
|
|
321
47
|
|
|
322
|
-
|
|
48
|
+
- **Object Explorer** — expand a connection → Catalog → Schemas → a schema → folders (Tables, Views, Procedures, Functions, Synonyms). Children load only when expanded; each folder has its own search and a count badge. Double-click a table to open its data; right-click for Open Data / Open Structure / Generate SELECT / Generate COUNT / Copy Full Name.
|
|
49
|
+
- **SQL tabs** — open from "Open SQL Console", "New query", "Generate SELECT", or a saved query. Run with **Ctrl+Enter**, format, explain (PostgreSQL), pick a row limit, export CSV/JSON, save to a `.sql` file. Dangerous statements require confirmation; read-only mode blocks writes.
|
|
50
|
+
- **Data tabs** — paginated rows with a WHERE filter and click-to-sort headers. For tables with a detected primary key you can **edit inline**: double-click a cell (turns yellow), **+ Insert row** (green), or select a row and delete it (red). Changes are pending until you click **Save changes** (batched, with a confirm summary and per-row results); **Revert all** discards them. Failed rows stay marked with their error.
|
|
51
|
+
- **Structure tabs** — Columns (name, type, length, scale, nullable, key, default, comment), Indexes + primary key, generated **DDL**, and table Info (row count).
|
|
52
|
+
- **BTP Import wizard** — a modal (Target → App → Services → Save) that reads `cf env`, detects HANA/PostgreSQL services, and saves a connection with a display name, color, environment, and favorite.
|
|
323
53
|
|
|
324
|
-
|
|
325
|
-
* URL/path
|
|
326
|
-
* status code
|
|
327
|
-
* duration
|
|
328
|
-
* app instance
|
|
329
|
-
* remote user
|
|
330
|
-
* tenant
|
|
331
|
-
* request size
|
|
332
|
-
* request id / correlation id
|
|
54
|
+
The bottom status bar shows connection state, last query duration, row count, and pending-change count.
|
|
333
55
|
|
|
334
|
-
|
|
56
|
+
### Read-only and dangerous SQL
|
|
335
57
|
|
|
336
|
-
|
|
58
|
+
Toggle **Read-only** in the top bar to block INSERT/UPDATE/DELETE/DROP/TRUNCATE/ALTER/CREATE/GRANT/REVOKE. Even in read/write mode, dangerous statements (DROP, TRUNCATE, ALTER, DELETE/UPDATE without WHERE) require confirmation. A "Production-like" badge appears for prod-looking orgs/apps.
|
|
337
59
|
|
|
338
|
-
|
|
60
|
+
### Terminal alternatives
|
|
339
61
|
|
|
340
|
-
```
|
|
341
|
-
smdg cf
|
|
62
|
+
```powershell
|
|
63
|
+
smdg cf db add # add a direct connection manually (host/port/user/password)
|
|
64
|
+
smdg cf db import # interactive import from a BTP app
|
|
65
|
+
smdg cf db connections # manage cached connections
|
|
66
|
+
smdg cf db query # run one SQL query and print/export the result
|
|
67
|
+
smdg cf db console # interactive SQL REPL
|
|
342
68
|
```
|
|
343
69
|
|
|
344
|
-
|
|
70
|
+
### Direct connections (no CF app)
|
|
345
71
|
|
|
346
|
-
|
|
72
|
+
Not every database is behind a Cloud Foundry app (for example a Neon PostgreSQL or a standalone HANA Cloud). Add those directly:
|
|
347
73
|
|
|
348
|
-
|
|
349
|
-
smdg cf
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
This command can capture request data from inside a running Node.js/CAP app.
|
|
74
|
+
- In the Studio: click **+ New** in the Connections sidebar, fill in type/host/port/database/schema/user/password, click **Test**, then **Save & use**.
|
|
75
|
+
- In the terminal: `smdg cf db add`.
|
|
353
76
|
|
|
354
|
-
|
|
77
|
+
Direct connections are cached and encrypted exactly like imported ones, so they reappear next time you open the Studio.
|
|
355
78
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
```txt
|
|
359
|
-
Deep Node Inspector trace
|
|
360
|
-
Headers + body
|
|
361
|
-
Mask token
|
|
362
|
-
```
|
|
79
|
+
Console slash commands: `/connect`, `/schemas`, `/tables`, `/desc TABLE`, `/top TABLE`, `/count TABLE`, `/save NAME`, `/history`, `/export csv|json`, `/full`, `/clear`, `/help`, `/exit`.
|
|
363
80
|
|
|
364
|
-
|
|
81
|
+
## DB cache
|
|
365
82
|
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
# Request Trace Runtime Tools
|
|
370
|
-
|
|
371
|
-
Use this command when you need to inspect real request headers and bodies from a BTP Node.js/CAP app without changing repository source code:
|
|
372
|
-
|
|
373
|
-
```bash
|
|
374
|
-
smdg cf request-trace
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
Alias:
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
smdg cf network-trace
|
|
381
|
-
```
|
|
83
|
+
Connections are cached under:
|
|
382
84
|
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
* target app or apps
|
|
386
|
-
* trace depth: path, headers, body, or response body
|
|
387
|
-
* Authorization handling: masked, full, or omitted
|
|
388
|
-
* displayed headers: minimal, common, all, or custom
|
|
389
|
-
* whether to parse body as JSON/form data
|
|
390
|
-
* whether to export trace events to a JSONL file
|
|
391
|
-
|
|
392
|
-
While the trace is running, you can type commands directly in the same terminal:
|
|
393
|
-
|
|
394
|
-
```txt
|
|
395
|
-
/method POST
|
|
396
|
-
/path getBusinessRequest
|
|
397
|
-
/body CR0000135951
|
|
398
|
-
/status 500
|
|
399
|
-
/text single.npi
|
|
400
|
-
/headers authorization,content-type,x-correlationid,x-vcap-request-id
|
|
401
|
-
/headers all
|
|
402
|
-
/clear
|
|
403
|
-
/show
|
|
404
|
-
/replay
|
|
405
|
-
/pause
|
|
406
|
-
/resume
|
|
407
|
-
/help
|
|
85
|
+
```text
|
|
86
|
+
~/.simplemdg/db-connections.json
|
|
408
87
|
```
|
|
409
88
|
|
|
410
|
-
|
|
89
|
+
Saved queries live in `~/.simplemdg/db-queries/` and history in `~/.simplemdg/db-query-history.json`.
|
|
411
90
|
|
|
412
|
-
|
|
91
|
+
Passwords are encrypted with a key derived from the current Windows user + machine. A cache file copied to another machine cannot be decrypted, and the password is never sent to the browser.
|