грабли БД: создать: все - PullRequest
       5

грабли БД: создать: все

0 голосов
/ 28 октября 2011

Я заранее извиняюсь за свое невежество, но у меня возникает эта проблема при запуске

"rake db:create:all"

в моем терминале.

NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:84.
WARNING: This version of mysql2 (0.3.7) doesn't ship with the ActiveRecord adapter bundled anymore as it's now part of Rails 3.1
WARNING: Please use the 0.2.x releases if you plan on using it in Rails <= 3.0.x
WARNING: 'require 'rake/rdoctask'' is deprecated.  Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
    at /usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Couldn't create database for {"username"=>"root", "adapter"=>"mysql", "database"=>"testApp", "host"=>"localhost", "password"=>"mysql"}, charset: utf8, collation: utf8_unicode_ci
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
Couldn't create database for {"username"=>"root", "adapter"=>"mysql", "database"=>"testApp", "host"=>"localhost", "password"=>"mysql"}, charset: utf8, collation: utf8_unicode_ci

я последовал за Леонидом Шевцовым

Мой второй вопрос: когда я bundle update, это звучит так:

NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
Fetching source index for http://rubygems.org/
Enter your password to install the bundled RubyGems to your system: 
/usr/lib/ruby/site_ruby/1.8/rubygems/package/tar_input.rb:122:in `initialize': no metadata found in /usr/lib/ruby/gems/1.8/cache/rake-0.9.2.2.gem (Gem::Package::FormatError)
    from /usr/lib/ruby/site_ruby/1.8/rubygems/package/tar_input.rb:20:in `new'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/package/tar_input.rb:20:in `open'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/package.rb:44:in `open'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/format.rb:62:in `from_io'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/format.rb:46:in `from_file_by_path'
    from /usr/lib/ruby/1.8/open-uri.rb:32:in `open_uri_original_open'
    from /usr/lib/ruby/1.8/open-uri.rb:32:in `open'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/format.rb:45:in `from_file_by_path'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:73:in `fetch'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:45:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/spec_set.rb:12:in `each'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:44:in `run'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/installer.rb:8:in `install'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/lib/bundler/cli.rb:226:in `install'
    from /usr/lib/ruby/gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `send'
    from /usr/lib/ruby/gems/1.8/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
    from /usr/lib/ruby/gems/1.8/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
    from /usr/lib/ruby/gems/1.8/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
    from /usr/lib/ruby/gems/1.8/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
    from /usr/lib/ruby/gems/1.8/gems/bundler-1.0.10/bin/bundle:13
    from /usr/bin/bundle:19:in `load'
    from /usr/bin/bundle:19'

Не могу запустить обновление пакета без ошибок. Я работаю на своей машине с Fedora 15 и Mysql 5.5.

Спасибо и еще раз прошу прощения за свое невежество; Я новичок в Rails.

Заранее спасибо! :)

Ответы [ 3 ]

3 голосов
/ 28 октября 2011

Похоже, вы должны ограничить mysql2 версию в вашем Gemfile:

gem 'mysql2', '~>0.2.0'

[EDIT] ... и затем выполнить bundle install, конечно

0 голосов
/ 28 октября 2011

Чтобы избавиться от предупреждений об устаревании rubygems, обновите до последней версии RubyGems и выполните

gem pristine --all --no-extensions.

Что касается ваших ошибок MySQL. Убедитесь, что у вас включен MySQL service / daemon, и убедитесь, что ваш конфигурационный файл database.yml правильный.

0 голосов
/ 28 октября 2011

И, как мы видим из журналов, я думаю, что вы указали mysql в качестве адаптера в вашем config / database.yml

изменить на:

  adapter: mysql2

EDIT:

о вашем FormatError, я знаю, что должен использовать:

bundle exec rake db:<command>

чтобы выполнить рейк сейчас, вы можете попробовать это?

РЕДАКТИРОВАТЬ 2:

Хорошо, я предлагаю вам использовать RVM для настройки вашего проекта с использованием ruby ​​1.9.2. Прочтите RVM Doc , чтобы узнать, как это сделать.

Затем выполните установку пакета

После этого убедитесь, что вы делаете:

ruby -v

должно быть 1.9.2

затем повторите вашу БД: создайте так:

bundle exec rake db:create:all

Надеюсь, это наконец-то сработает. ; -)

...