عن المشروع
# مطالبة ChatGPT لكتابة SQL
تولّد هذه الأداة مطالبات لكتابة استعلامات SQL باستخدام نماذج لغوية كبيرة مثل ChatGPT. عند إعطائها رابط قاعدة بيانات واسم جدول، تُنشئ مطالبة جاهزة للنسخ واللصق تحتوي على:
- **لقطة بنية الجدول**: الأعمدة والأنواع وتنظيم الجدول.
- **صفوف عيّنة**: عبارات INSERT توضّح البيانات في الجدول.
- **تعليقات الجدول والحقول**: تُضمَّن أي تعليقات على الجداول أو الأعمدة.
## الاستخدام
التثبيت عبر pip:
```shell
pip install llm-sql-prompt
```
الاستخدام الأساسي:
```shell
Usage: llm-sql-prompt [OPTIONS] DATABASE_URL [TABLE_NAME]
Options:
--help Show this message and exit.
```
توليد مطالبة من قاعدة بيانات Postgres:
```shell
llm-sql-prompt postgresql://postgres:postgres@localhost:5555/database_name table_name | pbcopy
llm-sql-prompt $DATABASE_URL
```
من قاعدة بيانات SQLite محلية:
```shell
llm-sql-prompt "$HOME/Library/Application Support/BeeperTexts/index.db" --all
```
## تطوير CLI محلياً
شغّل `just install_editable` لتثبيت نسخة المستودع عالمياً في الوضع القابل للتحرير، بحيث تنعكس تغييرات المصدر دون إعادة التثبيت. يتطلب ذلك `uv` و`just` و`zsh` و`jq`. إذا كان mise متاحاً، فإن الوصفة تحدّث أيضاً كل بيئة `pipx:llm-sql-prompt` مثبّتة كي يتمكن mise من استخدام نسخة المستودع المحلية. أعد التشغيل بعد ترقيات mise، التي تستبدل تلك التثبيتات القابلة للتحرير.
### النفق إلى منفذ بعيد
للعمل مع قاعدة بيانات إنتاجية عبر نفق SSH، يوفّر README دوال shell (`find_random_open_port` و`ssh-tunnel`) لتبسيط العملية.
## TODO
- [x] دعم Postgres
- [x] نقطة دخول واحدة
- [x] استخدام تعليقات قاعدة البيانات على الأعمدة والجداول
- [x] جداول متعددة
- [ ] ضبط المطالبة
- [ ] فهم حدود حجم المطالبة وسجلات العيّنة حتى تناسب إحداها
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.