Subscribe To Our Newsletter
You will receive our latest post and tutorial.
Thank you for subscribing!

required
required


Hasura – Action

Actions are a way to extend Hasura’s schema with custom business logic using custom queries and mutations. Actions can be added to Hasura to handle various use cases such as data validation, data enrichment from external sources and any other complex business logic.

How it works

  • Hasura receives the action GraphQL query or mutation and converts this request into an event payload.
  • The event is captured, persisted and then delivered to the action handler with the appropriate retry/delivery guarantees.
  • The action handler runs and returns a response that is captured as an event and again persisted to the event store.
  • The action response is returned to the client synchronously or asynchronously based on the kind.

 

February 23, 2020

Hasura – Mutation

GraphQL mutations are used to modify(insert, update, delete) data on your database. Hasura GraphQL engine auto-generates mutations as part of the GraphQL schema from your Postgres schema model. Data of all tables in the database tracked by the GraphQL engine can be modified over the GraphQL endpoint. If you have a tracked table in your database, its insert/update/delete mutation fields are added as nested fields under the mutation_root root level type.

Insert Mutation

 

February 23, 2020

Postgres – Installation

Local installation

Go here and download postgresql

Double click on the downloaded file to install postgresql

Postgresql with docker

Pull postgresql docker image

# pull latest image
docker pull postgres

# pull a specific version
docker pull postgres:12

Run postgres container

# run latest container
docker run --name postgres -e POSTGRES_PASSWORD=test -d postgres

# run container even if it dies.
docker run --name postgres --restart unless-stopped -p 5432:5432 -e POSTGRES_PASSWORD=test -v /Users/folaukaveinga/Software/postgres/data:/var/lib/postgresql/data -d postgres

Now that you have postgresql installed, it’s time to connect it to an IDE and play around with it. The IDE that most people are using is pgadmin. It is a very nice interface to work with.

February 19, 2020

Postgres – Introduction

PostgreSQL is an advanced, enterprise-class, and open-source relational database system. PostgreSQL supports both SQL (relational) and JSON (non-relational) querying.

PostgreSQL is a highly stable database backed by more than 20 years of development by the open-source community. PostgreSQL development is performed by a team of mostly volunteer developers spread throughout the world and communicating via the Internet. It is a community project and is not controlled by any company. PostgreSQL is used as a primary database for many web applications as well as mobile and analytics applications.

Use cases of PostgreSQL

  • LAPP stack – LAPP stands for Linux, Apache, PostgreSQL, and PHP (or Python and Perl). PostgreSQL is primarily used as a robust back-end database that powers many dynamic websites and web applications.
  • Transaction – Large corporations and startups alike use PostgreSQL as primary databases to support their applications and products.
  • PostgreSQL with the PostGIS extension supports geospatial databases for geographic information systems (GIS).

Who is using PostgreSQL?

Companies like Apple, Fujitsu, Red Hat, Cisco, Juniper Network, Instagram, etc are using postgresql.

 

February 19, 2020

Hasura – Installation

Local Installation

Hasura depends on Postgresql so make sure you have Postgresql installed on your local computer.

Run locally with existing Postgresql

Hasura with docker

# pull latest image
docker pull hasura/graphql-engine:latest

# run in container
docker run -d -p 8080:8080 \
  -e HASURA_GRAPHQL_DATABASE_URL=postgres://<username>:<password>@hostname:<port>/<dbname> \
  -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
  hasura/graphql-engine:latest

Hasura with docker compose

version: '3.6'
services:
  postgres:
    image: postgres:12
    restart: always
    volumes:
    - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: postgrespassword
  graphql-engine:
    image: hasura/graphql-engine:v1.3.3
    ports:
    - "8080:8080"
    depends_on:
    - "postgres"
    restart: always
    environment:
      HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres
      ## enable the console served by server
      HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console
      ## enable debugging mode. It is recommended to disable this in production
      HASURA_GRAPHQL_DEV_MODE: "true"
      HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
      ## uncomment next line to set an admin secret
      # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
  db_data:

 

Hasura in aws ecs

 

 

 

February 18, 2020