salut, je suis en train d'apprendre Rails et de suivre un tutoriel. les instructions étaient de modifier le fichier de migration après avoir créé l'application, puis d'exécuter rake db: migrate, puis rake db: create.
j'ai édité le fichier de migration vers ceci:
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
puis quand j'ai lancé 'rake db: migrate' j'ai une erreur
Mysql2::Error: Table 'users' already exists: CREATE TABLE `users` ...
après que je suis censé exécuter 'rake db: create', alors je reçois ceci
user_auth_development already exists
user_auth_test already exists
Vous courez rake db:create
une seule et unique fois, et vous l'exécutez en premier. Ensuite, vous exécutez rake db:migrate
chaque fois que vous ajoutez/modifiez une migration. Soit vous avez déjà exécuté cette migration, soit vous pointez sur une base de données qui existe déjà et contient déjà une table nommée users
. Je suppose que vous avez déjà exécuté la migration une fois, auquel cas vous êtes probablement prêt à partir. Si vous voulez neutraliser la base de données et recommencer, faites rake db:drop db:create db:migrate
.
Nous pouvons simplement donner, il fera tout le rake nécessaire à la création et à la migration de la base de données
rake db:setup