2012-01-10 2 views
0

я получаю следующее сообщение об ошибке при выполнении рек дб: мигрировать:Rails приложения грабли БД: мигрировать прервано - ошибка синтаксиса

rake aborted! 
syntax error on line 18, col 9: ` adapter: mysql' 

Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

Это мой database.yml файл:

# SQLite version 3.x 
# gem install sqlite3-ruby (not necessary on OS X Leopard) 
development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: mysql 
    database: DATABASENAME 
    username: USERNAME 
    password: PASSWORD 

Если я удалите параметры производства, чтобы попытаться исправить проблему в моей среде разработки, я получаю следующую ошибку:

rake aborted! 
no such file to load -- openid/store/filesystem 

Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

Что я считаю, вызвано каким-то проблемы ювелирных зависимостей, так вот мой Gemfile:

source 'http://rubygems.org' 

gem 'rails', '~> 3.1.0' 

# Deploy with Capistrano 
gem 'capistrano' 
gem 'capistrano-ext' 
gem 'devise' 
gem "configatron" 
gem "post_commit" 
gem 'will_paginate', '> 3.0' 
gem "configatron" 
gem "declarative_authorization" 
gem "aasm" 
gem "gravatar_image_tag" 
gem "polish" 
gem "simple_form" 
gem "i18n_generators" 
gem "i18n_routing" 
gem "delayed_job" 
gem "oauth2" 
gem "fb_graph" 
gem "omniauth" 
gem "paperclip", "~> 2.4" 
gem "meta_search" 

group :development do 
    # To use debugger 
    # gem 'ruby-debug' 
    # gem 'ruby-debug19' if you are using ruby 1.9.2 or higher 
    gem 'sqlite3-ruby', :require => "sqlite3" 
    gem "nifty-generators" 
end 

group :production do 
    gem 'pg' 
    gem 'mysql' 
end 

group :development, :test do 
    gem 'sqlite3' 
end 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :test do 
    gem 'webrat' 
    gem 'rspec' 
    gem 'rspec-rails' 
end 
gem "mocha", :group => :test 

Я не могу понять, почему А) Это не принимает информацию производства и B), почему я продолжаю получать нет такого файла для загрузки ошибки.

Любая помощь приветствуется.

ответ

1

Ваша табуляция отличается.

Whitespace indentation is used to denote structure; however tab characters are never allowed as indentation.

Попробуйте следующее:

# SQLite version 3.x 
# gem install sqlite3-ruby (not necessary on OS X Leopard) 
development: 
    adapter: sqlite3 
    database: db/development.sqlite3 
    pool: 5 
    timeout: 5000 

# Warning: The database defined as "test" will be erased and 
# re-generated from your development database when you run "rake". 
# Do not set this db to the same as development or production. 
test: 
    adapter: sqlite3 
    database: db/test.sqlite3 
    pool: 5 
    timeout: 5000 

production: 
    adapter: mysql 
    database: DATABASENAME 
    username: USERNAME 
    password: PASSWORD 
+0

Ну пятнистый, я все еще получаю 'нет такого файла для загрузки - OpenId/магазин/файловой системы' ошибка, хотя. – dannymcc

+0

Попробуйте запустить 'bundle exec rake db: migrate' – Gazler

+0

К сожалению, его не сработало. – dannymcc