`
yanzilee9292
  • 浏览: 538455 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

ruby应用如何选择mysql适配器

 
阅读更多

转自: http://www.cnblogs.com/sky7034/archive/2011/03/23/1992309.html

rails2.2之前缺省安装mysql的驱动,之后缺省的已经变成sqlite3,如果与mysql连接,则需要自己选择安装。
在学习开源系统的时候,发现有的rails3的应用直接使用的是mysql2
在database.yml中直接是按照如下方式

development:
  adapter: mysql2
  encoding: utf8
  database: baseapp
  username: root
  password:
  host: localhost
 

在github查询之后,有一个三种ruby mysql 适配器的比较(三万行数据的遍历操作):
   user       system     total       real
  Mysql2
   0.750000   0.180000   0.930000 (  1.821655)
  do_mysql
   1.650000   0.200000   1.850000 (  2.811357)
  Mysql
   7.500000   0.210000   7.710000 (  8.065871)


可见mysql2的性能要高出许多。

注:
在windows、linux环境下会出现如下错误:
Building native extensions.  This could take a while...
ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.
。。。
1、windows的解决方案:将mysql安装目录下的bin下的libmysql.dll复制到 ruby安装目录/lib下即可;在系统
2、linux的解决方案:在系统中找两个文件:libmysqlclient.so,mysql.h所在的目录,假设分别是/a和/b,然后执行下面操作即可:
gem install mysql2 -- --with-mysql-lib=/a --with-mysql-include=/b
通过源代码安装mysql的一般都有这样的文件 如果没有,则需要到网上下载libmysqlclient-dev 。

今天遇到了新的问题:
ruby1.8.7,rails2.3.8,gem install mysql2之后,进入console状态时,老是提示
D:/ir3/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in `establish_connection':RuntimeError: Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- java)
这和Java有什么关系?
于是删除与jdbc相关的gem包,提示又变成如下:
D:/ir3/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:76:in `establish_connection':RuntimeError: Please install the mysql2 adapter: `gem install activerecord-mysql2-adapter` (no such file to load -- active_record/connection_a
dapters/mysql2_adapter)

但是gem install activerecord-mysql2-adapter 根本不能使用,也就是没有这个gem包。

于是参照linux下的重新安装mysql2,将mysql目录添加;
gem install mysql2 -- --with-mysql-config=d:/ir3/mysql
安装成功后,执行ruby script/console,不再提示错误。
但是测试,查看类,键入User,返回正常;但是想查看一个记录,如User.first则出现“ArgumentError: invalid date”的错误。
嗨,在windows环境下,还是暂时回到mysql吧。

 

分享到:
评论

相关推荐

    ruby on rails MySql

    Ruby on Rails(简称...总的来说,Ruby on Rails与MySQL的结合提供了一个强大而灵活的开发环境,适用于构建各种Web应用程序。正确配置数据库连接,并理解如何使用ActiveRecord进行数据库操作,是掌握这一技术的关键。

    ruby-mysql-0.2.6.tar.gz

    Ruby MySQL驱动程序是用于在Ruby编程语言中与MySQL数据库...综上所述,`ruby-mysql`库是Ruby开发者与MySQL数据库进行交互的核心工具,它提供了全面的功能和良好的性能,使得在Ruby应用程序中使用MySQL变得更加便捷。

    Ruby-SQLServerRailsActiveRecord的SQLServer适配器

    在Ruby on Rails框架中,开发者经常需要连接不同的数据库系统,如MySQL、PostgreSQL或SQL Server。...通过理解和熟练使用这个适配器,你可以轻松地在Ruby on Rails环境中构建和管理基于SQL Server的数据库应用。

    ruby1.8.6(linux)

    - **MySQL适配器安装**:为了使Rails能够与MySQL数据库交互,需要安装`mysql_ruby`适配器,其过程涉及下载源码包、配置与MySQL的链接路径,并进行编译安装。 ### FastCGI与Lighttpd的集成 - **FastCGI安装**:...

    activerecord-mysql-uuid-column:ActiveRecord MySQL 适配器的真实 UUID 列

    ActiveRecord::Mysql::UuidColumn 向ActiveRecord MySQL2适配器添加一个:uuid列,该列存储在一个16字节的二进制列中。 这正是它需要的空间。安装将此行添加到您的应用程序的Gemfile中: gem 'activerecord-mysql-...

    rails3.1安装与mysql配置 windows

    Ruby on Rails是一个流行的开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,而MySQL则是一种广泛使用的开源关系型数据库管理系统。 首先,让我们详细了解一下Ruby on Rails 3.1的安装。在Windows环境...

    activerecord-mysql-comment:为 ActiveRecord MySQL 适配器的迁移添加列注释和索引注释

    ActiveRecord::Mysql::Comment 为 ActiveRecord MySQL 适配器的迁移添加列注释和索引注释安装将此行添加到应用程序的 Gemfile 中: gem 'activerecord-mysql-comment' 然后执行: $ bundle或者自己安装: $ gem ...

    Ruby入门例子

    2. **选择数据库**:假设已经有一个名为 `ruby` 的数据库,如果还没有,则需要先创建这个数据库。 3. **执行SQL语句**:运行以下SQL命令来创建名为 `categories` 的表。 ```sql CREATE TABLE "ruby"."categories...

    Ruby-Hanami是一个全栈的Ruby的Web框架

    3. **Hanami::Model**:与数据库交互,支持多种数据库适配器,如SQLite、PostgreSQL和MySQL。Hanami模型强调数据的领域模型,而非传统的ActiveRecord模式,这使得模型更加关注业务逻辑。 4. **Hanami::View**:负责...

    Ruby-DataObjects企图重写现有的Ruby数据库驱动程序符合一个标准接口

    在Ruby开发中,数据存取通常依赖于特定数据库系统的驱动程序,例如ActiveRecord框架就与特定的数据库适配器(如 activerecord-mysql2-adapter)结合使用。然而,这些适配器之间的API差异可能导致代码在不同数据库间...

    ubuntu下安装ruby on rails

    2. **安装 Rails 的 MySQL 适配器:** ```bash sudo gem install mysql2 ``` 3. **配置数据库:** 在 `config/database.yml` 文件中配置 MySQL 相关的信息。 通过上述步骤,您应该能够在 Ubuntu 系统上成功安装...

    Ruby on rails 数据库详细配置

    在Ruby on Rails框架中,数据库配置是至关重要的部分,它允许开发者与各种数据库系统进行交互,如MySQL、Microsoft SQL Server等。以下将详细介绍如何在Windows环境下安装Ruby on Rails以及配置数据库。 首先,我们...

    mysql5.1API

    5. **其他语言适配器**:MySQL API 也支持其他编程语言,如 Perl 的 DBI 模块,Ruby 的 ActiveRecord,Node.js 的 mysql2 库等,这些适配器都有各自的调用方式和特性,但核心都是围绕着 MySQL C API 来实现的。...

    Ruby-MiniSql一个简单快速安全的sql执行程序

    Ruby-MiniSql是一个针对Ruby开发者的轻量级数据库操作工具,设计目的是为了提供一个简单、快速且安全的方式来执行SQL语句。MiniSql旨在简化数据库交互,使得开发者在处理数据库任务时能够更加高效和便捷。 首先,...

    ruby on rails安装

    Ruby on Rails,简称Rails,是一款基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-Controller)架构模式,旨在使Web开发更简洁、高效。Rails强调“约定优于配置”,大大减少了开发者需要编写的配置代码。在...

    ruby和drizzle数据库的连接

    要连接Ruby到Drizzle数据库,你需要使用一个名为`drizzle-ruby`的驱动或适配器。这个驱动允许Ruby程序通过ODBC(Open Database Connectivity)或JDBC(Java Database Connectivity)接口与Drizzle通信。首先,确保你...

    Ruby-Devise一个基于Warden的Rails灵活身份验证解决方案

    3. **多数据库支持**:Devise不依赖于特定的数据库适配器,因此它可以很好地与各种数据库系统(如MySQL、PostgreSQL)一起工作。 4. **安全性**:Devise提供了许多安全特性,如CSRF保护、防止会话劫持和密码加密。...

    Ruby-ROMRubyObjectMapperROMRuby的数据映射和持久化工具包

    3. **Adapters(适配器)**:ROM支持多种数据库适配器,如SQLite、PostgreSQL、MySQL等,使得框架具有高度的可扩展性。适配器允许ROM与不同的数据库系统通信,提供了一致的API来执行CRUD(创建、读取、更新、删除)...

    Ruby-SequelRuby的数据库工具包

    总的来说,Ruby-Sequel是一个全面的数据库工具包,无论是小型项目还是大型应用,都能提供高效、便捷的数据库访问能力。它的易用性、灵活性和广泛的数据库支持使得它成为Ruby开发者的首选数据库库之一。通过学习和...

    ruby on rails

    11. **Databases**:Rails支持多种数据库,如MySQL、PostgreSQL、SQLite等,通过数据库适配器实现与不同数据库系统的交互。 12. **Asset Pipeline**:Rails的静态资源管理机制,允许合并、压缩JavaScript和CSS文件...

Global site tag (gtag.js) - Google Analytics