Précédent   Forum des professionnels en informatique > Autres langages > Autres langages > Ruby > Ruby on Rails
Ruby on Rails Le forum sur le framework Ruby on Rails. Voir aussi la FAQ RoR et les cours RoR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/10/2011, 14h40   #1
Invité de passage
 
Inscription : octobre 2011
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2011
Messages : 1
Points : 0
Points : 0
Par défaut mise à jour de la base de donnée

Bonjour,
J'ai une application sur Ruby on Rails, je veux faire la mise à jour de la base de donnée, j'utilise rubystack sous windows vista.
J'ai essayé la commande rake db:seed --trace
voici ce que ça donne :

(in C:/Users/dell/BitNami RubyStack Development projects/server)
** Invoke db:seed (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:abort_if_pending_migrations
You have 10 pending migrations:
20110204225837 CreateApps
20110205005643 CreateRatings
20110205154017 CreateVestalVersions
20110205165712 CreateVisuals
20110205165923 AddAttachmentImageToVisual
20110206210830 CreateTargets
20110206210905 CreateAppTargets
20110209223713 CreatePermissions
20110209223746 CreateAppPermissions
20110209224341 CreateComments
Run "rake db:migrate" to update your database then try again.


après j'ai alors essayé rake db:migrate --trace
et voici ce que ça donne

(in C:/Users/dell/BitNami RubyStack Development projects/server)
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:migrate
== CreateApps: migrating
=====================================================
-- create_table(:apps)
rake aborted!
An error has occurred, all later migrations canceled:

Mysql2::Error: Table 'apps' already exists: CREATE TABLE `apps` (`id`
int(11) DE
FAULT NULL auto_increment PRIMARY KEY, `creator` varchar(255),
`packageName` var
char(255), `title` varchar(255), `description` text, `appId`
varchar(255), `cate
gory` varchar(255), `recentChanges` text, `email` varchar(255), `phone`
varchar(
255), `website` varchar(255), `version` varchar(255), `versionCode`
int(11), `ap
pType` varchar(255), `promoText` text, `promoVideo` varchar(255),
`screenshotCou
nt` int(11), `price` varchar(255), `priceCurrency` varchar(255),
`installSize` v
archar(255), `created_at` datetime, `updated_at` datetime) ENGINE=InnoDB
C:/rails/ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/conn
ection_adapters/abstract_adapter.rb:202:in `rescue in log'...

Je ne comprends pas ce qui se passe, est ce que les tables sont crées ou pas ?
c'est la première fois que j'utilise ruby on rails et je débute en mysql. Et tout semble compliqué...

Merci d'avance
jasminia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 18h36   #2
Candidat au titre de Membre du Club
 
Homme
Inscription : novembre 2011
Messages : 8
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : novembre 2011
Messages : 8
Points : 11
Points : 11
Qu'est ce que tu entends par : "je veux faire la mise à jour de la base de donnée" ?

rake db:seed, c'est pour nourrir la base
rake db:migrate, c'est pour mettre à jour la structure

Autrement les messages d'erreurs que tu as :
1) seed plante parce que la structure n'est pas à jour "You have 10 pending migrations"
2) migrate plante parce que la base n'est pas à structurée comme il faut pour les migrations "Table 'apps' already exists"
Tu as dû modifier la structure à la main, ou injecter un dump sur une structure obsolète...ou peut être as tu modifié une migration en oubliant de faire un rollback avant...

Pour retrouver une base cohérente, je te suggère de faire dans l'ordre :
rake db:drop
rake db:create
rake db:migrate
rake db:seed
Ipoténuz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h21.


 
 
 
 
Partenaires

Hébergement Web