Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (Deutsch) » SQL Anywhere Server - Programmierung » Ruby-Unterstützung » SQL Anywhere-Ruby-API-Unterstützung

 

Rails-Unterstützung in SQL Anywhere konfigurieren

Sie können die Unterstützung für Ruby on Rails in SQL Anywhere installieren.

Voraussetzungen

Es gibt keine Voraussetzungen für diese Aufgabe.

 Aufgabe
  1. Installieren Sie RubyGems. Es vereinfacht die Installation der Ruby-Pakete. Über die Download-Seite Ruby on Rails wird Ihnen die korrekte Version für die Installation gezeigt. Weitere Hinweise finden Sie unter [external link] http://www.rubyonrails.org/.

  2. Installieren Sie den Ruby-Interpreter auf Ihrem System. Auf der Ruby on Rails-Website finden Sie Empfehlungen, welche Version Sie installieren sollten. Weitere Hinweise finden Sie unter [external link] http://www.rubyonrails.org/.

  3. Installieren Sie Ruby Rails und die davon abhängigen Komponenten, indem Sie den folgenden Befehl ausführen:

    gem install rails
  4. Installieren Sie das Ruby Development Kit (DevKit). Laden Sie das DevKit von [external link] http://rubyinstaller.org/downloads/ herunter und befolgenden Sie Anweisungen unter [external link] http://github.com/oneclick/rubyinstaller/wiki/Development-Kit.

  5. Installieren Sie die ActiveRecord-Unterstützung von SQL Anywhere (activerecord-sqlanywhere-adapter), indem Sie den folgenden Befehl ausführen:

    gem install activerecord-sqlanywhere-adapter
  6. Fügen Sie SQL Anywhere zu den von Rails unterstützten Datenbank-Managementsystemen hinzu. Zum Zeitpunkt der Dokumentationserstellung war die Version Rails 3.1.3 aktuell.

    1. Konfigurieren Sie eine Datenbank, indem Sie eine Datei namens sqlanywhere.yml im Rails-Verzeichnis configs\databases erstellen. Wenn Sie Ruby im Verzeichnis \Ruby installiert haben und die Version 3.1.3 von Rails installiert ist, lautet der Pfad zu dieser Datei \Ruby\lib\ruby\gems\1.9.1\gems\railties-3.1.3\lib\rails\generators\rails\app\templates\config\databases. Diese Datei muss Folgendes enthalten:



      #
      # SQL Anywhere database configuration
      #
      # This configuration file defines the patten used for
      # database filenames. If your application is called "blog",
      # then the database names will be blog_development,
      # blog_test, blog_production. The specified username and
      # password should permit DBA access to the database.
      #
      
      development:
        adapter: sqlanywhere
        server: <%= app_name %>
        database: <%= app_name %>_development
        username: DBA
        password: sql
      
      # Warning: The database defined as "test" will be erased and
      # re-generated from your development database when you run "rake".
      # Do not set this db to the same as development or production.
      test:
        adapter: sqlanywhere
        server: <%= app_name %>
        database: <%= app_name %>_test
        username: DBA
        password: sql
      
      production:
        adapter: sqlanywhere
        server: <%= app_name %>
        database: <%= app_name %>_production
        username: DBA
        password: sql

      Die Datei sqlanywhere.yml bietet eine Vorlage für die Erstellung von database.yml-Dateien in Rails-Projekten. Die folgenden Datenbankoptionen können angegeben werden:

      • adapter   (erforderlich, kein Standardwert). Diese Option muss auf sqlanywhere eingestellt werden, damit der SQL Anywhere ActiveRecord-Adapter verwendet werden kann.

      • database   (erforderlich, kein Standardwert). Diese Option entspricht DatabaseName in einer Verbindungszeichenfolge.

      • server   (optional, standardmäßig Option database). Diese Option entspricht ServerName in einer Verbindungszeichenfolge.

      • username   (optional, standardmäßig 'DBA'). Diese Option entspricht UserID in einer Verbindungszeichenfolge.

      • password   (optional, standardmäßig 'sql'). Diese Option entspricht Password in einer Verbindungszeichenfolge.

      • encoding   (optional, standardmäßig der Betriebssystem-Zeichensatz der Datenbank). Diese Option entspricht CharSet in einer Verbindungszeichenfolge.

      • commlinks   (optional). Diese Option entspricht CommLinks in einer Verbindungszeichenfolge.

      • connection_name   (optional). Diese Option entspricht ConnectionName in einer Verbindungszeichenfolge.

    2. Aktualisieren Sie die Rails-Datei app_base.rb. Unter den gleichen Annahmen wie im vorherigen Schritt befindet sich diese Datei im Pfad \Ruby\lib\ruby\gems\1.9.1\gems\railties-3.1.3\lib\rails\generators\app_base.rb. Bearbeiten Sie die Datei app_base.rb und suchen Sie die folgende Zeile:

      DATABASES = %w( mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver )

      Fügen Sie sqlanywhere folgendermaßen zur Liste hinzu:

      DATABASES = %w( sqlanywhere mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver )
  7. Arbeiten Sie die praktische Einführung auf der Ruby on Rails-Website ([external link] http://guides.rails.info/getting_started.html) durch und verwenden Sie dabei die folgenden SQL Anywhere-spezifischen Hinweise:

    • In der praktischen Einführung erfahren Sie, welchen Befehl Sie verwenden, um das blog-Projekt zu initialisieren. Hier ist der Befehl, um das blog-Projekt für die Verwendung mit SQL Anywhere zu initialisieren:

      rails new blog -d sqlanywhere
      
    • Wechseln Sie nach dem Erstellen der blog-Anwendung zu deren Ordner, um direkt in dieser Anwendung weiterzuarbeiten:

      cd blog
      
    • Bearbeiten Sie die Datei gemfile, um eine gem-Direktive für den SQL Anywhere ActiveRecord-Adapter einzubeziehen. Fügen Sie die neue Direktive nach der unten angegebenen Zeile hinzu:

      gem 'sqlanywhere'
      gem 'activerecord-sqlanywhere-adapter'
    • Die Datei config\database.yml referenziert Entwicklungs-, Test- und Produktionsdatenbank. Statt einen rake-Befehl zum Erstellen der Datenbanken zu verwenden, wie in der praktischen Einführung angegeben, wechseln Sie in das Verzeichnis db des Projekts und erstellen Sie folgendermaßen drei Datenbanken.

      cd db
      dbinit -dba DBA,sql blog_development
      dbinit -dba DBA,sql blog_test
      dbinit -dba DBA,sql blog_production
      cd ..

Ergebnisse

Sie haben die Rails-Unterstützung in SQL Anywhere konfiguriert.

Nächste Schritte

Starten Sie folgendermaßen den Datenbankserver und die drei Datenbanken.

dbsrv16 -n blog blog_development.db blog_production.db blog_test.db

Der Datenbankservername in der Befehlszeile (blog) muss zum Namen passen, der durch die Tags server: in der Datei database.yml festgelegt ist. Die Vorlagendatei sqlanywhere.yml wird so konfiguriert, dass gewährleistet ist, dass der Datenbankservername in allen generierten database.yml-Dateien mit dem Projektnamen übereinstimmt.

 Siehe auch