-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i18n(pt-BR): create
guides/backend/neon.mdx
(#10445)
* i18n(pt-BR): create guides/backend/neon.mdx * small fix --------- Co-authored-by: Yan <[email protected]>
- Loading branch information
1 parent
81f661d
commit 17ecacb
Showing
1 changed file
with
96 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
--- | ||
title: Neon Postgres & Astro | ||
description: Adicione um banco de dados Postgres serverless em seu projeto Astro com Neon | ||
sidebar: | ||
label: Neon | ||
type: backend | ||
service: Neon | ||
stub: false | ||
i18nReady: true | ||
--- | ||
|
||
import ReadMore from '~/components/ReadMore.astro'; | ||
|
||
[Neon](https://neon.tech) é um banco de dados Postgres serverless totalmente gerenciado. Ele separa armazenamento e computação para oferecer escalabilidade automática, ramificações e armazenamento _bottomless_. | ||
|
||
## Adicionando Neon ao seu projeto Astro | ||
|
||
### Pré-requisitos | ||
|
||
- Uma conta [Neon](https://console.neon.tech/signup) com um projeto criado | ||
- String de conexão ao banco de dados Neon | ||
- Um projeto Astro com [renderização sob demanda (SSR)](/pt-br/guides/on-demand-rendering/) habilitado | ||
|
||
### Configuração de ambiente | ||
|
||
Para usar Neon com Astro, você precisará configurar uma variável de ambiente Neon. Crie ou edite seu arquivo `.env` na raiz do seu projeto, e adicione o seguinte código, substituindo com seus próprios detalhes de projeto: | ||
|
||
```ini title=".env" | ||
NEON_DATABASE_URL="postgresql://<user>:<password>@<endpoint_hostname>.neon.tech:<port>/<dbname>?sslmode=require" | ||
``` | ||
|
||
Para melhor suporte TypeScript, defina variáveis de ambiente em um arquivo `src/env.d.ts`: | ||
|
||
```typescript title="src/env.d.ts" | ||
interface ImportMetaEnv { | ||
readonly NEON_DATABASE_URL: string; | ||
} | ||
|
||
interface ImportMeta { | ||
readonly env: ImportMetaEnv; | ||
} | ||
``` | ||
|
||
<ReadMore>Saiba mais sobre [variáveis de ambiente](/pt-br/guides/environment-variables/) e arquivos `.env` no Astro.</ReadMore> | ||
|
||
### Instalando dependências | ||
|
||
Instale o pacote `@neondatabase/serverless` para se conectar ao Neon: | ||
|
||
```bash | ||
npm install @neondatabase/serverless | ||
``` | ||
|
||
### Crie um cliente Neon | ||
|
||
Crie um novo arquivo `src/lib/neon.ts` com o código seguinte para inicializar seu cliente Neon: | ||
|
||
```typescript title="src/lib/neon.ts" | ||
import { neon } from '@neondatabase/serverless'; | ||
|
||
export const sql = neon(import.meta.env.NEON_DATABASE_URL); | ||
``` | ||
|
||
## Consultando seu banco de dados Neon | ||
|
||
Você agora pode usar o cliente Neon para consultar seu banco de dados de qualquer componente `.astro`. O exemplo seguinte obtém a hora atual do banco de dados Postgres: | ||
|
||
```astro title="src/pages/index.astro" | ||
--- | ||
import { sql } from '../lib/neon'; | ||
const response = await sql`SELECT NOW() as current_time`; | ||
const currentTime = response[0].current_time; | ||
--- | ||
<h1>Hora Atual</h1> | ||
<p>A hora é: {currentTime}</p> | ||
``` | ||
|
||
## Ramificação de banco de dados com Neon | ||
|
||
A funcionalidade de ramificação do Neon permite que você crie cópias do seu banco de dados para desenvolvimenot ou testes. Use isso em seu projeto Astro ao criar diferentes variáveis de ambiente para cada _branch_: | ||
|
||
```ini title=".env.development" | ||
NEON_DATABASE_URL=your_development_branch_url | ||
``` | ||
|
||
```ini title=".env.production" | ||
NEON_DATABASE_URL=your_production_branch_url | ||
``` | ||
|
||
## Recursos | ||
|
||
- [Documentação Neon](https://neon.tech/docs/introduction) | ||
- [Driver serverless GitHub Neon](https://github.com/neondatabase/serverless) | ||
- [Conecte um site ou aplicação Astro ao Neon Postgres](https://neon.tech/docs/guides/astro) |