Entornos de desarrollo

Desarrollo local

La instancia Hasura ejecutada de forma local en su máquina con docker-compose actúa como configuración del entorno de desarrollo. Hasura CLI puede utilizarse para ayudar a la consola con la gestión automática de las migraciones y los metadatos.

Entorno de ensayo

Ahora vamos a crear un entorno de ensayo y a tratar de replicar el esquema y los metadatos que tenemos en nuestra configuración local de desarrollo.

Vamos a utilizar Hasura Cloud para el entorno de ensayo. Hasura Cloud le ofrece una API de GraphQL escalable, altamente disponible, distribuida a nivel global, totalmente gestionada y segura como servicio.

Haga clic en el siguiente botón para crear un nuevo proyecto en Hasura Cloud:

Una vez se registre e inicie sesión, debería ver la siguiente pantalla de bienvenida y se creará un nuevo proyecto de Hasura automáticamente para usted:

Página de bienvenida de Hasura Cloud

Una vez que se inicie el proyecto, puede hacer clic en el botón Launch Console en la ventana emergente. Si ya dispone de una cuenta de Hasura Cloud, puede crear un nuevo proyecto haciendo clic en la acción + New Project en la parte superior y luego en Launch Console.

Consola de Hasura

Esto abrirá la consola de Hasura para el proyecto. Debería parecerse a esto:

Consola de Hasura

El siguiente paso es conectar la base de datos a Hasura. Para configurarla, podemos hacer uso del nivel de base de datos Postgres gratuito de Heroku. Diríjase a la pestaña Data en la consola y haga clic en Connect Database.

Tenemos dos opciones para conectar una base de datos:

  • Conectar una base de datos existente
  • Crear la base de datos de Heroku (gratis)

Para iniciar este proceso, vamos a crear una nueva base de datos de Postgres desde cero utilizando Heroku Postgres. Haga clic en la pestaña Create Heroku Database (Free). En esta pestaña, dispondrá ahora de una opción para hacer clic en el botón Create Database. Tenga en cuenta que crear una cuenta en Heroku es gratis.

Cree la base de datos de Heroku

Después de iniciar sesión en Heroku y hacer clic en Create Database, Hasura Cloud realizará lo siguiente para usted:

  • Crear una aplicación en Heroku
  • Instalar el complemento de Postgres
  • Buscar la URL de la base de datos con la que configurar Hasura

Configuración de Heroku de Hasura Cloud

Se necesitarán unos segundos para conectarse a Heroku Postgres e inicializar. Una vez establecida la conexión, se le llevará a la página del Gestor de datos en la Consola, que enumera la base de datos que acabamos de conectar.

Ahora, copie la URL del proyecto que se parece a https://myproject.hasura.app, (sustituya myproject por el nombre de su proyecto Hasura).

Vuelva al terminal, y al directorio del proyecto Hasura. Ejecute el siguiente comando:

hasura migrate apply --endpoint https://myproject.hasura.app --admin-secret xxxxx --database-name default
hasura metadata apply --endpoint https://myproject.hasura.app --admin-secret xxxxx

A continuación, pruebe a refrescar la Consola Hasura en el proyecto Cloud y compruebe si el esquema de la base de datos aparece reflejado. Básicamente, hemos replicado el esquema y los metadatos en una nueva instancia de Hasura y una nueva base de datos Postgres.

A medida que vayamos cambiando el esquema de forma local, podemos seguir aplicando los dos comandos anteriores para aplicar los mismos cambios al entorno de ensayo.

Nota: puede también crear un proyecto en Hasura Cloud para su desarrollo. Todos los pasos necesarios para sincronizar entre desarrollo y ensayo continuarían sin cambios. Normalmente, los controladores de las URL de webhook han de ser expuestos a un punto de conexión público al que pueda acceder Hasura Cloud y, por lo tanto, no pueden ser urls localhost. Recomendamos utilizar algo como ngrok para exponer al servidor local que se ejecute para Acciones/Esquemas remotos/Eventos a un punto de conexión de acceso público.

Aplastar migraciones

A medida que vamos cambiando la base de datos, el directorio de migración se llena de «ruido» a causa de todas los archivos creados durante el proceso de iteración del desarrollo. Una vez se ha fijado una característica, es posible que quiera combinarla y «aplastar» todos los archivos de migración relacionados con ella dentro de un único archivo. Puede lograrse utilizando el comando squash de Hasura CLI. Ejecute el siguiente comando:

hasura migrate squash --name "squashed-migration" --from 123 --database-name default --endpoint https://myproject.hasura.app

y reemplace el valor por --from a tal efecto.

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin