Tag: mysql

使用Ruby on Rails 3加载libmysql.dll文件失败

我正在使用带有mysql的RoR制作一个应用程序。我按照以下步骤使用mysql制作应用程序。 1-rails new projectname -d mysql 2-rails生成脚手架post标题:弦体:文字 运行第二步后,我收到以下错误。 错误: Failed to load libmysql.dll from C:\Ruby193\lib\ruby\gems\1.9.1\gems\mysql2-0.3. 18-x86-mingw32\vendor\libmysql.dll 我已经在我的系统中安装了mysql并将libmysql.dll文件从mysql-connector-c-noinstall-6.0.2-win32 \ lib \ libmysql.dll复制到C:\ Ruby193 \ bin仍然我收到了上述错误。请将尝试帮助我解决这个错误,我也有兴趣知道我的mysql数据库是否存在于其他实例而不是我的本地系统如何使用Rails连接它。 我在我的系统中使用Rails版本-3.2.19和win-xp。

Mysql ::错误:指定的密钥太长; 最大密钥长度为767字节:CREATE INDEX

我正在使用rails 2.3.5应用程序,在女巫我有这个领域 t.string “trip_cities”, :limit => 256 而这个指数 add_index “bookings”, [“trip_cities”], :name => “trip_cities” 当我尝试执行时: bundle exec rake db:test:load 我收到此错误Mysql::Error: Specified key was too long; max key length is 767 bytes: CREATE INDEX ‘trip_cities’ ON ‘bookings’ (‘trip_cities’) Mysql::Error: Specified key was too long; max key length is 767 bytes: CREATE INDEX ‘trip_cities’ ON ‘bookings’ (‘trip_cities’)并且不太知道如何解决这个问题。

RoR:不能在postgres中更改_column,在MySQL中可以很好(MySQL用于开发,Postgres在Heroku上)

我有一个名为“奖品”的专栏: create_table :contests do |t| t.text :prize 我最近意识到这将永远是一个整数,我想设置一个默认值: def change change_column :contests, :prize, :integer, :default => 200 这在我使用MySQL DB的本地机器上工作正常。 但是,当我推送到我的生产站点(在Heroku上托管,它给我一个Postgres DB)时,我收到以下错误: PGError: ERROR: column “prize” cannot be cast to type “pg_catalog.int4” : ALTER TABLE “contests” ALTER COLUMN “prize” TYPE integer 在本文中: http : //www.postgresonline.com/periodical.php?i_id = 3他们讨论了使用USING来解决这个问题。 但我不知道如何做到这一点,以及这是否适合我正在尝试做的事情。 任何深入了解这一点的人都会非常感激。 谢谢! 林戈

Ruby mysql2 gem编译为错误的mysql客户端库版本

