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.
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
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.
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
Who is using PostgreSQL?
Companies like Apple, Fujitsu, Red Hat, Cisco, Juniper Network, Instagram, etc are using postgresql.
Local Installation
Hasura depends on Postgresql so make sure you have Postgresql installed on your local computer.
Run locally with existing Postgresql
# 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
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