Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version jetzt bestellen
* versandkostenfrei in (D) und (A)
Pfeil 10 Datenbankzugriff mit ActiveRecord
  Pfeil 10.1 Einführung
  Pfeil 10.2 Eine ActiveRecord-Model-Klasse generieren
  Pfeil 10.3 Rake-Tasks zum Verwalten von Datenbanken
  Pfeil 10.4 Getter- und Setter-Methoden
  Pfeil 10.5 Erstellen, bearbeiten und löschen
  Pfeil 10.6 Suchen
  Pfeil 10.7 Datenbankschema und Migrations
  Pfeil 10.8 Migration-Skripte
  Pfeil 10.9 Migration-Befehle im Detail
  Pfeil 10.10 Assoziationen
  Pfeil 10.11 Validierung
  Pfeil 10.12 Statistische Berechnungen
  Pfeil 10.13 Callbacks
  Pfeil 10.14 Vererbung


Rheinwerk Computing - Zum Seitenanfang

10.3 Rake-Tasks zum Verwalten von Datenbanken  Zur nächsten ÜberschriftZur vorigen Überschrift

rake -T

Mit dem Befehl rake -T db erhalten Sie eine Liste sämtlicher Tasks, die mit Datenbanken zu tun haben. Im Folgenden werden sämtliche Rake-Tasks gruppiert nach Thema erläutert.


Rheinwerk Computing - Zum Seitenanfang

Erstellen und Löschen von Datenbanken  Zur nächsten ÜberschriftZur vorigen Überschrift

Erstellen und entfernen

Mit den folgenden Rake-Tasks können auf einfache Weise Datenbanken erstellt und entfernt werden.

  • rake db:create
    Erzeugt die Datenbank, die in config/database.yml für die aktuelle Umgebung definiert ist. Dies ist standardmäßig die Datenbank, die unter development vorgegeben ist. Die aktuelle Umgebung kann mit der Umgebungsvariablen RAILS_ENV festgelegt werden. Mit dem Befehl rake db:create RAILS_ENV=production kann z. B. die Produktions-Datenbank erstellt werden.
  • rake db:create:all
    Erzeugt lokal alle Datenbanken, die in config/database.yml definiert sind.
  • rake db:drop
    Löscht die Datenbank der aktuellen Umgebung.
  • rake db:drop:all
    Löscht alle lokalen Datenbanken, die in config/database.yml definiert sind.
  • rake db:reset
    Löscht die Datenbank der aktuellen Umgebung, erzeugt sie neu und erstellt alle Tabellen anhand der Schema-Datei (siehe Abschnitt 10.3.6). Dies ist sinnvoll, wenn Sie Ihre Datenbank neu initialisieren möchten.

Rheinwerk Computing - Zum Seitenanfang

Informationen über die Datenbanken  Zur nächsten ÜberschriftZur vorigen Überschrift

Zeichensatz und Sortierreihenfolge

Mit den folgenden Rake-Tasks kann man den verwendeten Zeichensatz und die Sortierreihenfolge abfragen.

  • rake db:charset
    Gibt den verwendeten Zeichensatz der Datenbank aus. Beispiel: utf8.
  • rake db:collation
    Gibt die verwendete Kollation der Datenbank aus. Die Kollation gibt an, wie sortiert werden soll, z. B., ob der Buchstabe Ö nach dem O sortiert wird. Beispiel: utf8_general_ci

Rheinwerk Computing - Zum Seitenanfang

Migrations  Zur nächsten ÜberschriftZur vorigen Überschrift

Die folgenden Rake-Tasks verwalten die Migrations.

  • rake db:migrate
    Führt die Migration-Skripte im Ordner db/migrate aus und ändert die Datenbankstruktur entsprechend. Durch Angabe einer bestimmten Migration über den optionalen Parameter VERSION=x kann man die Datenbank auf den Stand dieser Version bringen. Nach der Ausführung des Tasks wird automatisch der Rake-Task db:schema:dump ausgeführt, um die Schema-Datei erneut zu erstellen (siehe Abschnitt 10.3.6). Der Task rake db:migrate sollte nicht verwendet werden, wenn Sie z. B. auf einem anderen System mit einer leeren Datenbank alle Tabellen herstellen wollen, da dies nicht nur länger dauert, sondern gegebenenfalls auch zu Konflikten führen kann. Verwenden Sie in diesem Fall entweder rake db:reset oder rake db:schema:load, um alle Tabellen zu generieren.
  • rake db:rollback
    Die letzte Migration wird rückgängig gemacht. Die Anzahl der Versionen, um die zurückgegangen werden soll, kann über STEP=n angegeben werden. Im Gegensatz zum Task rake db:migrate wird die Schema-Datei nicht erneut generiert.
  • rake db:migrate:redo
    Die letzteMigration wird rückgängig gemacht (Rollback) und anschließend wieder ausgeführt. Die Anzahl der Versionen, um die zurückgegangen werden soll, kann über STEP=n angegeben werden.
  • rake db:migrate:reset
    Die Datenbank wird gelöscht, dann wieder erstellt, und alle Migrations werden ausgeführt.
  • rake db:abort_if_pending_migrations
    Zeigt an, welche Migrations noch nicht mit rake db:migrate ausgeführt wurden. Beispiel:
    You have 1 pending migrations:
         1 CreateProducts
  • rake db:version
    Gibt an, welche Schema-Version die aktuelle Datenbank hat. Angenommen, die Ausgabe des Befehl ist 3, so bedeutet dies, dass die ersten 3 Migrations ausgeführt wurden.


