Mise à jour
retour j'aller à une version précédente de la doctrine et maintenant l'erreur est:Erreur avec l'outil de ligne de commande doctrine
Invalid schema element named "Roles" at path "RoleResource->columns->relations"
c'est petit morceau le même fichier YAML (voir ci-dessous)
J'ai un problème avec l'outil de ligne de commande de doctrine. Quand je donne la commande "build-all-reload", je suis te erreur suivant:
SQLSTATE[42000]: Syntax error or access violation: 1072 Key column 'role_id' doesn't exist in table. Failing Query: "CREATE TABLE resource (id BIGINT AUTO_INCREMENT, name VARCHAR(20), INDEX role_id_idx (role_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB". Failing Query: CREATE TABLE resource (id BIGINT AUTO_INCREMENT, name VARCHAR(20), INDEX role_id_idx (role_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE = INNODB
Mon fichier YAML ressemble à ceci:
detect_relations: true
options:
type: INNODB
collate: utf8_general_ci
charset: utf8
Log:
columns:
id:
type: integer
primary: true
autoincrement: true
priority: tinyint
priorityName: string(10)
title: string(250)
message: text
actAs:
Timestampable:
created:
type: timestamp
format: Y-m-d H:i:s
updated:
disabled: true
User:
columns:
id:
type: integer
primary: true
autoincrement: true
username: string(50)
password: string(40)
actAs:
Timestampable:
created:
type: timestamp
format: Y-m-d H:i:s
updated:
type: timestamp
format: Y-m-d H:i:s
Role:
columns:
id:
type: integer
primary: true
autoincrement: true
name: string(20)
attributes:
export: all
validate: true
RoleResource:
columns:
role_id:
type: integer
primary: true
resource_id:
type: integer
primary: true
relations:
Role:
foreignAlias: RoleResource
Resource:
foreignAlias: RoleResource
Resource:
columns:
id:
type: integer
primary: true
autoincrement: true
name: string(20)
relations:
Roles:
foreignAlias: Resources
class: Role
refClass: RoleResource
Menu:
columns:
id:
type: integer
primary: true
autoincrement: true
label: string(20)
Artical:
columns:
id:
type: integer
primary: true
autoincrement: true
title: string
content: longtext
css: longtext
js: longtext
Je ne sais pas comment résoudre ce problème .
Quelqu'un peut-il m'aider s'il vous plaît?
Il semble essayer d'ajouter un index sur une colonne role_id dans la table resources, mais la table ne contient pas cette colonne. Êtes-vous absolument sûr que c'est le fichier de schéma que votre commande de construction exécute? – Tom
Je suis sûr, mais il semble que la doctrine met en cache le fichier. –
Je l'ai eu par le passé. Essayez de voir si vous pouvez trouver un dossier temporaire quelque part et supprimer tous les fragments de schéma à l'intérieur. Je cours XAMPP sur Win7 à la maison et dans mon cas le dossier de temp était dans les dossiers de XAMPP. Vous devrez peut-être répéter cela chaque fois que vous construisez. Semble affecter les versions les plus récentes de Doctrine 1.2 pour une raison quelconque. – Tom