Использование активной записи и mysql на скрипте ruby - PullRequest
1 голос
/ 25 марта 2011

Я пытался использовать mysql и активную запись в скрипте ruby, но получаю следующее сообщение: Устаревший гем mysql. Обновите до 2.8.1 или позже. В вашем Gemfile: gem 'mysql', '2.8.1'. Или используйте гем 'mysql2' (RuntimeError). Прежде чем я получил сообщение о пропаже gem 'mysql2', но затем я проверил исходный код адаптеров подключения в активной записи и увидел, что для него требуется gem mysql, который я не установил.

это мой сценарий:

require 'rubygems'
require 'active_record'
require 'mechanize'
require 'nokogiri'
require 'active_record'
require 'mysql2'
gem 'mysql2'

ActiveRecord::Base.establish_connection ({
  :adapter => "mysql",
  :host => "localhost",
  :username => "root",
  :password => "",
  :database => "rainalytics"})

ActiveRecord::Schema.define(:version => 20110320035328) do

    create_table "score_logs", :force => true do |t|
      t.integer  "blog_posts"
      t.integer  "featured"
    end

    create_table "users", :force => true do |t|
      t.datetime "created_at"
      t.datetime "updated_at"
    end

  end


    class User < ActiveRecord::Base
      has_many :score_logs
    end
    class ScoreLog < ActiveRecord::Base
      belongs_to :user
  end

1 Ответ

0 голосов
/ 13 июня 2012

Я не использую части 'require' mysql2 'или' gem 'mysql2', и это, кажется, работает нормально, у меня также есть дополнительный {} внутри ActiveRecord :: Base block

надеюсь, что это может помочь кому-то в будущем:)

Это то, что я использую
ruby 1.9.2p318 (2012-02-14, редакция 34678) [x86_64-darwin11.2.0]
Рельсы 3.1.0

<ч />
require "rubygems"
require "active_record"

ActiveRecord::Base.establish_connection ({
  :adapter => "mysql2",
  :host => "localhost",
  :username => "root",
  :password => "root",
  :database => "cybercellar"})

class Zone < ActiveRecord::Base

end

zone = Zone.all
print zone

затем я перехожу в папку своего приложения и запускаю файл

ruby ​​script / test.rb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...