> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wimeisoftwares.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Migrar do SQL Server para PostgreSQL

> Guia passo a passo para exportar schemas do SQL Server, executar a análise no MigraFlow CLI e gerar scripts de migração prontos para PostgreSQL.

## Exportar o schema SQL Server

<CodeGroup>
  ```bash SSMS (interface gráfica) theme={null}
  -- Botão direito no banco > Tasks > Generate Scripts
  -- Selecione: Schema only
  -- Salve como schema_legado.sql
  ```

  ```sql T-SQL theme={null}
  -- Exportar via query
  SELECT definition
  FROM sys.sql_modules m
  JOIN sys.objects o ON m.object_id = o.object_id
  WHERE o.type = 'U'
  ```
</CodeGroup>

## Executar a análise

```bash theme={null}
migraflow schema_sqlserver.sql "ERP SQL Server 2012" --api-key mk_consultant_xxx --review
```

## Conversões automáticas

| SQL Server         | PostgreSQL          |
| ------------------ | ------------------- |
| `IDENTITY(1,1)`    | `BIGSERIAL`         |
| `NVARCHAR(100)`    | `VARCHAR(100)`      |
| `DATETIME`         | `TIMESTAMP`         |
| `DATETIME2`        | `TIMESTAMP`         |
| `BIT`              | `BOOLEAN`           |
| `MONEY`            | `NUMERIC(19,4)`     |
| `UNIQUEIDENTIFIER` | `UUID`              |
| `IMAGE`            | `BYTEA`             |
| `GETDATE()`        | `NOW()`             |
| `NEWID()`          | `gen_random_uuid()` |
| `TOP N`            | `LIMIT N`           |

## Padrões brasileiros reconhecidos

| Legado        | Moderno        |
| ------------- | -------------- |
| `TB_PED`      | `orders`       |
| `CD_PED`      | `order_id`     |
| `DT_PED`      | `order_date`   |
| `VL_TOTAL`    | `total_amount` |
| `ST_PED`      | `status`       |
| `TB_ITEM_PED` | `order_items`  |

## Riscos comuns em schemas SQL Server

<AccordionGroup>
  <Accordion title="Collation NVARCHAR">
    **Risco BAIXO.** `NVARCHAR` vira `VARCHAR` — PostgreSQL usa UTF-8 nativamente, sem perda de dados.
  </Accordion>

  <Accordion title="Stored Procedures e Views">
    **Risco ALTO.** O CLI migra apenas o schema (tabelas). Procedures e views precisam ser migradas separadamente.
  </Accordion>

  <Accordion title="Schemas (dbo, custom)">
    **Risco MÉDIO.** Tabelas com prefixo `dbo.TB_CLIENTE` têm o schema removido automaticamente.
  </Accordion>

  <Accordion title="Computed Columns">
    **Risco ALTO.** Colunas computadas (`AS valor * 1.1`) não têm equivalente direto — viram colunas geradas no PostgreSQL.
  </Accordion>
</AccordionGroup>
