# Deployments

Deploy database object changes safely with preview, diff, and rollback support.

Source: https://www.nexosqlstudio.com/docs/deployments
Language: en
Type: docs

# Deployments

## Database support

Database support does not imply identical features. Connections and SQL worksheets are the starting point; editing, DDL, modeling, transfers, administration and AI operations depend on the engine and workflow. Check the installed version and the relevant guide before relying on an advanced operation.

[Supported databases and feature availability](https://www.nexosqlstudio.com/databases) · [Connection guides](https://www.nexosqlstudio.com/docs/getting-started)

Deployments let you prepare and apply Oracle object changes and data migrations with a structured workflow. You can preview deployment definitions, choose DDL sources, save manifests, and restore generated backups when needed.

## What Is a Deployment?

A **deployment** is a curated set of database objects, worksheet scripts, APEX exports, or table data migration entries that target one or more Oracle connections.

## Creating a Deployment

1. Open the **Deployments / Data migrations** view.
2. Click **Create new deployment** or add selected objects from the Connections Explorer.
3. Add database objects, worksheet content, scripts, or table migration entries.
4. Select the destination environment, confirm missing connection mappings, and choose the DDL source strategy.
5. Save the deployment manifest when you want to reuse the definition.

## Destination environments

New deployments require source connections assigned to environments, a default destination for each source environment, and confirmed connection mappings. Use the searchable **Destination environment** selector for the current deployment. **Set as default** explicitly updates source defaults. When source defaults differ, select one destination for the current deployment.

Missing mappings open the mapping screen for the required connections. Cancel returns to the deployment with its selections intact; execution stays unavailable until mappings are resolved. Changing destination clears comparisons, APEX target selections and reviewed SQL, so review again before executing.

Saved legacy deployments retain **Existing targets**, including mixed environments and explicit targets within one environment. Selecting an environment converts the saved deployment to mapped targets. Backup restoration uses its recorded targets.

## Previewing Changes

Before executing, use **Preview deployment definition** or open the deployment dialog to review:

- The object or script list
- Target connections and schemas
- Whether DDL comes from live metadata, local files, or a prefer-file fallback
- Data migration options such as batch size, commit interval, LOB batch size, and row-level error handling

When live DDL is selected, Nexo SQL Studio fetches current Oracle metadata before building the deployment.

## Executing a Deployment

1. Review the preview and click **Deploy**.
2. A confirmation dialog shows the entire script list. Confirm to proceed.
3. Each entry is executed in order. Progress and status are shown per entry.
4. If an entry fails, execution stops with the database error and the generated backup remains available for restore flows that support it.

## Deployment History

Saved deployment definitions include:

- The selected objects and scripts
- Target connection metadata
- DDL source strategy
- Data migration options
- Generated backup and restore metadata when available

Access saved definitions from the **Deployments / Data migrations** view.

The tree groups deployments under **Pending** and **Deployed**, with deployment counts. A deployment stays pending until its latest run succeeds without errors. Custom folders appear in both groups and refer to the same directories on disk. Nexo does not add the deployment folder to `.gitignore`; you decide whether to track it.

## Creating Deployment Scripts

After **Review**, the actions are **Back**, **Preview**, **Create deployment script**, and **Deploy**. Use the update icon beside **Filter review** to run the comparison again.

Choose **SQL Script (SQL*Plus / SQLcl)** or **Liquibase changesets**, then click **Create**. Scripts are saved under the deployment's `scripts/sql` or `scripts/liquibase` folder. The dialog and VS Code notification show percentage progress and estimated time remaining. When creation completes, open the destination folder or the first entry script from the dialog.

Copy the entire deployment folder to run it elsewhere. SQL entry scripts reference existing object files; Liquibase reuses JDBC-compatible files and generates adapted statements when SQL*Plus commands or delimiters require conversion. Run numbered entry scripts in order on their named target connections.

Start SQL*Plus with `scripts/sql` as its working directory, then run `@"<entry-script.sql>"`. SQLcl and Nexo worksheets can also open the SQL entry scripts directly. For Liquibase, use `--search-path=<deployment>/scripts/liquibase --changelog-file=<entry-changelog.xml>` with your connection details and `update`. Script generation supports DDL and custom SQL scripts; use Nexo to execute configured table data migrations.

## Data Migration Settings

Tune data migration execution in VS Code settings:

| Setting | Purpose |
|---------|---------|
| `nexo-sql-studio.deploy.dataMigration.fetchSize` | Rows fetched per source batch |
| `nexo-sql-studio.deploy.dataMigration.batchSize` | Rows written per batch |
| `nexo-sql-studio.deploy.dataMigration.commitEveryRows` | Commit interval during migration |
| `nexo-sql-studio.deploy.dataMigration.batchErrors` | Continue batch writes and report row-level errors |

## Offline DDL Export

Before deploying, you may want to export a local snapshot of current DDL for offline comparison. See [Offline DDL Export](https://www.nexosqlstudio.com/docs/offline-ddl).


