Hasura

Watch Outs Link to heading

  • Lack of observability (in the self-hosted open source plan)
  • GraphQL apps leads to to spread business logic in the frontend
  • Security concerns of exposing a database directly via GraphQL
  • Hasura migrations does NOT run in a transaction by default. If a migration file with multiple SQL statements fails, the applied statements are NOT rolled back. For example:
    -- migrations/default/1715938531000_my_custom_migration/up.sql
    CREATE TABLE users (
      id serial PRIMARY KEY,
      name text NOT NULL
    );
    
    -- For some reason, this migration fails in the posts table creation
    CREATE TABLE posts (
      id serial PRIMARY KEY,
      title text NOT NULL,
      author_id integer NOT NULL REFERENCES users(id)
    );
    
    If you retry the migration, it will fail because the users table already exists.