كيفية إعداد Ruby on Rails مع Postgres

الحالة: مهجور

هذه المقالة قديمة ولم يعد يتم صيانتها.

السبب

نقدم الآن دروسًا حديثة لاستخدام Rails مع Postgres مصممة للمنصات الفردية.

انظر بدلاً من ذلك

قد تكون هذه المقالة ما زالت مفيدة كمرجع، ولكن قد لا تعمل أو تتبع أفضل الممارسات. نوصي بشدة باستخدام مقال حديث يتم كتابته لنظام التشغيل الذي تستخدمه.

المقدمة


Postgres (أو PostgreSQL) هو قاعدة بيانات مفتوحة المصدر. Ruby on Rails هو إطار عمل ويب مفتوح المصدر مكتوب بلغة Ruby. يعتبر Rails غير متعلق بقاعدة البيانات، مما يعني أنه يمكن استخدامه مع مجموعة متنوعة من قواعد البيانات المختلفة. عند الافتراض، يفترض أن MySQL هو القاعدة التي يتم استخدامها، ولكن من السهل جدًا استخدام Postgres بدلاً من ذلك.

ستقوم هذه الدليل بتوجيهك خطوة بخطوة خلال إنشاء تطبيق Rails يستخدم قاعدة بيانات Postgres. يمكنك اتباع الدليل على جهاز الكمبيوتر المحلي أو خادم خاص افتراضي (VPS).

تثبيت المتطلبات


تثبيت ريلز باستخدام RVM

أسهل طريقة لتثبيت ريلز هي باستخدام RVM، الذي يثبت أيضًا روبي. لتثبيت RVM، ستحتاج إلى التأكد من تثبيت نظامك لبرنامج curl (كيفية القيام بذلك يعتمد على نظام التشغيل الخاص بك). إذا كنت قد قمت بتثبيت RVM بالفعل، فتخطَ إلى القسم التالي.

يمكن لـ RVM تثبيت روبي وريلز تلقائيًا كجزء من عملية التثبيت الخاصة به. للقيام بذلك، قم بتشغيل هذا الأمر:

\curl -L https://get.rvm.io | bash -s stable --rails

ملاحظة: يجب عليك مراجعة سكربت تثبيت RVM قبل تشغيله (أو أي سكربت آخر عن بُعد تنقله إلى bash).

سيقوم RVM بتثبيت نفسه على نظامك. يمكنك الآن استخدامه لإدارة إصدارات روبي الخاصة بك. هذا مفيد حيث قد تحتاج إلى إصدارات مختلفة من روبي لمشاريع مختلفة. كما قام RVM بتثبيت جوهرة ريلز لنا أيضًا.

تثبيت ريلز باستخدام RubyGems

إذا كان لديك RVM مثبت بالفعل، فليس عليك إعادة تثبيته. بدلاً من ذلك، يمكنك ببساطة تثبيت ريلز عن طريق تثبيت الجوهرة:

gem install rails

سيقوم هذا بتثبيت ريلز وأي جواهر أخرى يتطلبها.

تثبيت برنامج Postgres

طريقة تثبيت Postgres تعتمد على نظام التشغيل الخاص بك. انظر postgresql.org/download للحصول على قائمة كاملة. عمومًا، من الأسهل استخدام مدير الحزم مثل apt-get على Ubuntu أو Homebrew على OS X.

إذا كنت تقوم بتثبيت Postgres على جهاز محلي، قد ترغب أيضًا في تثبيت واجهة رسومية (على الرغم من أن هذا الدليل يفترض استخدام سطر الأوامر). pgAdmin ليست أجمل أداة في العالم، ولكنها تقوم بالعمل.

وأخيرًا، سترغب في تثبيت حزمة pg لتتمكن من التفاعل مع Postgres من خلال رمز Ruby. للقيام بذلك:

gem install pg

إعداد Postgres


أنشئ مستخدم Postgres لتطبيق Rails الذي سنقوم بإنشائه في الخطوة التالية. للقيام بذلك، قم بالتبديل إلى مستخدم Postgres:

su - postgres

بعد ذلك، ادخل إلى Postgres:

psql

ثم قم بإنشاء مستخدم (أو “دور”، كما يطلق عليه Postgres):

create role myapp with createdb login password 'password1';

إنشاء تطبيق Rails الخاص بك


لإنشاء تطبيق Rails مضبوط لـ Postgres، قم بتشغيل هذا الأمر:

rails new myapp --database=postgresql

ينشئ هذا الأمر دليلاً يسمى “myapp” الذي يضم تطبيقًا يسمى “myapp” (يمكنك تسميته بأي اسم تريده عند تشغيل الأمر). يتوقع Rails أن يتطابق اسم مستخدم قاعدة البيانات مع اسم التطبيق، لكن يمكنك تغيير ذلك بسهولة إذا كان ذلك ضروريًا.

سنقوم الآن بتكوين قاعدة البيانات التي سيتحدث إليها Rails. يتم ذلك باستخدام ملف database.yml الموجود في:

RAILS_ROOT/config/database.yml

ملاحظة: RAILS_ROOT هو دليل جذر Rails. في المثال أعلاه، سيكون في /myapp (نسبياً لموقعك الحالي).

يستخدم ملف database.yml من قبل Rails للاتصال بقاعدة البيانات المناسبة لبيئة Rails الحالية. يستخدم YAML، معيار تسلسل البيانات. يتم سرد عدة قواعد بيانات هنا لبيئات مختلفة؛ تطوير، اختبار، وإنتاج. بشكل افتراضي، سيتوقع Rails قاعدة بيانات مختلفة لكل بيئة. هذا مفيد لأن قاعدة البيانات للاختبار، على سبيل المثال، يتم تفريغها وإعادة بناؤها في كل مرة تقوم فيها بتشغيل اختبارات Rails. لكل قاعدة بيانات، تأكد من أن اسم المستخدم وكلمة المرور تتطابق مع اسم المستخدم وكلمة المرور التي قمت بتحديدها لمستخدم Postgres الخاص بك.

بمجرد التكوين، يجب أن يحتوي ملف database.yml الخاص بك على شيء مثل هذا:

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  pool: 5
  username: myapp
  password: password1

test:
  adapter: postgresql
  encoding: unicode
  database: myapp_test
  pool: 5
  username: myapp
  password: password1

يمكنك بعد ذلك تشغيل:

rake db:setup

سيقوم هذا بإنشاء قواعد بيانات للتطوير والاختبار، وتعيين مالكيها إلى المستخدم المحدد، وإنشاء جداول “schema_migrations” في كل منها. تستخدم هذه الجداول لتسجيل الترحيلات إلى النطاقات والبيانات الخاصة بك.

تشغيل ريلز


يجب أن تكون قادرًا على تشغيل تطبيق ريلز الخاص بك الآن:

rails server

إذا انتقلت إلى localhost:3000 يجب أن ترى صفحة هبوط ريلز. لا تفعل الكثير على الرغم من ذلك. للتفاعل مع قاعدة البيانات الخاصة بنا، دعونا ننشئ هيكلًا:

rails g scaffold Post title:string body:text
rake db:migrate

الآن انتقل إلى localhost:3000/posts. من هنا، يمكنك إنشاء مشاركات جديدة، تحرير المشاركات الحالية، وحذف المشاركات. انظر إلى دليل بدء العمل مع ريلز للمزيد من العمليات التمهيدية.

تطبيق ريلز الخاص بك يتحدث الآن مع قاعدة بيانات Postgres!

Source:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ruby-on-rails-with-postgres