Rails 是用 Ruby 语言编写的 Web 开发框架。其优势在于 Web 应用程序开发。在尝试 Rails 开发之前,强烈建议您熟悉 Ruby 编程语言。在熟悉 Ruby 的过程中,可以考虑阅读SQL Anywhere Ruby API 参考。
RubyGems
您应该安装 RubyGems。它可以简化 Ruby 程序包的安装。Ruby on Rails 下载页面将引导您安装正确版本。请参见 http://www.rubyonrails.org/。
Ruby
必须在系统上安装 Ruby 解释器。Ruby on Rails 下载页面会推荐要安装的版本。请参见 http://www.rubyonrails.org/。
Rails 使用 RubyGems,只需一个命令行就可以安装所有 Rails 及其依赖包:
gem install rails |
Ruby 开发工具包
安装 Ruby 开发工具包 (DevKit)。从 http://rubyinstaller.org/downloads/ 下载 DevKit 并按照
http://github.com/oneclick/rubyinstaller/wiki/Development-Kit 中的操作说明进行操作。
activerecord-sqlanywhere-adapter 如果尚未安装 SQL Anywhere ActiveRecord 支持,则必须安装才能使用 SQL Anywhere 进行 Rails 开发。使用 RubyGems,只需一个命令行就可以安装所有 SQL Anywhere ActiveRecord 支持及其依赖包:
gem install activerecord-sqlanywhere-adapter |
在安装必备组件之后,还必须执行最后几个步骤,然后才能使用 SQL Anywhere 开始 Rails 开发。这些步骤是将 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 |
必须更新 Rails app_base.rb 文件。使用上述步骤 1 中的相同假设条件,此文件位于 \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 ) |
现在保存文件并退出。
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="。
建议您从 Ruby on Rails 网站上的教程入门。使用教程的同时注意下面的注释。这些注释概括了使用 SQL Anywhere 的不同之处。有关 Rails 教程的信息,请参见 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 blog_development dbinit blog_test dbinit blog_production cd .. |
必须按如下方式启动数据库服务器和三个数据库,然后才能继续。
dbsrv12 -n blog blog_development.db blog_production.db blog_test.db |
命令行 (blog) 中的服务器名称必须与 database.yml 文件中的 server: 标签所指定的名称相匹配。sqlanywhere.yml 模板文件的配置可以保证服务器名称与生成的所有 database.yml 文件中的项目名称相匹配。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |