כיצד להגדיר Ruby on Rails עם Postgres

סטטוס: מופרך

מאמר זה אינו נתמך עוד ולא נתחזק.

סיבה

אנו מספקים כעת מדריכים מעודכנים לשימוש ב־Rails עם Postgres שמותאמים לפלטפורמות אישיות.

ראה במקום זאת

מאמר זה עדיין עשוי להיות שימושי כמקור הפניה, אך יתכן כי הוא לא יעבוד או יתאים לכללי השימוש הטובים ביותר. אנו ממליצים בחום על שימוש במאמר עדכני שנכתב עבור מערכת ההפעלה שאתה משתמש בה.

הקדמה


Postgres (או PostgreSQL) הוא מסד נתונים קוד פתוח. Ruby on Rails הוא מסגרת עבודה רשת קוד פתוח שנכתבה ב־Ruby. Rails היא לא תלויה ב־מסד הנתונים, מה שאומר שניתן להשתמש בה עם מגוון של מסדי נתונים שונים. כברירת מחדל היא מניחה שנעשה שימוש ב־MySQL, אך זה די פשוט להשתמש ב־Postgres במקום.

מדריך זה ישלב אותך ביצירת אפליקציה ב־Rails שמשתמשת במסד נתונים של Postgres. תוכל לעקוב אחר המדריך על המחשב המקומי שלך או בשרת VPS.

התקנת הדרישות


התקנת Rails באמצעות RVM

הדרך הקלה ביותר להתקין את Rails היא באמצעות RVM, שגם מתקין את Ruby. כדי להתקין את RVM יהיה עליך לוודא שיש במערכת שלך curl מותקן (איך אתה עושה זאת תלוי במערכת ההפעלה שלך). אם כבר יש לך RVM מותקן, עבור לקטע הבא.

RVM יכול להתקין את Ruby ואת Rails באופן אוטומטי כחלק מההתקנה שלו. כדי לעשות זאת, הרץ את הפקודה הזו:

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

הערה: עליך לבדוק את סקריפט ההתקנה של RVM לפני הרצתו (או כל סקריפט רחוק אחר שאתה מפעיל באמצעות bash).

RVM יתקין את עצמו במערכת שלך. עכשיו תוכל להשתמש בו כדי לנהל את גרסאות ה-Ruby שלך. זה מועיל מאחר וייתכן שתצטרך גרסאות שונות של Ruby לפרויקטים שונים. RVM גם התקין לנו את אבן ה-Rails.

התקנת Rails באמצעות RubyGems

אם כבר יש לך את RVM מותקן, אין צורך להתקין אותו מחדש. במקום זאת, תוכל פשוט להתקין את Rails על ידי התקנת הג'ם הבא:

gem install rails

זה יתקין את Rails וכל הג'מים הנדרשים לו.

התקנת Postgres

שיטת ההתקנה של Postgres תלויה במערכת ההפעלה שלך. ראה את postgresql.org/download עבור רשימה מלאה. כללית זה הכי פשוט להשתמש במנהל חבילות כגון apt-get על Ubuntu או Homebrew על OS X.

אם אתה מתקין Postgres על מחשב מקומי, ייתכן ותרצה גם להתקין ממשק משתמש גרפי (אף על פי שמדריך זה מניח שימוש בשורת פקודה). pgAdmin לא הכלי היפה ביותר בעולם, אך הוא עושה את העבודה.

לבסוף, תרצה להתקין את חבילת ה-gem של 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" בכל אחת מהם. טבלה זו משמשת לרשום את ה־migrations שלכם לסכמות ולנתונים.

הרצת Rails


עכשיו תוכל להתחיל את האפליקציה שלך ב־Rails:

rails server

אם תנווט אל localhost:3000 תראה דף נחיתה של Rails. זה לא ממש עושה הרבה עכשיו. כדי לשלוט בבסיס הנתונים שלנו, בואו ניצור תשתית:

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

עכשיו נווטו אל localhost:3000/posts. מכאן, תוכלו ליצור פוסטים חדשים, לערוך פוסטים קיימים ולמחוק פוסטים. ראה את מדריך ההתחלה של Rails לפעולות נוספות להקנייה.

האפליקציה שלך ב־Rails מדברת כעת עם בסיס הנתונים של Postgres!

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