---
schema_version: 1
route: /t/atlas.md
tool: "atlas"
---

# sincecutoff.com /t/atlas — Atlas

- name: Atlas
- kind: cli
- children: none
- homepage: <https://github.com/ariga/atlas>

Changes to the tools coding agents drive, since a model's training cutoff, each linked to its first-party source. Check installed versions and limitations before acting; a cutoff date does not establish what a model knows.
Original editorial content: [Apache 2.0](https://sincecutoff.com/v1/data-license.txt), by [0xPatrick](https://0xpatrick.dev). Preserve applicable license and [NOTICE](https://sincecutoff.com/notice.txt) attribution when redistributing. Third-party source text and examples retain their own rights. [License scope and attribution](https://sincecutoff.com/v1/license.json).
To stay current, read the changes feed: [`/v1/changes.md?tool=atlas`](https://sincecutoff.com/v1/changes.md?tool=atlas) (or `.json`), adding `since=YYYY-MM-DD` for your training cutoff. Entries for registered children are included; the registry itself is `/v1/tools.json`. How to page and save your place: [llms.txt](https://sincecutoff.com/llms.txt).

### Atlas Scripts declare data operations as code (2026-08-02)
- slug: atlas-scripts-declare-data-operations-as-code-3ec71d16e352
- score: 0.93

How to use it:

For a backfill or purge, declare an Atlas `loop` or `exec` script; for a report, declare a `query` script. Run it with the matching `atlas script` command, then review and test it against a dev database in CI before production use.

Examples:

```
atlas script loop --url "<database-url>" --file "file://<script-file>" --run "<script-name>"
```

```
atlas script query --url "<database-url>" --file "file://<script-file>" --run "<script-name>" --quiet
```

```
atlas script exec --url "<database-url>" --file "file://<script-file>" --run "<script-name>"
```

- why_it_matters: Implement backfills, GDPR purges, or reports as reviewed and tested code in CI.
- sources: <https://github.com/ariga/atlas/releases/tag/v1.3.0>, <https://atlasgo.io/blog/2026/07/30/atlas-v1-3>
- gotchas: "Version: v1.3.0"; "--url: Database URL. The docs show it in each example but do not state whether it is required."; "--file: Script file URL, shown as `file://<script-file>` in the examples. Requiredness is not stated."; "--run: Script name to run; examples use a name or a regular expression. Requiredness is not stated."; "--quiet: For `query`, suppresses the per-step report and prints only script output."; "script \"loop\" / script \"query\" / script \"exec\" (required): Declares the script kind: batched work, reads with output masking, or transactional mutations. The docs do not state whether the kinds are mutually exclusive within one file."; "mask.columns: Columns to mask in query output."; "mask.method: Masking method; documented examples include `REDACT`, `PARTIAL`, `HASH`, and `REPLACE`. The docs do not state that methods are mutually exclusive."; "mask.salt: Salt used in the documented `HASH` mask example."; "mask.keep_right: Number of right-side characters to retain in the documented `PARTIAL` example."; "Prerequisite: Use Atlas v1.3 or later; Atlas Scripts were introduced in v1.3."; "Prerequisite: The docs say the script testing framework runs against a real dev database and can verify results and privileges using an `as` block for a reduced role."