Rheinwerk Computing - Zum Seitenanfang

Fixtures  Zur nächsten ÜberschriftZur vorigen Überschrift

Fixtures sind Test-Daten für die Models und befinden sich im Ordner test/fixtures .Mehr Informationen zu Fixtures siehe Kapitel 6.

  • rake db:fixtures:load
    Lädt die Fixtures in die aktuelle Datenbank der Entwicklungsumgebung. Wird der optionale Parameter FIXTURES=x,y gesetzt, werden nur diese Fixtures geladen.
  • rake db:fixtures:identify
    Sucht nach einem Fixture mit einem Label oder einer ID.

Rheinwerk Computing - Zum Seitenanfang

Testdatenbank  Zur nächsten ÜberschriftZur vorigen Überschrift

In der Testdatenbank werden die Tests, die im Verzeichnis test defniert sind, ausgeführt. Siehe Kapitel 6.

  • rake db:test:clone
    Erstellt die Datenbank der Testumgebung anhand des aktuellen Datenbankschemas der Entwicklungsumgebung neu.
  • rake db:test:clone_structure
    Erstellt die Datenbank der Testumgebung anhand der aktuellen Struktur der Entwicklungsumgebung neu.
  • rake db:test:prepare
    Erstellt die Testdatenbank und lädt das Schema.
  • rake db:test:purge
    Leert die Testdatenbank.

Rheinwerk Computing - Zum Seitenanfang

Schema-Dateien  Zur nächsten ÜberschriftZur vorigen Überschrift

schema.rb

Eine Schema-Datei beschreibt sämtliche Tabellen und Felder einer Datenbank. In Rails wird standardmäßig die Schema-Datei in Ruby generiert. Dies hat den Vorteil, dass die Schemadatei in jede Datenbank geladen werden kann, die von ActiveRecord unterstützt wird.

  • rake db:schema:dump
    Erstellt eine schema.rb -Datei im Verzeichnis db . Dieser Rake-Task wird auch automatisch nach jedem rake db:migrate ausgeführt.
  • rake db:schema:load
    Lädt eine schema.rb -Datei in die Datenbank. Dieser Task sollte dann verwendet werden, wenn Sie z. B. auf einem anderen System noch eine leere Datenbank haben. Wenn Sie noch keine Datenbank haben, können Sie sie mit dem Task rake db:create erstellen.
  • rake db:structure:dump
    Erstellt im Verzeichnis db aus der aktuellen Datenbank eine SQL-Datei development_structure.sql , in der sämtliche Tabellen-Definitionen (mit Feldern und Datentypen) enthalten sind. Dieser Task macht im Prinzip das Gleiche wie der Rake-Task db:schema:dump , nur dass statt einer Ruby-Datei eine SQL-Datei erstellt wird.

Rheinwerk Computing - Zum Seitenanfang

Sessions  topZur vorigen Überschrift

In Rails werden die Sessions standardmäßig im Cookie des Besuchers gespeichert. Dies ist in den meisten Fällen auch sinnvoll. In der Datei environment.rb im Verzeichnis config kann eingestellt werden, dass Sessions in einer Datenbank gespeichert werden sollen:

Listing  config/environmentb.rb

config.action_controller.session_store = :active_record_store

In diesem Fall können folgende Rake-Tasks verwendet werden:

  • rake db:sessions:create
    Erstellt eine Migration-Datei zur Erstellung einer Sessions-Datenbanktabelle.
  • rake db:sessions:clear
    Löscht alle Daten aus der Sessions-Tabelle.


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
 <<   zurück
  Zum Katalog
Zum Katalog: Ruby on Rails 2
Ruby on Rails 2
Jetzt bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Katalog: JavaScript






 JavaScript


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de