beldmit: (Программизм)
[personal profile] beldmit
В рассылке по DBIx::Class пишут, что если в MySQL сказать

SET FOREIGN KEYS OFF;

Испортить консистентность данных

и сказать

SET FOREIGN KEYS ON;

То MySQL проглотит молча.

Date: 2011-04-14 08:37 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Проглотить то проглотит, но боюсь что ее в результате таки стошнит...

Date: 2011-04-14 08:38 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Да, в жж ссылка с кол-ва dw-комментариев ведет куда-то совсем не туда...

Date: 2011-04-14 07:21 pm (UTC)
From: [identity profile] yakov-sirotkin.livejournal.com
Зато работает быстро!

Думаю, на самом деле это зависит от версии и настроек.

Date: 2011-04-14 07:25 pm (UTC)
vitus_wagner: My photo 2005 (Default)
From: [personal profile] vitus_wagner (from livejournal.com)
И еще небось от типа таблицы.

Date: 2011-04-14 07:28 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Ну, не при каждом типе вообще есть внешние ключи

Date: 2011-04-14 08:48 pm (UTC)
From: [identity profile] alexkuklin.livejournal.com
(удивленно)
в mysql есть контроль целостности?

:))))

Date: 2011-04-15 05:27 am (UTC)
From: [identity profile] beldmit.livejournal.com
Там есть конструкция FOREIGN KEY. А про контроль целостности я пытаюсь выяснить.

Date: 2011-04-15 04:43 am (UTC)
From: [identity profile] provokatorz.livejournal.com
DBIx::Class - зло.

А сегодня пятница.

Date: 2011-04-15 05:28 am (UTC)
From: [identity profile] beldmit.livejournal.com
По сути заданного вопроса что-нибудь скажете?

Date: 2011-04-15 06:27 am (UTC)
From: (Anonymous) (from livejournal.com)
Это применяется при работе с дампами схемы, чтобы зависимости не мешали пересоздавать таблицы.

Date: 2011-04-15 07:24 am (UTC)
From: [identity profile] beldmit.livejournal.com
Дима, я понимаю, зачем это может быть нужно. Скажи, если внести неконсистентные данные и попытаться включить констрейнт - они включатся молча или выругаются на нарушение внешнего ключа?

Date: 2011-04-15 07:26 am (UTC)
From: (Anonymous) (from livejournal.com)
Учитывая статус mysql, должны молча включиться и если там косяк из-за которого отсутствуют форен-ключи, то Ты сам себе злобный буратино.

Date: 2011-04-15 07:27 am (UTC)
From: [identity profile] beldmit.livejournal.com
При чем тут статус MySQL - я не понял. PostgreSQL такого себе не позволяет, AFAIK.

Date: 2011-04-15 07:31 am (UTC)
From: (Anonymous) (from livejournal.com)
Ну извини :))) Кто Тебе мешает пользоваться постгрёй?

А на счёт отключения ключей всё просто. Сделай дамп с бд с форен-ключами, а потом попробуй этот же дамп БЕЗ ОТКЛЮЧЕНИЯ завсимостей залить в бд.

Date: 2011-04-15 07:38 am (UTC)
From: [identity profile] beldmit.livejournal.com
Эти грабли знаю. В PostgreSQL такой режим все-таки только для заливки из дампа.

Date: 2011-04-15 07:39 am (UTC)
From: (Anonymous) (from livejournal.com)
Если тебе важно каждое движение пользователей, переезжай на постгрю. Если не так уж и важно, то забей.

Date: 2011-04-15 08:02 am (UTC)
From: [identity profile] beldmit.livejournal.com
Мне - важно. Но я с нее и не уезжал.

Date: 2011-04-15 08:05 am (UTC)
From: (Anonymous) (from livejournal.com)
Тогда не жалуйся на mysql :) Ты ведь не жалуешься, что в макдоналдсе не подают свежего тунца специально для Тебя выловленного и поджареного :)

Date: 2011-04-15 08:34 am (UTC)
From: [identity profile] tolikl.livejournal.com
Это правда, т.е. таким образом в мускуле да, можно получить неконсистентные данные.

Date: 2011-04-15 08:42 am (UTC)
From: [identity profile] al-stager.livejournal.com
Насколько я помню, MySQL занимается целостностью данных по остаточному принципу в исключительных случаях.
То есть да, именно так и произойдет, мы когда-то по-моему на такое нарывались.
Точно уже не скажу, много лет прошло и в новых версиях уже может быть масса всего. Но если б я спорил на деньги, то ставил бы на "да".

Profile

beldmit: (Default)
Dmitry Belyavskiy

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122 2324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 26th, 2025 08:35 pm
Powered by Dreamwidth Studios