من بين جميع محركات قواعد البيانات المتاحة، PostgreSQL هو أحد أكثرها شعبية. إنه نظام قواعد بيانات مفتوح المصدر معروف بموثوقيته وميزاته القوية وأدائه. ونظرًا لأن PostgreSQL خيار شائع، فهو مدعوم من قِبل جميع إطارات عمل الويب الرئيسية تقريبًا. وعلى غرار منافسيه MySQL و SQLite، تمتلك PostgreSQL أيضًا نقاط قوة وضعف.
Ruby on Rails هو إطار عمل ويب شائع مكتوب بلغة Ruby. وهو إطار عمل مستقل عن قاعدة البيانات، مما يعني أنه يمكنه العمل مع مجموعة واسعة من قواعد البيانات. بشكل افتراضي، يفترض Rails استخدام SQL لوظائف قاعدة البيانات. ومع ذلك، فإنه يدعم أيضًا التكامل مع PostgreSQL.
سيرشدك هذا البرنامج التعليمي خلال عملية تكوين PostgreSQL لتطبيق Ruby on Rails الخاص بك.
Ruby on Rails و PostgreSQL
يتوفر كل من PostgreSQL و Ruby on Rails على أي توزيعة UNIX/Linux. ويجب أن يكونا متاحين من خوادم الحزم الافتراضية.
هناك طريقة بديلة وهي استخدام RVM (مدير إصدارات Ruby). وهي أداة مخصصة لإدارة عمليات تثبيت Ruby on Rails. وتتمثل فائدة هذا النهج في أن RVM سيقوم بإنشاء تثبيت محلي لـ Ruby on Rails. ويمكنه أيضًا إدارة إصدارات متعددة من Ruby والتبديل بينها بسلاسة. إليك برنامج تعليمي يوضح بالتفصيل خطوات تثبيت Ruby on Rails باستخدام RVM على Ubuntu.
أما بالنسبة لـ PostgreSQL، فقم بإلقاء نظرة على هذا الدليل السريع حول تثبيت وتكوين PostgreSQL على Ubuntu.
-
تثبيت RVM
عملية تثبيت RVM مباشرة للغاية، بفضل برنامج التثبيت النصي الذي يقدمه RVM. تم تصميم البرنامج النصي لاكتشاف نظام Linux تلقائيًا، ثم تنزيل وتثبيت جميع الحزم اللازمة. نحتاج إلى مفاتيح RVM GPG للتحقق من الحزم. يضمن ذلك عدم تزوير الحزم المستلمة. أولاً، أضف مفاتيح RVM GPG:
|
1 |
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |

ثم، قم بتشغيل برنامج تثبيت RVM النصي:
|
1 |
curl -sSL https://get.rvm.io | bash -s stable --rails |

أخيرًا، تحقق من التثبيت:
|
1 |
type rvm | head -n 1 |
-
تثبيت Rails
يمكننا الآن استخدام RVM لتثبيت مكونات إضافية. قم بتثبيت إطار عمل Rails باستخدام RVM:
|
1 |
gem install rails |
-
تثبيت PostgreSQL
تتطلب الخطوة التالية تثبيت PostgreSQL مسبقًا على النظام. بشكل افتراضي، أسهل طريقة لتثبيت PostgreSQL هي استخدام مدير الحزم الافتراضي. وهو متاح لجميع توزيعات Linux الرئيسية. تحقق من صفحة تنزيل PostgreSQL لمعرفة جميع طرق التثبيت المتاحة. على Ubuntu، ستقوم الأوامر التالية بتكوين مستودع PostgreSQL وتثبيته على الفور:
|
1 |
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' |

|
1 |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - |

|
1 |
sudo apt update && sudo apt install postgresql -y |

لتمكين دعم PostgreSQL، نحتاج إلى تثبيت pg gem. وهي تتيح التفاعل مع PostgreSQL من كود Ruby:
|
1 |
gem install pg |
-
تكوين PostgreSQL
بعد التثبيت، سنقوم بتكوين الأدوات التي سنحتاج إلى استخدامها لمشاريعنا. أولاً، انتقل إلى مستخدم PostgreSQL:
|
1 |
su - postgres |
الوصول إلى غلاف (shell) PostgreSQL:
|
1 |
psql |