使用apt-get将MySQL更新到5.5后, mysql2 gem停止工作。 这是错误: Incorrect MySQL client library version! This gem was compiled for 5.5.17 but the client library is 5.1.58. (RuntimeError) 我尝试使用mysql_config重新安装但它似乎没有什么区别.. gem install mysql2 — –with-mysql-config=/usr/bin/mysql_config 相应地,我试着告诉bundle使用mysql-config编译mysql2但是仍然存在错误。 bundle config build.mysql2 –with-mysql-config=/usr/bin/mysql_config bundle install 当我尝试使用较旧版本的gem(v0.2.6)时,rails控制台会打开,但在运行任何类型的查询后都会崩溃。 在尝试最新版本的mysql2 gem时,这是完整的错误堆栈: [marco@linode:/www] 07:29:00 AM: rails c /users/marco/.rbenv/versions/1.9.3-p0/lib/ruby/gems/1.9.1/gems/mysql2-0.3.10/lib/mysql2.rb:9:in `require’: Incorrect MySQL client library version! This gem was compiled for […]

Snow Leopard + Ruby 1.9.1 + MySQL Gem =巨大的问题

我尝试了大约3-4个小时试图在雪豹上安装ruby 1.9.1的mysql gem。 在我升级到雪豹之前,mysql gem曾经在1.9.1上运行得很好。 我从我的机器上卸载了MySQL服务器和gem。 然后我下载并安装:mysql-5.1.37-osx10.5-x86_64.dmg。 我已经断言我安装的这个新版本是作为64位应用程序运行的。 我卸载了mysql gem。 当我尝试使用此命令安装gem时: env ARCHFLAGS =“ – arch x86_64”gem install mysql –verbose – –with-mysql-config = / usr / local / mysql / bin / mysql_config 我收到了这个错误: GET 304未修改:http://gems.rubyforge.org/latest_specs.4.8.gz GET 200 OK:http://gems.github.com/latest_specs.4.8.gz 安装gem mysql-2.8.1 /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/COPYING.ja /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/History.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Manifest.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/README.txt /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/Rakefile /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/extconf.rb /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/ext/mysql_api/mysql.c /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README.html /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/README_ja.html /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/extra/tommy.css /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/lib/mysql.rb /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/gem.rake /Users/sean/.gem/ruby/1.9.1/gems/mysql-2.8.1/tasks/native.rake […]

如何遍历MySQL结果集?

这是我正在使用的代码: # Run the query against the database defined in .yml file. # This is a Mysql::result object – http://www.tmtm.org/en/mysql/ruby/ @results = ActiveRecord::Base.connection.execute(@sql_query) 在我的视图中,这是我看到的值: Outputs: # Outputs: [“asdfasdf”, 23, “qwefqwef”] [“sdfgdsf”, 23, “asdfasdfasdf”] 因此,想象一下我select * from Person查询类似select * from Person ,并返回结果集,例如: ID Name Age 1 Sergio 22 2 Lazlow 28 3 Zeus 47 如何迭代每个值并输出它? 这里的文档没有用,因为我已经尝试过可能存在的方法,但是解释器给出了一个错误,说明这些方法不存在。 […]

Ruby mysql2错误

我收到以下错误 C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require’: 126: The specified module could not be found. – C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/1.9/mysql2.so (LoadError) 尝试运行此脚本时… require “mysql2” client = Mysql2::Client.new(:host => “localhost”, :username => “root”, :password => “system32”) results = client.query(“SELECT * FROM project1_nodes”).each do |row| puts row end 有任何想法吗? 干杯马丁

rake db:create – 整理问题

kratos-iii:railsproj zachinglis$ rake db:create (in /Users/zachinglis/Sites/rails/railsproj) Couldn’t create database for {“adapter”=>”mysql”, “host”=>”localhost”, “username”=>”root”, “password”=>nil, “database”=>”railsproj_development”}, charset: utf8, collation: utf8_general_ci (if you set the charset manually, make sure you have a matching collation) 我没有使用Sequel Pro甚至创建所述数据库的问题。 我该如何解决这个问题? 有一个空密码从来没有给我带来问题。 我真的很怀疑它。

返回自定义查询在activerecord中选择

我有一个查询,它做了一些数学运算,并返回一个带有结果集的计算自定义选择字段。 我无法弄清楚如何在返回的activerecord对象中访问它。 我也为它添加了一个attr_accessor。 attr_accessor :percentage_used select(‘gateways.*, (num_transactions_today/ SUM(num_transactions_today)) AS percentage_used ‘).joins(:gateway_groups).where(‘map_gateway_groups.gateway_group_id = ?’, gateway_group_id) 在结果集中,我希望能够访问:percentage_used,但它不在那里。 关于我做错什么的任何想法? 我以前从未需要这样做。 谢谢

如何在ruby中创建ssh隧道,然后连接到远程主机上的mysql服务器

我想创建一个ruby脚本,我可以通过ssh隧道在远程服务器上运行mysql命令。 现在我有一个手动过程来执行此操作: 创建隧道 – > ssh -L 3307:127.0.0.1:3306 运行ruby脚本。 关闭隧道。 我希望能够自动执行此操作,以便我可以运行脚本。 例: require ‘rubygems’ require ‘net/ssh/gateway’ require ‘mysql’ #make the ssh connection -> I don’t think I am doing this right. Net::SSH.start(‘server’,’user’) do |session| session.forward.local(3307,’127.0.0.1′, 3306) mysql = Mysql.connect(“127.0.0.1″,”root”,””,””,3307) dbs = mysql.list_dbs dbs.each do |db| puts db end session.loop(0){true} end 更新 – 2010-11-10: 我真的很接近这个代码: require […]