diff --git a/src/content/docs/en/guides/integrations-guide/db.mdx b/src/content/docs/en/guides/integrations-guide/db.mdx index 94417dbb47d7b..8c8d9a38a6cfd 100644 --- a/src/content/docs/en/guides/integrations-guide/db.mdx +++ b/src/content/docs/en/guides/integrations-guide/db.mdx @@ -266,38 +266,56 @@ Each foreign key configuration object accepts the following properties: ## Astro DB CLI reference -Astro DB includes a set of CLI commands to interact with your local and libSQL-compatible database. +Astro DB includes a set of CLI commands to interact with your local and libSQL-compatible database. -These commands are called automatically when using a GitHub CI action, and can be called manually using the `astro db` CLI. +These commands are called automatically when using a GitHub CI action, and can be called manually using the `astro db` CLI. ### `astro db push` **Flags:** +- `--db-app-token ` Provide the remote database app token directly instead of `ASTRO_DB_APP_TOKEN`. +- `--dry-run` Print the generated SQL statements without applying them. - `--force-reset` Reset all production data if a breaking schema change is required. +- `--remote` Push to your remote database instead of the local database file. Requires the `ASTRO_DB_REMOTE_URL` environment variable to be set, and either `ASTRO_DB_APP_TOKEN` to be set in the environment or a value passed with the `--db-app-token` command-line argument. -Safely push database configuration changes to your project database. This will check for any risk of data loss and guide you on any recommended migration steps. If a breaking schema change must be made, use the `--force-reset` flag to reset all production data. +Safely push database configuration changes to your project database. This will check for any risk of data loss and guide you on any recommended migration steps. Use `--remote` to apply changes to your remote database. If a breaking schema change must be made, use `--force-reset` to reset all production data. ### `astro db verify` -Check for any differences between your local and remote database configurations. This is automatically run by `astro db push`. `verify` will compare your local `db/config.ts` file with the remote database and warn if changes are detected. +**Flags:** + +- `--db-app-token ` Provide the remote database app token directly instead of `ASTRO_DB_APP_TOKEN`. +- `--json` Print a machine-readable JSON result from `verify`. +- `--remote` Compare against your remote database instead of the local database file. Requires the `ASTRO_DB_REMOTE_URL` environment variable to be set, and either `ASTRO_DB_APP_TOKEN` to be set in the environment or a value passed with the `--db-app-token` command-line argument. + +Compares your local schema against the remote database to check for any differences between your local and remote database configurations. This is automatically run by `astro db push`. + +`verify` will compare your local `db/config.ts` file with the remote database and warn if changes are detected. It will exit with a non-zero code if changes are required or unsafe, making it useful for CI. ### `astro db execute ` **Flags:** -- `--remote` Run against your libSQL-compatible database. Omit to run against your development server. +- `--db-app-token ` Provide the remote database app token directly instead of `ASTRO_DB_APP_TOKEN`. +- `--remote` Run against your libSQL-compatible database. Omit to run against your local database file. Requires the `ASTRO_DB_REMOTE_URL` environment variable to be set, and either `ASTRO_DB_APP_TOKEN` to be set in the environment or a value passed with the `--db-app-token` command-line argument. -Execute a `.ts` or `.js` file to read or write to your database. This accepts a file path as an argument, and supports usage of the `astro:db` module to write type-safe queries. Use the `--remote` flag to run against your libSQL-compatible database, or omit the flag to run against your development server. See how to [seed development data](/en/guides/astro-db/#seed-your-database-for-development) for an example file. +Execute a `.ts` or `.js` file to read or write to your database. This accepts a file path as an argument, and supports usage of the `astro:db` module to write type-safe queries. Use the `--remote` flag to run against your libSQL-compatible database, or omit the flag to run against your local database file. See how to [seed development data](/en/guides/astro-db/#seed-your-database-for-development) for an example file. ### `astro db shell --query ` **Flags:** - `--query` Raw SQL query to execute. -- `--remote` Run against your libSQL-compatible database. Omit to run against your development server. +- `--remote` Run against your libSQL-compatible database. Omit to run against your local database file. Requires the `ASTRO_DB_REMOTE_URL` environment variable to be set, and either `ASTRO_DB_APP_TOKEN` to be set in the environment or a value passed with the `--db-app-token` command-line argument. -Execute a raw SQL query against your database. Use the `--remote` flag to run against your libSQL-compatible database, or omit the flag to run against your development server. +Execute a raw SQL query against your database. + +The following example selects all rows from a `Comment` table in a remote database: + +```sh +npx astro db shell --query "SELECT * FROM Comment;" --remote +``` ## Astro DB utility reference