новое в rails, настройка db, а затем запуск rake db:create / migrate

привет im в настоящее время изучает рельсы и после учебника. инструкции состояли в том, чтобы отредактировать файл миграции после создания приложения, затем запустить rake db:migrate, затем rake db:create.

я отредактировал файл миграции следующим образом:

class CreateUsers < ActiveRecord::Migration
  def change
    create_table :users do |t|
      t.string :username
      t.string :email
      t.string :encrypted_password
      t.string :salt
      t.timestamps
    end
  end
end

затем, когда я запустил "rake db: migrate", я получил ошибку

Mysql2::Error: Table 'users' already exists: CREATE TABLE `users` ...

после того, как я должен запустить "rake db: create" , затем я получаю это

user_auth_development already exists
user_auth_test already exists

2 ответов


запустить rake db:create один и только один раз, и вы запускаете его первым. Затем запустите rake db:migrate каждый раз, когда вы добавить/изменить миграции. Вы либо уже выполнили эту миграцию, либо указываете на базу данных, которая уже существует и уже содержит таблицу с именем users. Я предполагаю, что вы уже запустили миграцию один раз, и в этом случае вам, вероятно, хорошо идти. Если вы хотите взорвать БД и начать все сначала, сделайте rake db:drop db:create db:migrate.


мы можем просто дать, он будет делать все задания грабли, которые требуются для создания базы данных и миграции

rake db:setup