Awesome Caderno Sql
PLpgSQL

Awesome Caderno Sql

psql से खेला जाने वाला एक टेक्स्ट आरपीजी, जिसमें खेल के नियम PostgreSQL ट्रिगर्स और plpgsql फ़ंक्शंस के रूप में लागू किए गए हैं।

GitHub|

psql के लिए एक टेक्स्ट RPG जहाँ खिलाड़ी एक INSERT से एक पात्र बनाते हैं और एक ट्रिगर परिचय सुनाता है। खेल के नियम plpgsql में लिखे गए हैं और स्कीमा Flyway माइग्रेशन के साथ वर्ज़न किया गया है।

अवलोकन

यह खेल एक PostgreSQL स्कीमा है जिसका उपयोग खिलाड़ी psql से करते हैं। उनके SQL स्टेटमेंट कहानी को आगे बढ़ाते हैं, और डेटाबेस नोटिस के साथ जवाब देता है।

आवश्यकताएँ

  • Docker
  • psql
  • make

त्वरित शुरुआत

make setup   # starts Postgres 17 and runs the Flyway migrations
make run     # opens psql as the rpg user

इसके बाद खिलाड़ी उपलब्ध रेस और क्लास पढ़ते हैं और एक पात्र इन्सर्ट करते हैं।

SELECT * FROM races;
SELECT * FROM classes;

INSERT INTO character_info (name, description, class, race, gender)
VALUES ('Aria', 'Uma maga curiosa', 2, 1, 'feminino');

जो खिलाड़ी तैयार पात्र चाहते हैं वे टेम्पलेट्स से एक कॉपी कर सकते हैं। use_template फ़ंक्शन एक टेम्पलेट id लेता है और उस पात्र को character_info में इन्सर्ट करता है।

SELECT * FROM char_templates;
SELECT use_template(1);

कमांड

  • make up लोकलहोस्ट पोर्ट 5433 पर Postgres कंटेनर शुरू करता है।
  • make migrate Flyway के साथ डीबग मोड में लंबित माइग्रेशन लागू करता है।
  • make down कंटेनर हटाता है और डेटा रखता है।
  • make wipe कंटेनर और डेटा वॉल्यूम हटाता है।

प्रोजेक्ट लेआउट

  • migrations में वर्ज़न किया गया SQL है, और प्रत्येक फ़ाइल में खेल के एक हिस्से के लिए टेबल, टाइप और फ़ंक्शन हैं। फ़ाइल का नाम बताता है कि कौन सा हिस्सा है, जैसे V1__races.sql।
  • scripts में make टारगेट्स के पीछे के शेल हेल्पर्स हैं।
  • flyway.conf में लोकल डेटाबेस के लिए Flyway कनेक्शन सेटिंग्स हैं।

उद्देश्य

यह प्रोजेक्ट PostgreSQL का अभ्यास करने का एक तरीका है। यह ट्रिगर्स, इवेंट ट्रिगर्स, रोल्स और अनुमतियाँ, एनम्स, कम्पोज़िट टाइप्स और सेट रिटर्निंग फ़ंक्शन्स का उपयोग करता है।

लाइसेंस

कोड Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है, और LICENSE फ़ाइल में पूरा पाठ है। वह लाइसेंस कोड को कवर करता है और कुछ और नहीं।

कहानी एक अलग कृति है। इसका मतलब है Nexus की दुनिया, उसके राष्ट्र, पात्र, इतिहास और लोर, और खेल में सभी कथात्मक पाठ जैसे प्रिंट किए गए संदेश और गुट विवरण। कहानी Copyright (c) 2014-2026 lyszt, सर्वाधिकार सुरक्षित है। आप इसे पढ़ सकते हैं और खेल खेल सकते हैं, लेकिन लिखित अनुमति के बिना कहानी को कॉपी, अनुकूलित या प्रकाशित नहीं कर सकते। NOTICE फ़ाइल उन सभी के लिए इस नियम को दोहराती है जो कोड को पुनर्वितरित करते हैं।