2013-07-26 1 views
0

Я не вижу связи (внешние ключи) в диаграмме базы данных, сгенерированной с помощью intellij (используя phpstorm 6.0.3). Here - это видео, показывающее некоторые функции intelij, и что у парней есть свои визуальные клавиши, видимые и связанные. И here - мой скриншот. Любая идея почему? Это ошибка?Intellij idea/phpstorm database UML-диаграмма ошибка внешнего ключа?

Вот краткая таблица пример генерирования кода скопирована из моей БД:

Create table Book (
    id Integer Not Null Auto_increment, 
    Ad_id Integer Not Null, 
    title VarChar(150) Not Null, 
    isbn VarChar(80) Null,  
    Constraint PK_Book Primary Key (id) 
); 
Create table Ad (
    id Integer Not Null Auto_increment,  
    displayed Integer Not Null, 
    price Integer Not Null, 
    inserted Integer Not Null, 
    Constraint PK_Ad Primary Key (id) 
);  
Alter table Book add (
    Constraint FK_Book_1 Foreign Key (Ad_id) References Ad(id) On Update Cascade On Delete Cascade 
); 
+0

Чисто основано на скриншотах: на самом деле у вас есть внешние ключи в ваших DB/таблицах? Внешние ключи должны иметь значок «синий» ** (при просмотре структуры базы данных .. или на диаграмме (когда поле уже не является первичным ключом). Слишком плохо, что у меня нет какой-либо БД на руке, в которой используются внешние ключи (так что я могу проверить его с моей стороны) ... – LazyOne

+0

Да, я уверен. Когда я запускаю операторы MySQL в этой структуре db, он уважает внешние ключи как следует. Я добавлю пример sql, генерирующий таблицы. – Srneczek

+0

Работает для me (MySQL db): http://s17.postimg.org/qxfymho8v/screen01.png - вот как IDE построила его для меня. PhpStorm build 130.1293 здесь. – LazyOne

ответ

0

Это была определенно ошибка. На диаграмме иногда отображаются внешние ключи, а иногда и тот же самый sql-скрипт, генерирующий базу данных. У меня такое чувство, что это связано с плохой синхронизацией, но мне нечего доказывать.

+0

Позже я узнал, что мой хостинг использует mysql engine witch не поддерживает внешние ключи. Мне пришлось переключиться на двигатель inno db. С тех пор диаграмма работает нормально. – Srneczek

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

  • Нет связанных вопросов^_^