2010-05-25 2 views
1

У меня возникли проблемы, создающие простую модель формы базы данных. Я использую:База данных для создания Symfony от модели

  • Учение о Symfony 1.4.4
  • MySQL Workbench 5.2.16 с Doctrine Экспорт 0.4.2dev

Так что мой ERL Модель:

http://img708.imageshack.us/img708/1716/tmg.png

Генерализованный файл YAML:

--- 
detect_relations: true 
options: 
    collate: utf8_unicode_ci 
    charset: utf8 
    type: InnoDB 

Course: 
    columns: 
    id: 
     type: integer(4) 
     primary: true 
     notnull: true 
     autoincrement: true 
    name: 
     type: string(255) 
     notnull: true 
    keywords: 
     type: string(255) 
     notnull: true 
    summary: 
     type: clob(65535) 
     notnull: true 

Lecture: 
    columns: 
    id: 
     type: integer(4) 
     primary: true 
     notnull: true 
     autoincrement: true 
    course_id: 
     type: integer(4) 
     primary: true 
     notnull: true 
    name: 
     type: string(255) 
     notnull: true 
    description: 
     type: string(255) 
     notnull: true 
    url: 
     type: string(255) 
    relations: 
    Course: 
     class: Course 
     local: course_id 
     foreign: id 
     foreignAlias: Lectures 
     foreignType: many 
     owningSide: true 

User: 
    columns: 
    id: 
     type: integer(4) 
     primary: true 
     unique: true 
     notnull: true 
     autoincrement: true 
    firstName: 
     type: string(255) 
     notnull: true 
    lastName: 
     type: string(255) 
     notnull: true 
    email: 
     type: string(255) 
     unique: true 
     notnull: true 
    designation: 
     type: string(1024) 
    personalHeadline: 
     type: string(1024) 
    shortBio: 
     type: clob(65535) 

UserCourse: 
    tableName: user_has_course 
    columns: 
    user_id: 
     type: integer(4) 
     primary: true 
     notnull: true 
    course_id: 
     type: integer(4) 
     primary: true 
     notnull: true 
    relations: 
    User: 
     class: User 
     local: user_id 
     foreign: id 
     foreignAlias: UserCourses 
     foreignType: many 
     owningSide: true 
    Course: 
     class: Course 
     local: course_id 
     foreign: id 
     foreignAlias: UserCourses 
     foreignType: many 
     owningSide: true 

И независимо от того, что я пытаюсь эту ошибку происходит после того, как:

symfony doctrine:build --all --no-confirmation 

SQLSTATE[42000]: Syntax error or access violation: 1072 Key column 'user_userid' doesn't exist in table. Failing Query: "ALTER TABLE user_has_course ADD CONSTRAINT user_has_course_user_userid_user_id FOREIGN KEY (user_userid) REFERENCES user(id)". Failing Query: ALTER TABLE user_has_course ADD CONSTRAINT user_has_cou 
rse_user_userid_user_id FOREIGN KEY (user_userid) REFERENCES user(id) 

В настоящее время я учусь Symfony, и застрял с этой ошибкой. Пожалуйста помоги.

ответ

1

Это как сказано в ошибке: столбец «user.user_id» не существует. В ваших отношениях вы ссылаетесь на столбец с именем «user_id», который должен находиться в таблице «user», но вместо этого ваша таблица пользователя имеет столбец «id».

0

Убедитесь, что вы используете InnoDB для своего механизма Schema как MyISAM, а другие не поддерживают внешние ключи.

Смежные вопросы