Μεταξύ όλων των διαθέσιμων μηχανών βάσεων δεδομένων, PostgreSQL είναι μία από τις πιο δημοφιλείς. Είναι ένα πολύ γνωστό σύστημα βάσεων δεδομένων ανοιχτού κώδικα, γνωστό για την αξιοπιστία, τα ισχυρά χαρακτηριστικά και την απόδοσή του. Επειδή η PostgreSQL είναι μια δημοφιλής επιλογή, υποστηρίζεται από σχεδόν όλα τα μεγάλα web frameworks. Παρόμοια με τους ανταγωνιστές της MySQL και SQLite, η PostgreSQL έχει επίσης τα δυνατά και τα αδύνατα σημεία της.
Ruby on Rails είναι ένα δημοφιλές web framework γραμμένο σε Ruby. Είναι ένα framework ανεξάρτητο από βάσεις δεδομένων, που σημαίνει ότι μπορεί να λειτουργήσει με μια μεγάλη ποικιλία βάσεων δεδομένων. Από προεπιλογή, το Rails προϋποθέτει SQL για τις λειτουργίες της βάσης δεδομένων. Ωστόσο, υποστηρίζει επίσης την ενσωμάτωση της PostgreSQL.
Αυτός ο οδηγός θα σας καθοδηγήσει στη διαδικασία ρύθμισης της PostgreSQL για την εφαρμογή σας Ruby on Rails.
Ruby on Rails and PostgreSQL
Τόσο η PostgreSQL όσο και το Ruby on Rails είναι διαθέσιμα σε οποιαδήποτε διανομή UNIX/Linux. Θα πρέπει να είναι διαθέσιμα από τους προεπιλεγμένους διακομιστές πακέτων.
Μια εναλλακτική μέθοδος είναι η χρήση του RVM (Ruby Version Manager). Είναι ένα εξειδικευμένο εργαλείο για τη διαχείριση των εγκαταστάσεων 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 για να εγκαταστήσουμε πρόσθετα στοιχεία. Εγκαταστήστε το framework Rails χρησιμοποιώντας το RVM:
|
1 |
gem install rails |
-
Εγκατάσταση της PostgreSQL
Το επόμενο βήμα απαιτεί να έχετε προεγκατεστημένη την PostgreSQL στο σύστημα. Από προεπιλογή, ο ευκολότερος τρόπος εγκατάστασης της PostgreSQL είναι η χρήση του προεπιλεμμένου διαχειριστή πακέτων. Είναι διαθέσιμος για όλες τις μεγάλες διανομές Linux. Δείτε τη PostgreSQL download page για όλες τις διαθέσιμες μεθόδους εγκατάστασης. Σε 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 |

To enable PostgreSQL support, we need to install the pg gem. Επιτρέπει τη διασύνδεση με την PostgreSQL από κώδικα Ruby:
|
1 |
gem install pg |
-
Ρύθμιση της PostgreSQL
Μετά την εγκατάσταση, θα ρυθμίσουμε τα εργαλεία που θα χρειαστεί να χρησιμοποιήσουμε για τα έργα μας. Αρχικά, μεταβείτε στον χρήστη της PostgreSQL:
|
1 |
su - postgres |
Αποκτήστε πρόσβαση στο κέλυφος (shell) της PostgreSQL:
|
1 |
psql |

Στο πλαίσιο της PostgreSQL, θα δημιουργήσουμε τώρα έναν νέο ρόλο (κλασικά γνωστό ως χρήστης). Η 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 πίνακες. Ο πίνακας είναι απαραίτητος για τη μεταφορά δεδομένων και σχήματος:
|
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 για τις λειτουργίες της.
Καλό προγραμματισμό!


Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.