Je lance la migration, après quelques corrections dans ma configuration,
je
bloque sur :
== RubyThud: migrating
– create_table(:player)
rake aborted!
Mysql::Error: #42000You have an error in your SQL syntax; check the
manual
that corresponds to your MySQL server version for the right syntax to
use
near ‘(11), login varchar(255) NOT NULL, password varchar(32) NOT
NULL, email va’ at line 1: CREATE TABLE player (id int(11) DEFAULT NULL
auto_increment PRIMARY KEY(11), login varchar(255) NOT NULL, password
varchar(32) NOT NULL, email varchar(255) NOT NULL, joined datetime
DEFAULT NULL, lastup datetime DEFAULT NULL, online tinyint(1)
DEFAULT
NULL) ENGINE=InnoDB
Et je me demande pourquoi il y a un “PRIMARY KEY(11)” dans la requête.
Normalement primary key se suffit à lui-même en mysql.
Quelqu’un sait ? C’est un bug de rake ? Si oui il y a eu une correction
?
Je lance la migration, après quelques corrections dans ma configuration, je
auto_increment PRIMARY KEY(11),
create_table va te créer automatiquement une clé primaire id
sauf si tu lui spécifie de ne pas le faire (:id => false). Or
tu as également déclaré une colonne id.
Rails va te générer le id int(11) DEFAULT NULL auto_increment PRIMARY
KEY
ta déclaration supplémentaire va rajouter le (11). D’où la belle
erreur de syntaxe MySQL.
Quelqu’un sait ? C’est un bug de rake ? Si oui il y a eu une correction ?
D’autre part, si tu peux/souhaites suivre les conventions de
Rails, le nom de ta table sera ‘players’.