في سياق PostgreSQL، سنقوم الآن بإنشاء role جديد (المعروف كلاسيكيًا باسم المستخدم). تمتلك PostgreSQL تنسيقها الخاص لـ الأدوار والأذونات. لا تنسَ استخدام اسم مستخدم مناسب وكلمة مرور قوية:
|
1 |
create role <username> with createdb login password 'password123'; |
إنشاء تطبيق Rails
أخبر Rails بإنشاء تطبيق Rails جديد مهيأ لاستخدام PostgreSQL لقاعدة البيانات:
|
1 |
rails new <app_name> --database=postgresql |

سيؤدي هذا إلى إنشاء دليل جديد باسم مستخدم التطبيق. يتوقع Rails عمومًا أن يكون اسم مستخدم قاعدة البيانات واسم التطبيق متطابقين. الخطوة التالية هي تهيئة إعدادات قاعدة بيانات Rails. يقع ملف التهيئة في الموقع التالي:
|
1 |
RAILS_ROOT/config/database.yml |
الملف database.yml يحتوي على البيانات التي تصف قاعدة البيانات المناسبة لبيئة Rails الحالية. وكما يوحي اسم الملف، فإنه يستخدم YAML. YAML هو معيار تسلسل بيانات سهل القراءة للبشر لجميع لغات البرمجة.
بشكل افتراضي، يتوقع Rails قواعد بيانات مختلفة للبيئات المختلفة، على سبيل المثال، development, test، و production. وهو مفيد في مواقف مختلفة، على سبيل المثال، سيقوم Rails بإفراغ وإعادة بناء test قاعدة البيانات في كل مرة يتم فيها تشغيل اختبار Rails.
إليك عينة من database.yml التي تحتوي على قواعد بيانات development و test :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
development: adapter: postgresql encoding: unicode database: dummyapp_development pool: 5 username: dummyapp password: password123 test: adapter: postgresql encoding: unicode database: myapp_test pool: 5 username: dummyapp password: password123 |

حان الوقت الآن لتطبيق التغييرات. سيقوم الأمر التالي بإعداد قواعد البيانات اللازمة الموضحة في database.yml. سيكون لكل قاعدة بيانات مستخدموها الخاصون وبها جداول schema_migrations . الجدول ضروري لترحيل البيانات والمخطط (schema):
|
1 |
rake db:setup |
ستفشل هذه الخطوة إذا كان ملف تهيئة PostgreSQL pg_hba.conf يحتوي على تهيئات غير صحيحة. يقع الملف في الموقع التالي:
|
1 |
sudo cat /etc/postgresql/13/main/pg_hba.conf |
السطر التالي هو المستهدف. بدلاً من peer، يجب أن تكون طريقة المصادقة md5:
|
1 |
local all all peer |
قم بتغيير السطر:
|
1 |
local all all md5 |

لتطبيق التغييرات، يجب عليك إعادة تشغيل خدمة PostgreSQL:
|
1 |
sudo systemctl restart postgresql |
ثم، أعد تشغيل إعداد قاعدة البيانات:
|
1 |
rake db:setup |
تشغيل Rails
يتطلب تشغيل خادم Rails المكون الإضافي التالي. لاحظ أنه من أجل هذا، تحتاج إلى تثبيت Node.js (مع yarn):
|
1 |
rails webpacker:install |

يجب أن يكون تطبيق Rails الآن جاهزًا للإطلاق. ابدأ تشغيل خادم Rails:
|
1 |
rails server |

يجب أن يكون الخادم متاحًا من عنوان URL التالي. سينقلك إلى صفحة هبوط Rails:
|
1 |
http://localhost:3000 |
لجعل صفحة الهبوط أكثر إثارة، قم بإنشاء scaffold:
|
1 |
rails g scaffold Post title:string body:text |

|
1 |
rake db:migrate |
أخيرًا، ابدأ تشغيل الخادم وانتقل إلى عنوان URL مرة أخرى. يمكننا الآن إدارة المنشورات (إنشاء المنشورات وتعديلها وحذفها).
أفكار نهائية
هذا إعداد أساسي لـ Ruby on Rails مع PostgreSQL. هناك دليل بدء استخدام رسمي سيساعدك على الاستفادة بشكل أكبر من Rails. يستخدم التطبيق النموذجي الذي أنشأناه PostgreSQL. بهذه الطريقة، يمكنك إنشاء أي تطبيق يستخدم PostgreSQL لوظائفه.
حوسبة سعيدة!


التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.