12 Sep 2012

将MySQL 的数据导入 PostgreSQL

开始学习使用PostgreSQL, 先尝试将MySQL数据导入到PostgreSQL

安装PostgreSQL

sudo apt-get install postgresql postgresql-client postgresql-contrib  

基本按照http://wiki.ubuntu.org.cn/PostgreSQL进行设置就OK了

安装开发工具

sudo apt-get install libpq-dev pgadmin3

PgAdmin3 这是一个桌面 GUI 工具, 可以很方便的管理 PostgreSQL

用到的RubyGems

在 Gemfile 中增加:

gem "pg" 
gem "mysql2"

然后

bundle install

完整的 Ruby 代码

# coding: utf-8
require 'mysql2'
require 'pg'

mysql_client = Mysql2::Client.new(:host => "localhost", :username =>"root", :password => "pa$$word", :database => "my_test", :encoding => "utf8")

postgres_client = PG::Connection.new(:host => "localhost", :dbname => 'mydb', :user => "postgres", :password => "pa$$word")
postgres_client.set_client_encoding('utf8')

mysql_result = mysql_client.query('select `code`,`name`,`level` from `chinese_regions`')

step = 0
mysql_result.each do |row|

  the_code = row['code']
  the_name = row['name']
  the_level = row['level'].to_i
  insert_sql_test = "insert into chinese_regions (\"code\",\"name\",\"level\") values ('#{the_code}','#{the_name}','#{the_level}');"
  postgres_client.exec(insert_sql_test)

  step += 1
  puts '-' + step.to_s + '-' + the_code + '--' + the_name + '--' + the_level.to_s

end

Run 啊 Run 啊的就 OK 了

21 Jan 2010

优化Rails数据库查询性能 -- rails_reviewer插件

发现一个很棒的插件 rails_reviewer插件

安装:

$ script/plugin install git://github.com/dsboulder/query_reviewer.git
$ rake query_reviewer:setup

完毕后重启server,页面左上角浮动一个SQL CRITICAL浮动窗口,里面记录页面加载时执行的所有SQL以及优化建议等。

强烈推荐 !!!

15 Jan 2010

rails里Mysql::Error: query: not connected

从ubuntu换回了win7后又慢慢开始折腾以前在本本上跑的一些LAMP网站, php和 mysql还是用以前的xampp里的,仍然可以用。

重装了 ruby 1.8.6, rails 2.3.5 等...发现运行rails网站,弹出messagebox提示找不到libmysql.dll尝试把mysql/bin里的dll来regsvr32,不可,直接拷贝到system32目录下错误没了,但打开网站仍然报错,终端显示“Mysql::Error: query: not connected...."

google来了结果

http://topic.csdn.net/u/20090823/12/2775f2e7-a73a-45b3-a047-5ed9330871cd.html

http://xiaolife.com/wordpress/rails-2-3-dbmigrate-issue-with-mysql-5-1-3/

猛然间想起来这些个问题上次玩的时候也出现过,真晕,还是写下来,希望SY一遍胜过脑子记忆千遍吧

29 Aug 2009

Mysql adapter on Rails 2.3.3

安装好Ruby on Rails 2.3.3后,运行简单的页面提示如下错误“The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql”

 gem 了n次也不成,搞了一早上,才google到一个比较山寨的方法解决

1.  download older MySQL client library, for example one from InstantRails: http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll

2.  copy the downloaded file to C:\Ruby\bin (or wherever you installed Ruby) 

3. restart MySQL server

另参考:http://www.ruby-forum.com/topic/160358http://rdc.taobao.com/blog/qa/?p=523