it-swarm.com.de

Neu bei Rails: Richten Sie db ein und führen Sie dann rake db: create / migrate aus

hi, ich lerne gerade Rails und folge einem Tutorial. die anweisungen lauteten, die migrationsdatei zu bearbeiten, nachdem ich die app erstellt habe, und dann rake db: migrate und dann rake db: create auszuführen.

ich habe die Migrationsdatei folgendermaßen bearbeitet:

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

wenn ich dann 'rake db: migrate' ausgeführt habe, ist ein Fehler aufgetreten

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

nachdem ich 'rake db: create' ausführen soll, bekomme ich das

user_auth_development already exists
user_auth_test already exists
26
Harvey Katrina

Sie laufen rake db:create einmal und nur einmal, und Sie führen es zuerst aus. Dann führen Sie rake db:migrate jedes Mal, wenn Sie eine Migration hinzufügen/ändern. Entweder haben Sie diese Migration bereits ausgeführt oder Sie verweisen auf eine Datenbank, die bereits vorhanden ist und eine Tabelle mit dem Namen users enthält. Ich vermute, Sie haben die Migration bereits einmal durchgeführt. In diesem Fall können Sie wahrscheinlich loslegen. Wenn Sie die Datenbank entpacken und von vorne beginnen möchten, tun Sie rake db:drop db:create db:migrate.

50
Jim Stewart

Wir können einfach geben, es erledigt alle Rake-Aufgaben, die für die Erstellung und Migration der Datenbank erforderlich sind

rake db:setup

18
KannanHudson