Dies ist eine Zusammenfassung der Schritte zum Ändern der Datenbank eines neuen Projekts, das mit Ruby on Rails erstellt wurde.
Die Standarddatenbank für Ruby on Rails ist SQLite3 </ b>. Bei der Bereitstellung auf Heroku führt SQLite3 jedoch zu einem Fehler. </ b> Wenn Sie zum Zeitpunkt von "Rails New" zu PostgreSQL wechseln, können Sie sich die Mühe ersparen, Daten später zu migrieren.
Installieren Sie zuerst den "xcode", der für die Installation des "Homebrew" erforderlich ist.
xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Klicken Sie hier für die offizielle Seite: Homebrew
Sie können die neueste stabile Version herunterladen, indem Sie "postgresql" angeben.
brew install postgresql
Aktualisieren Sie .bash_profile
ECHO 'export PGDATA=/usr/local/var/postgres' >> .bash_profile
Laden Sie .bash_profile
neu
source ~/.bash_profile
Erstellen Sie einen Benutzer zum Verwalten der Datenbank.
createuser <username>
Aktualisieren Sie die Gemfile und ändern Sie die Beschreibung von SQLite3 in PostgreSQL.
Vorher ändern
Gemfile.rb
# Use sqlite3 as the database for Active Record
gem 'sqlite3', '~> 1.4'
Nach der veränderung
Gemfile.rb
# Use Postgres as the database for Active Record
gem 'pg'
Installieren Sie den Edelstein mit Bundle-Installation.
bundle install
app/config/database.yml
default: &default
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
development:
<<: *default
database: myapp_dev #Beliebiger Datenbankname
test:
<<: *default
database: myapp_sandbox #Beliebiger Datenbankname
production:
<<: *default
database: myapp_production #Beliebiger Datenbankname
username: <username> #Beliebiger Benutzername
password: request.env['DB_PASSWORD'] #Beliebiges Passwort
adapter: postgresql
encoding: unicode
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
Wenn Sie das Passwort so schreiben, wie es in database.yml
steht, wird das Passwort angezeigt, wenn Sie es mit Public auf GitHub aktualisieren.
Erstellen wir eine .env-Datei, um die Umgebungsvariablen zu verwalten.
Fügen Sie die .env-Datei zu .gitignore hinzu, um zu verhindern, dass sie auf GitHub hochgeladen wird.
.env
DB_PASSWORD = '<password>'
.gitignore
.env
bundle exec rails db:create
Wenn die folgende Meldung angezeigt wird, hat PostgreSQL die Datenbankerstellung abgeschlossen.
Created database 'myapp_dev'
Created database 'myapp_sandbox'
Recommended Posts