2013-12-20 2 views
3

Я заполняю учебник Ruby On Rails 3 Essential Training через Lynda.com на для Windows 7 64 с помощью MySQL Server 5.7, MySQL Connector C 6,1 6.1.2 , Ruby 1.9.3p392 (2013-02-22) [i386-mingw32] и Rails 4.0.2.Rake Отменено: дб: схема: свалка

В разделе «Базы данных и миграции» я пытаюсь синхронизировать базу данных, созданную мной в MySQL, с моим проектом Rails, однако я столкнулся с сообщением о прерывании.

инструктор спросил мой класс, чтобы пройти через командной строки, чтобы открыть наш проект рельсов и выполнить Rake, чтобы построить «schema.rb» с этим кодом:

$ грабли БД: схемы: дамп

И это преждевременное прекращение сообщение является результатом каждый раз, когда я печатаю этот код в:

C: \ Users \ User \ Documents \ simple_cms> грабли БД: схема: дамп

rake aborted!

Не знаю, как построить задачу «дб: схемы: дамп»

(см полный след, выполнив задачу с --trace)

я провел последние 24 часа деинсталлировать, загрузку и переустановку нескольких версий Ruby, Rails, как MySQL Server, так и Connector с самой длинной частью моего времени обучения, чтобы узнать, как добавить установку MySQL2, которую я выполнил, загрузив более старую версию mysql 0.2.6.

Однако, несмотря на это, это сообщение прерывания оставалось неизменным.

Кроме того, ни один DB не сгребает шоу, когда я набираю в rake -T, как вы видите здесь:

грабли около

рек активов: чистые [Сохранить]

рек активов: затирать

rake assets: окружающая среда

rake assets: precompile

грабли cache_digests: зависимостей

грабли cache_digests: nested_dependencies

(где дб должен показать, но не)

грабли Doc: приложение

...

тест грабли: все: дб

...

грабли TMP: создать

Помощь?


Gem файла по запросу

source '...' 

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '4.0.2' 

# Use mysql as the database for Active Record 
gem 'mysql2' 

# Use SCSS for stylesheets 
gem 'sass-rails', '~> 4.0.0' 

# Use Uglifier as compressor for JavaScript assets 
gem 'uglifier', '>= 1.3.0' 

# Use CoffeeScript for .js.coffee assets and views 
gem 'coffee-rails', '~> 4.0.0' 

# See ... for more supported runtimes 
# gem 'therubyracer', platforms: :ruby 

# Use jquery as the JavaScript library 
gem 'jquery-rails' 

# Turbolinks makes following links in your web application faster. Read more: ... 
gem 'turbolinks' 

# Build JSON APIs with ease. Read more: ... 
gem 'jbuilder', '~> 1.2' 

group :doc do 
    # bundle exec rake doc:rails generates the API under doc/api. 
    gem 'sdoc', require: false 
end 

# Use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.1.2' 

# Use unicorn as the app server 
# gem 'unicorn' 

# Use Capistrano for deployment 
# gem 'capistrano', group: :development 

# Use debugger 
# gem 'debugger', group: [:development, :test] 
+0

Вы бы разделить этот код вы используете где-то, как [GitHub] (http://github.com/), это действительно трудно понять это из учебника, подобного этому. –

+0

вам нужно поделиться своим Gemfile и быть уверенным, что вы запустили: bundle install, похоже, что он не знает, какую БД использовать, и надеюсь, что вы не создали проект следующим образом: rails new appname --skip-active-record что не даст вам связанных с db вещей в рельсах – bjhaid

+0

@bjhaid Я просто добавил GemFile к вопросу выше –

ответ

0

В файле database.yml, вы должны иметь что-то вроде:

default: &default 
    adapter: mysql2 
    encoding: utf8 
    database: simple_cms_development 
    pool: 5 
    username: simple_cms 
    password: secretpassword 
    socket: /tmp/mysql.sock 

development: 
    <<: *default 
    database: simple_cms_development 

Вы должны проверить, возможно ли database правильно определенных в вашей реальной среде (development).

Комментарий: У вас нет db: с командой rake -T, поэтому проблема в другом месте.

0

Вы получите эту ошибку

~/Project$ rake db:schema:dump 
rake aborted! 
Don't know how to build task 'db:schema:dump' 
(See full trace by running task with --trace) 

потому active_record не включен в приложении рельсов

добавить следующую строку в application.rb

require "active_record/railtie" 

Теперь попробуйте,

~/Project$ rake -T 

Вы должны иметь возможность видеть грабли БД команды

$ rails -T 
rails about        # List versions of all Rails frameworks and the environment 
rails assets:clean[keep]     # Remove old compiled assets 
rails assets:clobber      # Remove compiled assets 
rails assets:environment     # Load asset compile environment 
rails assets:precompile     # Compile all the assets named in config.assets.precompile 
rails cache_digests:dependencies   # Lookup first-level dependencies for TEMPLATE (like messages/show or comments/_com... 
rails cache_digests:nested_dependencies # Lookup nested dependencies for TEMPLATE (like messages/show or comments/_comment.... 
rails db:create       # Creates the database from DATABASE_URL or config/database.yml for the current RAI... 
rails db:drop       # Drops the database from DATABASE_URL or config/database.yml for the current RAILS... 
rails db:environment:set     # Set the environment value for the database 
rails db:fixtures:load     # Loads fixtures into the current environment's database 
rails db:migrate       # Migrate the database (options: VERSION=x, VERBOSE=false, SCOPE=blog) 
rails db:migrate:status     # Display status of migrations 
rails db:rollback      # Rolls the schema back to the previous version (specify steps w/ STEP=n) 
rails db:schema:cache:clear    # Clears a db/schema_cache.dump file 
rails db:schema:cache:dump    # Creates a db/schema_cache.dump file 
rails db:schema:dump      # Creates a db/schema.rb file that is portable against any DB supported by Active R... 
rails db:schema:load      # Loads a schema.rb file into the database 
rails db:seed       # Loads the seed data from db/seeds.rb 
rails db:setup       # Creates the databa 
Смежные вопросы