读书人

rails+drizzle demo创办

发布时间: 2012-07-15 20:11:35 作者: rapoo

rails+drizzle demo创建

①activerecord gem包的修改:

经过测试可知在drizzle数据库中不支持如下两个SQL语句:

(SET NAMES='utf8';)和(SET SQL_AUTO_IS_NULL=0;)

因此为了成功的将rails和drizzle数据库连接起来,需要将activerecord gem包中的代码作如下的修正:

修改文件:

C:/Ruby187/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/mysql_adapter.rb

修改前:

?? ?def configure_connection

?? ? ? encoding = @config[:encoding]

?? ? ? execute("SET NAMES '#{encoding}'") if encoding

?

?? ? ? # By default, MySQL 'where id is null' selects the last inserted id.

?? ? ? # Turn this off. http://dev.rubyonrails.org/ticket/6778

?? ? ? execute("SET SQL_AUTO_IS_NULL=0")

?? ?end

修改后(修改部分为红色被注释部分):

?? ?def configure_connection

?? ? ? encoding = @config[:encoding]

?? ? ? #execute("SET NAMES '#{encoding}'") if encoding ? ??

?

?? ? ? # By default, MySQL 'where id is null' selects the last inserted id.

?? ? ? # Turn this off. http://dev.rubyonrails.org/ticket/6778

?? ? ? #execute("SET SQL_AUTO_IS_NULL=0")

?? ?end

?

②rails+drizzle demo创建手顺

?

a)数据库配置为(database.yml):

development:

??adapter: mysql

??database: drizzledemo_development

??encoding: utf8

??username: root

??password: 123

??host: 133.25.78.144

??port: 8606

b)rails工程创建手顺

在D:\QP\workspace\下创建drizzledemo工程目录

cd D:\QP\workspace\

D:\QP\workspace>rails drizzledemo

D:\QP\workspace>cd drizzledemo

D:\QP\workspace\drizzledemo>ruby script/generate scaffold product title:string description:text image_url:string

D:\QP\workspace\drizzledemo>rake db:migrate --trace

启动drizzledemo服务器(本次端口配置为3009),然后输入URL(http://localhost:3009/products/)即可访问并且增删改查数据了。



读书人网 >网络基础

热点推荐