اذهب إلى المحتوى

السؤال

نشر

عند إنشاء مشروع جديد في ريلز بالأمر:

rails new project

يَستعمل التطبيق قاعدة البيانات sqlite3 بشكل افتراضي. لكنّ موقع Heroku الخاص بنشر تطبيقات ريلز يعمل بقواعد البيانات Postgresql. فكيف يُمكنني أن أستعمل هذا النوع من قواعد البيانات مع تطبيق ريلز الخاص بي؟

Recommended Posts

  • 0
نشر

أولاً ثبّت Postgresql :

حدّث قائمة الحزم:

sudo apt-get update

ثبّت Postgresql والحزم التي تعتمد عليها:

sudo apt-get install postgresql postgresql-contrib libpq-dev

أنشئ مستخدما لقاعدة البيانات:

sudo -u postgres createuser -s pguser

استبدل pguser بأي اسم تريده على شرط أن تتذكّره.

إذا أردت أن تؤمّن قاعدة البيانات بكلمة سر فطبق الأمر التالي:

sudo -u postgres psql

ثم الأمر:

\password pguser

عند الانتهاء من كتابة كلمة المرور وتأكيدها، يُمكنك الخروج بالأمر :

\q

 


تثبيت جوهرة (gem) pg :

gem install pg

إنشاء مشروع ريلز:

rails new اسم_المشروع -d postgresql

ادخل إلى مجلّد التطبيق ثم افتح الملف config/database.yml
وضع هذه الأسطر تحت السطر "pool: 5” 

host: localhost
  username: اسم_المستخدم
  password: كلمةالمرور


أنشئ قاعدة البيانات باسم التطبيق:
إذا قمت بالخروج من سطر الأوامر بالأمر \q فأعد الدخول بالأمر:

 sudo -u postgres psql

ارفع من صلاحيّات المُستخدم:

alter user pguser superuser;

أنشئ كلا من قواعد البيانات الخاصة ببيئة الاختبار وبيئة التطوير:

create database اسم_المشروع_development;
create database اسم_المشروع_test;

وآخر خطوة هي إعطاء صلاحيات للمستخدم لاستعمال قاعدة البيانات:

grant all privileges on database اسم_المشروع_development to pguser;
grant all privileges on database اسم_المشروع_test to pguser;

يُمكنك الآن إنشاء قواعد البيانات للتطبيق باستخدام الأمر:

rake db:create

إذا واجهت أي مشاكل تأكد أنّ خدمة postgresql قيد التشغيل:

sudo service postgresql start

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...