可在 SQL Anywhere 中配置 Ruby on Rails 支持。
前提条件
执行此任务没有前提条件。
安装 RubyGems。它可以简化 Ruby 程序包的安装。Ruby on Rails 下载页面将引导您安装正确版本。请参见 http://www.rubyonrails.org/。
在系统中安装 Ruby 解释器。Ruby on Rails 下载页面会推荐要安装的版本。请参见 http://www.rubyonrails.org/。
运行以下命令安装 Ruby Rails 及其依赖包:
gem install rails |
安装 Ruby 开发工具包 (DevKit)。从 http://rubyinstaller.org/downloads/ 下载 DevKit,然后按
http://github.com/oneclick/rubyinstaller/wiki/Development-Kit 中的说明进行操作。
运行以下命令安装 SQL Anywhere ActiveRecord 支持 (activerecord-sqlanywhere-adapter):
gem install activerecord-sqlanywhere-adapter |
将 SQL Anywhere 添加到 Rails 支持的数据库管理系统集。编写本文档时,Rails 3.1.3 是当时发布的版本。
在 Rails configs\databases 目录中创建 sqlanywhere.yml 文件,以配置数据库。如果已将 Ruby 安装到 \Ruby 目录中,并安装了 3.1.3 版本的 Rails,则此文件的路径为 \Ruby\lib\ruby\gems\1.9.1\gems\railties-3.1.3\lib\rails\generators\rails\app\templates\config\databases。此文件的内容应该为:
# # 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 |
sqlanywhere.yml 文件提供了一个模板,用于在 Rails 项目中创建 database.yml 文件。可以指定以下数据库选项:
adapter (必选,无缺省值)。此选项必须设置为 sqlanywhere 才能使用 SQL Anywhere ActiveRecord 适配器。
database (必选,无缺省值)。此选项对应于连接字符串中的 DatabaseName。
server (可选,缺省为 database 选项)。此选项对应于连接字符串中的 ServerName。
username (可选,缺省为 'DBA')。此选项对应于连接字符串中的 UserID。
password (可选,缺省为 'DBA')。此选项对应于连接字符串中的 Password。
encoding (可选,缺省为 OS 字符集)。此选项对应于连接字符串中的 CharSet。
commlinks (可选)。此选项对应于连接字符串中的 CommLinks。
connection_name (可选)。此选项对应于连接字符串中的 ConnectionName。
更新 Rails app_base.rb 文件。使用上一步骤中的相同假设条件,此文件位于 \Ruby\lib\ruby\gems\1.9.1\gems\railties-3.1.3\lib\rails\generators\app_base.rb 路径中。编辑 app_base.rb 文件,并找到以下行:
DATABASES = %w( mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver ) |
将 sqlanywhere 添加到列表,如下所示:
DATABASES = %w( sqlanywhere mysql oracle postgresql sqlite3 frontbase ibm_db sqlserver ) |
使用以下 SQL Anywhere 特定注释按照 Ruby on Rails Web 站点 ( http://guides.rails.info/getting_started.html) 上的教程进行操作。
在此教程中,将介绍用于初始化 blog 项目的命令。使用以下命令可以初始化 blog 项目以用于 SQL Anywhere:
rails new blog -d sqlanywhere |
创建 blog 应用程序后,切换到其文件夹以直接在该应用程序中继续工作:
cd blog |
编辑 gemfile 文件以包括用于 SQL Anywhere ActiveRecord 适配器的 gem 指令。在下面指定的行后添加新指令:
gem 'sqlanywhere' gem 'activerecord-sqlanywhere-adapter' |
config\database.yml 文件引用了开发、测试和生产数据库。不按照教程的指示使用 rake 命令创建数据库,而是切换到项目的 db 目录并创建如下三个数据库。
cd db dbinit -dba DBA,sql blog_development dbinit -dba DBA,sql blog_test dbinit -dba DBA,sql blog_production cd .. |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |