@dboio/cli 0.16.2 → 0.17.0
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 +65 -54
- package/bin/dbo.js +2 -2
- package/package.json +1 -1
- package/plugins/claude/dbo/docs/dbo-cli-readme.md +65 -54
- package/src/commands/adopt.js +534 -0
- package/src/commands/clone.js +4 -4
- package/src/commands/push.js +1 -1
- package/src/lib/filenames.js +1 -1
- package/src/{commands/add.js → lib/insert.js} +127 -472
package/README.md
CHANGED
|
@@ -233,7 +233,7 @@ Use `dbo status` to see how many pending migrations exist.
|
|
|
233
233
|
| Key | Values | Description |
|
|
234
234
|
|-----|--------|-------------|
|
|
235
235
|
| `domain` | hostname | DBO.io instance to connect to |
|
|
236
|
-
| `AppID` | number | App ID (set by `dbo clone`, used by `dbo
|
|
236
|
+
| `AppID` | number | App ID (set by `dbo clone`, used by `dbo adopt`/`dbo input`) |
|
|
237
237
|
| `AppUID` | string | App UID |
|
|
238
238
|
| `AppName` | string | App display name |
|
|
239
239
|
| `AppShortName` | string | App short name (used for `dbo clone --app`) |
|
|
@@ -305,7 +305,7 @@ A gitignore-style file in the project root that controls which files and directo
|
|
|
305
305
|
|
|
306
306
|
**Used by:**
|
|
307
307
|
- `dbo init` — scaffold empty-check (determines if directory is "effectively empty")
|
|
308
|
-
- `dbo
|
|
308
|
+
- `dbo adopt ./` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo adopt file.html`)
|
|
309
309
|
- `dbo push` — metadata file discovery: skips matching `.metadata.json` / `_output~*.json` files AND any record whose companion content file (`@reference`) matches an ignore pattern
|
|
310
310
|
|
|
311
311
|
**Bypass:** Use `dbo input -d '...'` to submit expressions for a file that would otherwise be ignored — `dbo input` never does file discovery so `.dboignore` does not apply.
|
|
@@ -591,7 +591,7 @@ dbo clone -e extension # Clone all extensions (all
|
|
|
591
591
|
dbo clone -e extension --descriptor-types false # Flat layout (no descriptor sorting)
|
|
592
592
|
```
|
|
593
593
|
|
|
594
|
-
**`dbo
|
|
594
|
+
**`dbo adopt` auto-inference**: Running `dbo adopt docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `lib/extension/documentation/` with the correct `@/` reference.
|
|
595
595
|
|
|
596
596
|
#### Output structure
|
|
597
597
|
|
|
@@ -749,11 +749,11 @@ During `dbo clone`, the CLI auto-generates `.dbo/metadata_schema.json` (formerly
|
|
|
749
749
|
| `String10=@reference` | Content reference — links to the file being added |
|
|
750
750
|
| `String5=@reference:@Name[js]` | Content reference with filename source and extension |
|
|
751
751
|
|
|
752
|
-
`dbo
|
|
752
|
+
`dbo adopt` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo adopt lib/extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
|
|
753
753
|
|
|
754
754
|
#### `@reference` expression syntax
|
|
755
755
|
|
|
756
|
-
The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo
|
|
756
|
+
The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo adopt`. The full grammar:
|
|
757
757
|
|
|
758
758
|
```
|
|
759
759
|
Column=@reference[:filenameSource][extPart][{title}]
|
|
@@ -1407,7 +1407,7 @@ Apply macOS Finder color tags or Linux gio emblems to companion files based on t
|
|
|
1407
1407
|
|-----|-------|---------|
|
|
1408
1408
|
| `dbo:Synced` | 🟢 Green | File matches server — no local changes |
|
|
1409
1409
|
| `dbo:Modified` | 🔵 Blue | Local edits not yet pushed |
|
|
1410
|
-
| `dbo:Untracked` | 🟡 Yellow | No metadata — not yet
|
|
1410
|
+
| `dbo:Untracked` | 🟡 Yellow | No metadata — not yet adopted with `dbo adopt` |
|
|
1411
1411
|
| `dbo:Trashed` | 🔴 Red | File is in the `trash/` directory |
|
|
1412
1412
|
|
|
1413
1413
|
```bash
|
|
@@ -1507,73 +1507,87 @@ The next `dbo push` processes all pending deletions before pushing file changes.
|
|
|
1507
1507
|
|
|
1508
1508
|
---
|
|
1509
1509
|
|
|
1510
|
-
### `dbo
|
|
1510
|
+
### `dbo adopt`
|
|
1511
1511
|
|
|
1512
|
-
|
|
1512
|
+
Create a metadata companion file for a local file, making it ready for server insertion on the next `dbo push`. This is a **local-only operation** — no server requests are made.
|
|
1513
1513
|
|
|
1514
|
-
Files matching `.dboignore` patterns are skipped — both in directory
|
|
1514
|
+
Files matching `.dboignore` patterns are skipped — both in directory mode (`dbo adopt ./`) and single-file mode (`dbo adopt file.html`). Use `dbo input` to create a record for an ignored file directly.
|
|
1515
1515
|
|
|
1516
1516
|
#### Single file
|
|
1517
1517
|
|
|
1518
1518
|
```bash
|
|
1519
|
-
#
|
|
1520
|
-
dbo
|
|
1519
|
+
# Single file — entity inferred from directory
|
|
1520
|
+
dbo adopt lib/bins/app/assets/css/colors.css
|
|
1521
1521
|
|
|
1522
|
-
#
|
|
1523
|
-
dbo
|
|
1522
|
+
# Single file — explicit entity
|
|
1523
|
+
dbo adopt lib/bins/app/assets/css/colors.css -e content
|
|
1524
1524
|
|
|
1525
|
-
#
|
|
1526
|
-
dbo
|
|
1525
|
+
# Extension with explicit column
|
|
1526
|
+
dbo adopt lib/extension/widget/button.html -e extension.String5
|
|
1527
|
+
|
|
1528
|
+
# Skip all confirmation prompts
|
|
1529
|
+
dbo adopt lib/bins/app/assets/css/colors.css -e content -y
|
|
1527
1530
|
```
|
|
1528
1531
|
|
|
1529
|
-
If the file
|
|
1532
|
+
If the file lives in a recognized directory (e.g. `lib/bins/`, `lib/extension/`, `docs/`), the entity is auto-inferred via `resolveDirective()`. Otherwise, pass `-e <entity>` or follow the interactive wizard.
|
|
1530
1533
|
|
|
1531
|
-
####
|
|
1534
|
+
#### Attach to existing record (`--into`)
|
|
1532
1535
|
|
|
1533
1536
|
```bash
|
|
1534
|
-
#
|
|
1535
|
-
dbo
|
|
1536
|
-
|
|
1537
|
-
# Scan a specific directory
|
|
1538
|
-
dbo add assets/
|
|
1537
|
+
# Attach a second file to the same record
|
|
1538
|
+
dbo adopt file2.css --into file1.metadata.json -e String6
|
|
1539
1539
|
```
|
|
1540
1540
|
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
When adding multiple files, the entity and column defaults from the first file are reused for subsequent files.
|
|
1544
|
-
|
|
1545
|
-
#### After adding
|
|
1541
|
+
Adds `String6: "@file2.css"` to `file1.metadata.json` and appends `String6` to `_companionReferenceColumns`. No separate `file2.metadata.json` is created. Requires `-e <column>`.
|
|
1546
1542
|
|
|
1547
|
-
|
|
1543
|
+
#### Directory mode
|
|
1548
1544
|
|
|
1549
1545
|
```bash
|
|
1550
|
-
|
|
1546
|
+
# Adopt all untracked media files in a directory
|
|
1547
|
+
dbo adopt lib/bins/app/assets/img/ -e media
|
|
1548
|
+
|
|
1549
|
+
# Adopt all untracked files in the entire project as media
|
|
1550
|
+
dbo adopt . -e media -y
|
|
1551
1551
|
```
|
|
1552
1552
|
|
|
1553
|
-
|
|
1553
|
+
Recursively finds files that have no `.metadata.json` companion (or have metadata without a UID/`_CreatedOn`). Lists them and prompts for confirmation before creating metadata. The `-e` flag is required in directory mode.
|
|
1554
|
+
|
|
1555
|
+
#### After adopting
|
|
1556
|
+
|
|
1557
|
+
After `dbo adopt`, run `dbo push` to insert the new record(s) on the server. Push detects metadata files without a UID and submits them as new inserts.
|
|
1554
1558
|
|
|
1555
|
-
|
|
1559
|
+
#### Metadata generated by adopt
|
|
1560
|
+
|
|
1561
|
+
Content entity (auto-detected from `lib/bins/`):
|
|
1556
1562
|
```json
|
|
1557
1563
|
{
|
|
1564
|
+
"_entity": "content",
|
|
1565
|
+
"_companionReferenceColumns": ["Content"],
|
|
1558
1566
|
"Name": "colors",
|
|
1559
|
-
"Path": "assets/css/colors.css",
|
|
1560
1567
|
"Content": "@colors.css",
|
|
1561
|
-
"
|
|
1562
|
-
"
|
|
1568
|
+
"Extension": "CSS",
|
|
1569
|
+
"Path": "assets/css/colors.css",
|
|
1570
|
+
"Active": 1,
|
|
1571
|
+
"Public": 0,
|
|
1572
|
+
"BinID": 11045,
|
|
1573
|
+
"AppID": 10100
|
|
1563
1574
|
}
|
|
1564
1575
|
```
|
|
1565
1576
|
|
|
1566
|
-
|
|
1577
|
+
Media entity:
|
|
1567
1578
|
```json
|
|
1568
1579
|
{
|
|
1580
|
+
"_entity": "media",
|
|
1581
|
+
"_mediaFile": "@logo.png",
|
|
1582
|
+
"Name": "logo",
|
|
1583
|
+
"Filename": "logo.png",
|
|
1584
|
+
"Extension": "png",
|
|
1585
|
+
"Ownership": "App",
|
|
1586
|
+
"BinID": 11048,
|
|
1569
1587
|
"AppID": 10100,
|
|
1570
|
-
"
|
|
1571
|
-
"
|
|
1572
|
-
"
|
|
1573
|
-
"Path": "assets/css/colors.css",
|
|
1574
|
-
"Content": "@colors.css",
|
|
1575
|
-
"_entity": "content",
|
|
1576
|
-
"_companionReferenceColumns": ["Content"]
|
|
1588
|
+
"Path": "assets/img",
|
|
1589
|
+
"MimeType": "image/png",
|
|
1590
|
+
"FullPath": "/media/myapp/app/assets/img/logo.png"
|
|
1577
1591
|
}
|
|
1578
1592
|
```
|
|
1579
1593
|
|
|
@@ -1581,18 +1595,15 @@ The `@colors.css` reference tells the CLI to read the file content from `colors.
|
|
|
1581
1595
|
|
|
1582
1596
|
| Flag | Description |
|
|
1583
1597
|
|------|-------------|
|
|
1584
|
-
| `<path>` | File or `.`
|
|
1585
|
-
| `-
|
|
1586
|
-
| `--
|
|
1587
|
-
|
|
|
1588
|
-
| `--
|
|
1589
|
-
| `-y, --yes` | Auto-accept all prompts |
|
|
1590
|
-
| `--json` | Output raw JSON |
|
|
1591
|
-
| `--jq <expr>` | Filter JSON response |
|
|
1598
|
+
| `<path>` | File path, directory path, or `.` for current directory |
|
|
1599
|
+
| `-e, --entity <spec>` | Entity and optional column: `content`, `media`, `extension.widget`, `extension.String5`. Required in directory mode. |
|
|
1600
|
+
| `--into <metaPath>` | Attach file to an existing metadata record as an additional companion column (single-file only) |
|
|
1601
|
+
| `-y, --yes` | Skip all confirmation prompts |
|
|
1602
|
+
| `--domain <host>` | Override domain |
|
|
1592
1603
|
|
|
1593
1604
|
#### Column filtering
|
|
1594
1605
|
|
|
1595
|
-
The `
|
|
1606
|
+
The `push` command never submits these server-managed columns (applies to records created by `adopt`):
|
|
1596
1607
|
- `_CreatedOn`, `_LastUpdated` — set by the server
|
|
1597
1608
|
- `_LastUpdatedUserID`, `_LastUpdatedTicketID` — session-provided values
|
|
1598
1609
|
- `UID` — assigned by the server on insert
|
|
@@ -1602,7 +1613,7 @@ The `add` and `push` commands never submit these server-managed columns:
|
|
|
1602
1613
|
|
|
1603
1614
|
### Automatic error recovery
|
|
1604
1615
|
|
|
1605
|
-
The `input
|
|
1616
|
+
The `input` and `push` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
|
|
1606
1617
|
|
|
1607
1618
|
#### Ticket error recovery
|
|
1608
1619
|
|
|
@@ -1728,7 +1739,7 @@ To bypass the interactive prompt entirely, pass `--modify-key <key>` on any subm
|
|
|
1728
1739
|
```bash
|
|
1729
1740
|
dbo push . --modify-key mySecretKey
|
|
1730
1741
|
dbo input -d '...' --modify-key mySecretKey
|
|
1731
|
-
dbo
|
|
1742
|
+
dbo push myfile.css --modify-key mySecretKey
|
|
1732
1743
|
```
|
|
1733
1744
|
|
|
1734
1745
|
#### User identity required
|
|
@@ -1891,7 +1902,7 @@ This replaces the curl commands typically embedded in `package.json` scripts.
|
|
|
1891
1902
|
|
|
1892
1903
|
#### Automatic deploy config generation
|
|
1893
1904
|
|
|
1894
|
-
When you run `dbo clone` or `dbo
|
|
1905
|
+
When you run `dbo clone` or `dbo adopt`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
|
|
1895
1906
|
|
|
1896
1907
|
```bash
|
|
1897
1908
|
dbo clone # → .dbo/deploy_config.json auto-populated with one entry per companion file
|
package/bin/dbo.js
CHANGED
|
@@ -24,7 +24,7 @@ import { instanceCommand } from '../src/commands/instance.js';
|
|
|
24
24
|
import { deployCommand } from '../src/commands/deploy.js';
|
|
25
25
|
import { pushCommand } from '../src/commands/push.js';
|
|
26
26
|
import { pullCommand } from '../src/commands/pull.js';
|
|
27
|
-
import {
|
|
27
|
+
import { adoptCommand } from '../src/commands/adopt.js';
|
|
28
28
|
import { installCommand } from '../src/commands/install.js';
|
|
29
29
|
import { cloneCommand } from '../src/commands/clone.js';
|
|
30
30
|
import { diffCommand } from '../src/commands/diff.js';
|
|
@@ -87,7 +87,7 @@ program.addCommand(instanceCommand);
|
|
|
87
87
|
program.addCommand(deployCommand);
|
|
88
88
|
program.addCommand(pushCommand);
|
|
89
89
|
program.addCommand(pullCommand);
|
|
90
|
-
program.addCommand(
|
|
90
|
+
program.addCommand(adoptCommand);
|
|
91
91
|
program.addCommand(installCommand);
|
|
92
92
|
program.addCommand(cloneCommand);
|
|
93
93
|
program.addCommand(diffCommand);
|
package/package.json
CHANGED
|
@@ -233,7 +233,7 @@ Use `dbo status` to see how many pending migrations exist.
|
|
|
233
233
|
| Key | Values | Description |
|
|
234
234
|
|-----|--------|-------------|
|
|
235
235
|
| `domain` | hostname | DBO.io instance to connect to |
|
|
236
|
-
| `AppID` | number | App ID (set by `dbo clone`, used by `dbo
|
|
236
|
+
| `AppID` | number | App ID (set by `dbo clone`, used by `dbo adopt`/`dbo input`) |
|
|
237
237
|
| `AppUID` | string | App UID |
|
|
238
238
|
| `AppName` | string | App display name |
|
|
239
239
|
| `AppShortName` | string | App short name (used for `dbo clone --app`) |
|
|
@@ -305,7 +305,7 @@ A gitignore-style file in the project root that controls which files and directo
|
|
|
305
305
|
|
|
306
306
|
**Used by:**
|
|
307
307
|
- `dbo init` — scaffold empty-check (determines if directory is "effectively empty")
|
|
308
|
-
- `dbo
|
|
308
|
+
- `dbo adopt ./` — directory scanning (which files/dirs to skip); also checked in single-file mode (`dbo adopt file.html`)
|
|
309
309
|
- `dbo push` — metadata file discovery: skips matching `.metadata.json` / `_output~*.json` files AND any record whose companion content file (`@reference`) matches an ignore pattern
|
|
310
310
|
|
|
311
311
|
**Bypass:** Use `dbo input -d '...'` to submit expressions for a file that would otherwise be ignored — `dbo input` never does file discovery so `.dboignore` does not apply.
|
|
@@ -591,7 +591,7 @@ dbo clone -e extension # Clone all extensions (all
|
|
|
591
591
|
dbo clone -e extension --descriptor-types false # Flat layout (no descriptor sorting)
|
|
592
592
|
```
|
|
593
593
|
|
|
594
|
-
**`dbo
|
|
594
|
+
**`dbo adopt` auto-inference**: Running `dbo adopt docs/my-doc.md` when `ExtensionDocumentationMDPlacement` is `"root"` auto-creates a companion `.metadata.json` in `lib/extension/documentation/` with the correct `@/` reference.
|
|
595
595
|
|
|
596
596
|
#### Output structure
|
|
597
597
|
|
|
@@ -749,11 +749,11 @@ During `dbo clone`, the CLI auto-generates `.dbo/metadata_schema.json` (formerly
|
|
|
749
749
|
| `String10=@reference` | Content reference — links to the file being added |
|
|
750
750
|
| `String5=@reference:@Name[js]` | Content reference with filename source and extension |
|
|
751
751
|
|
|
752
|
-
`dbo
|
|
752
|
+
`dbo adopt` uses these templates to auto-detect the entity type from a file's directory placement and generate metadata without prompting. For example, `dbo adopt lib/extension/include/nav.html` resolves to entity `extension` / descriptor `include` and applies the matching template.
|
|
753
753
|
|
|
754
754
|
#### `@reference` expression syntax
|
|
755
755
|
|
|
756
|
-
The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo
|
|
756
|
+
The `=@reference` expression controls how companion files are named during `dbo clone` and `dbo adopt`. The full grammar:
|
|
757
757
|
|
|
758
758
|
```
|
|
759
759
|
Column=@reference[:filenameSource][extPart][{title}]
|
|
@@ -1407,7 +1407,7 @@ Apply macOS Finder color tags or Linux gio emblems to companion files based on t
|
|
|
1407
1407
|
|-----|-------|---------|
|
|
1408
1408
|
| `dbo:Synced` | 🟢 Green | File matches server — no local changes |
|
|
1409
1409
|
| `dbo:Modified` | 🔵 Blue | Local edits not yet pushed |
|
|
1410
|
-
| `dbo:Untracked` | 🟡 Yellow | No metadata — not yet
|
|
1410
|
+
| `dbo:Untracked` | 🟡 Yellow | No metadata — not yet adopted with `dbo adopt` |
|
|
1411
1411
|
| `dbo:Trashed` | 🔴 Red | File is in the `trash/` directory |
|
|
1412
1412
|
|
|
1413
1413
|
```bash
|
|
@@ -1507,73 +1507,87 @@ The next `dbo push` processes all pending deletions before pushing file changes.
|
|
|
1507
1507
|
|
|
1508
1508
|
---
|
|
1509
1509
|
|
|
1510
|
-
### `dbo
|
|
1510
|
+
### `dbo adopt`
|
|
1511
1511
|
|
|
1512
|
-
|
|
1512
|
+
Create a metadata companion file for a local file, making it ready for server insertion on the next `dbo push`. This is a **local-only operation** — no server requests are made.
|
|
1513
1513
|
|
|
1514
|
-
Files matching `.dboignore` patterns are skipped — both in directory
|
|
1514
|
+
Files matching `.dboignore` patterns are skipped — both in directory mode (`dbo adopt ./`) and single-file mode (`dbo adopt file.html`). Use `dbo input` to create a record for an ignored file directly.
|
|
1515
1515
|
|
|
1516
1516
|
#### Single file
|
|
1517
1517
|
|
|
1518
1518
|
```bash
|
|
1519
|
-
#
|
|
1520
|
-
dbo
|
|
1519
|
+
# Single file — entity inferred from directory
|
|
1520
|
+
dbo adopt lib/bins/app/assets/css/colors.css
|
|
1521
1521
|
|
|
1522
|
-
#
|
|
1523
|
-
dbo
|
|
1522
|
+
# Single file — explicit entity
|
|
1523
|
+
dbo adopt lib/bins/app/assets/css/colors.css -e content
|
|
1524
1524
|
|
|
1525
|
-
#
|
|
1526
|
-
dbo
|
|
1525
|
+
# Extension with explicit column
|
|
1526
|
+
dbo adopt lib/extension/widget/button.html -e extension.String5
|
|
1527
|
+
|
|
1528
|
+
# Skip all confirmation prompts
|
|
1529
|
+
dbo adopt lib/bins/app/assets/css/colors.css -e content -y
|
|
1527
1530
|
```
|
|
1528
1531
|
|
|
1529
|
-
If the file
|
|
1532
|
+
If the file lives in a recognized directory (e.g. `lib/bins/`, `lib/extension/`, `docs/`), the entity is auto-inferred via `resolveDirective()`. Otherwise, pass `-e <entity>` or follow the interactive wizard.
|
|
1530
1533
|
|
|
1531
|
-
####
|
|
1534
|
+
#### Attach to existing record (`--into`)
|
|
1532
1535
|
|
|
1533
1536
|
```bash
|
|
1534
|
-
#
|
|
1535
|
-
dbo
|
|
1536
|
-
|
|
1537
|
-
# Scan a specific directory
|
|
1538
|
-
dbo add assets/
|
|
1537
|
+
# Attach a second file to the same record
|
|
1538
|
+
dbo adopt file2.css --into file1.metadata.json -e String6
|
|
1539
1539
|
```
|
|
1540
1540
|
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
When adding multiple files, the entity and column defaults from the first file are reused for subsequent files.
|
|
1544
|
-
|
|
1545
|
-
#### After adding
|
|
1541
|
+
Adds `String6: "@file2.css"` to `file1.metadata.json` and appends `String6` to `_companionReferenceColumns`. No separate `file2.metadata.json` is created. Requires `-e <column>`.
|
|
1546
1542
|
|
|
1547
|
-
|
|
1543
|
+
#### Directory mode
|
|
1548
1544
|
|
|
1549
1545
|
```bash
|
|
1550
|
-
|
|
1546
|
+
# Adopt all untracked media files in a directory
|
|
1547
|
+
dbo adopt lib/bins/app/assets/img/ -e media
|
|
1548
|
+
|
|
1549
|
+
# Adopt all untracked files in the entire project as media
|
|
1550
|
+
dbo adopt . -e media -y
|
|
1551
1551
|
```
|
|
1552
1552
|
|
|
1553
|
-
|
|
1553
|
+
Recursively finds files that have no `.metadata.json` companion (or have metadata without a UID/`_CreatedOn`). Lists them and prompts for confirmation before creating metadata. The `-e` flag is required in directory mode.
|
|
1554
|
+
|
|
1555
|
+
#### After adopting
|
|
1556
|
+
|
|
1557
|
+
After `dbo adopt`, run `dbo push` to insert the new record(s) on the server. Push detects metadata files without a UID and submits them as new inserts.
|
|
1554
1558
|
|
|
1555
|
-
|
|
1559
|
+
#### Metadata generated by adopt
|
|
1560
|
+
|
|
1561
|
+
Content entity (auto-detected from `lib/bins/`):
|
|
1556
1562
|
```json
|
|
1557
1563
|
{
|
|
1564
|
+
"_entity": "content",
|
|
1565
|
+
"_companionReferenceColumns": ["Content"],
|
|
1558
1566
|
"Name": "colors",
|
|
1559
|
-
"Path": "assets/css/colors.css",
|
|
1560
1567
|
"Content": "@colors.css",
|
|
1561
|
-
"
|
|
1562
|
-
"
|
|
1568
|
+
"Extension": "CSS",
|
|
1569
|
+
"Path": "assets/css/colors.css",
|
|
1570
|
+
"Active": 1,
|
|
1571
|
+
"Public": 0,
|
|
1572
|
+
"BinID": 11045,
|
|
1573
|
+
"AppID": 10100
|
|
1563
1574
|
}
|
|
1564
1575
|
```
|
|
1565
1576
|
|
|
1566
|
-
|
|
1577
|
+
Media entity:
|
|
1567
1578
|
```json
|
|
1568
1579
|
{
|
|
1580
|
+
"_entity": "media",
|
|
1581
|
+
"_mediaFile": "@logo.png",
|
|
1582
|
+
"Name": "logo",
|
|
1583
|
+
"Filename": "logo.png",
|
|
1584
|
+
"Extension": "png",
|
|
1585
|
+
"Ownership": "App",
|
|
1586
|
+
"BinID": 11048,
|
|
1569
1587
|
"AppID": 10100,
|
|
1570
|
-
"
|
|
1571
|
-
"
|
|
1572
|
-
"
|
|
1573
|
-
"Path": "assets/css/colors.css",
|
|
1574
|
-
"Content": "@colors.css",
|
|
1575
|
-
"_entity": "content",
|
|
1576
|
-
"_companionReferenceColumns": ["Content"]
|
|
1588
|
+
"Path": "assets/img",
|
|
1589
|
+
"MimeType": "image/png",
|
|
1590
|
+
"FullPath": "/media/myapp/app/assets/img/logo.png"
|
|
1577
1591
|
}
|
|
1578
1592
|
```
|
|
1579
1593
|
|
|
@@ -1581,18 +1595,15 @@ The `@colors.css` reference tells the CLI to read the file content from `colors.
|
|
|
1581
1595
|
|
|
1582
1596
|
| Flag | Description |
|
|
1583
1597
|
|------|-------------|
|
|
1584
|
-
| `<path>` | File or `.`
|
|
1585
|
-
| `-
|
|
1586
|
-
| `--
|
|
1587
|
-
|
|
|
1588
|
-
| `--
|
|
1589
|
-
| `-y, --yes` | Auto-accept all prompts |
|
|
1590
|
-
| `--json` | Output raw JSON |
|
|
1591
|
-
| `--jq <expr>` | Filter JSON response |
|
|
1598
|
+
| `<path>` | File path, directory path, or `.` for current directory |
|
|
1599
|
+
| `-e, --entity <spec>` | Entity and optional column: `content`, `media`, `extension.widget`, `extension.String5`. Required in directory mode. |
|
|
1600
|
+
| `--into <metaPath>` | Attach file to an existing metadata record as an additional companion column (single-file only) |
|
|
1601
|
+
| `-y, --yes` | Skip all confirmation prompts |
|
|
1602
|
+
| `--domain <host>` | Override domain |
|
|
1592
1603
|
|
|
1593
1604
|
#### Column filtering
|
|
1594
1605
|
|
|
1595
|
-
The `
|
|
1606
|
+
The `push` command never submits these server-managed columns (applies to records created by `adopt`):
|
|
1596
1607
|
- `_CreatedOn`, `_LastUpdated` — set by the server
|
|
1597
1608
|
- `_LastUpdatedUserID`, `_LastUpdatedTicketID` — session-provided values
|
|
1598
1609
|
- `UID` — assigned by the server on insert
|
|
@@ -1602,7 +1613,7 @@ The `add` and `push` commands never submit these server-managed columns:
|
|
|
1602
1613
|
|
|
1603
1614
|
### Automatic error recovery
|
|
1604
1615
|
|
|
1605
|
-
The `input
|
|
1616
|
+
The `input` and `push` commands automatically detect recoverable server errors and prompt for missing values instead of failing immediately.
|
|
1606
1617
|
|
|
1607
1618
|
#### Ticket error recovery
|
|
1608
1619
|
|
|
@@ -1728,7 +1739,7 @@ To bypass the interactive prompt entirely, pass `--modify-key <key>` on any subm
|
|
|
1728
1739
|
```bash
|
|
1729
1740
|
dbo push . --modify-key mySecretKey
|
|
1730
1741
|
dbo input -d '...' --modify-key mySecretKey
|
|
1731
|
-
dbo
|
|
1742
|
+
dbo push myfile.css --modify-key mySecretKey
|
|
1732
1743
|
```
|
|
1733
1744
|
|
|
1734
1745
|
#### User identity required
|
|
@@ -1891,7 +1902,7 @@ This replaces the curl commands typically embedded in `package.json` scripts.
|
|
|
1891
1902
|
|
|
1892
1903
|
#### Automatic deploy config generation
|
|
1893
1904
|
|
|
1894
|
-
When you run `dbo clone` or `dbo
|
|
1905
|
+
When you run `dbo clone` or `dbo adopt`, each companion file (CSS, JS, HTML, SQL, etc.) is automatically registered in `.dbo/deploy_config.json` under an `<extension>:<name>` key — no manual authoring needed:
|
|
1895
1906
|
|
|
1896
1907
|
```bash
|
|
1897
1908
|
dbo clone # → .dbo/deploy_config.json auto-populated with one entry per companion file
|