Hasura
Hasura یک ابزار متنباز است که میتواند بهشکل Real-time و آنی برای دیتابیسهایتان GraphQL API تولید کند. به کمک هاسورا میتوانید با استفاده از GraphQL دادههایتان را مدیریت کنید و روی آنها Query اجرا کنید. GraphQL یک زبان کوئری مدرن است که با ارایهی تنها یک Endpoint میتواند از چند منبع، دادههایی را که میخواهید دریافت کند. با این روش فقط دادههایی که درخواست آن را دارید دریافت میشوند؛ نه بیش از آن.
Hasura ساخت برنامههای مقیاسپذیر و منعطف را با ایحاد یک لایهی GraphQL API میان منابع دادهی مختلف و اپلیکیشن آسان میکند. از دیگر ویژگیهای کاربردی Hasura میتوان به بهروزرسانیهای آنی، کوئریهای پیچیده و یکپارچگی با ابزارهای احراز هویت اشاره کرد.
استقرار با یک کلیک
به کمک اپلیکیشنهای آمادهی کانتینر ابری آروان راهاندازی Hasura تنها با یک کلیک امکانپذیر است.
هنگام ساخت اپلیکیشن آمادهی Hasura بهشکل خودکار یک دیتابیس PostgreSQL برای ذخیرهی متادیتای Hasura و دادههای اپلیکیشنتان ایجاد میشود. با این حال شما میتوانید از دیتابیس دیگری برای دادههای اپلیکیشنتان استفاده کنید.
توجه داشته باشید که با اتصال اپ به دیتابیس دیگر، همچنان برای ذخیرهی متادیتای Hasura نیاز به یک دیتابیس وجود دارد که در فرآیند استقرار آن یک PostgreSQL ایجاد میشود.
استفاده از Hasura
پس از استقرار اپلیکیشن بر بستر کانتینر ابری آروان، میتوانید از طریق دامنهی رایگان آروان یا دامنهی شخصیتان (اگر آن را روی این اپلیکیشن تنظیم کردهاید) به Hasura دسترسی داشته باشید.
ساخت جدول
بهکمک Hasura میتوانید در کنسول این اپ یا با استفاده از GraphQL Schema جدولها و روابطشان را تعریف کنید.
برای نمونه، دو جدول برای Schemaهای مقاله و نویسنده میسازیم:
author (
id SERIAL PRIMARY KEY,
name TEXT
)
articles (
id SERIAL PRIMARY KEY,
title TEXT,
content TEXT,
rating INT,
author_id INT
)
برای این کار، از پنل هاسورا وارد منوی "Data" میشویم و روی "Create Table" کلیک میکنیم. پس از وارد کردن اطلاعات ستونها با کلیک روی "Add Table" آن را ذخیره میکنیم.
اضافه کردن داده
پس از ساخت یک جدول میتوانید، دادههایتان را به آن اضافه کنید. برای این کار، از بخش "Data" وارد جدول مورد نظرتان شوید و در تب "Insert Row" دادههایتان را اضافه کنید.
اجرای Queryها
اکنون که یک جدول ساختهاید و دادههای نمونه را در آن وارد کردهاید، میتوانید Queryهای سادهی GraphQL را از بخش "API" در پنل هاسورا اجرا کنید.
برای نمونه، Query زیر همهی ردیفهای دیتابیس "articles" را نمایش میدهد:
query {
articles {
id
title
author_id
}
}
برای آشنایی با جزییات بیشتر این اپلیکیشن میتوانید از مستندات Hasura کمک بگیرید.