Всем привет кто либо использует в доктрине 2.10.4 тип guid ?


у меня при каждом дифе генерируется следующие строки в миграции
$this->addSql('ALTER TABLE files ALTER author_id TYPE UUID');
$this->addSql('ALTER TABLE files ALTER author_id DROP DEFAULT');

вот таким вот образом оформлено поле
/**
* @ORM\Embedded(class="AuthorId", columnPrefix=false)
*/
AuthorId
/**
* @ORM\Column(type="guid", name="author_id")
*/

кто-то знает как решить ? гуглил, такая проблема раньше была у Ramsey::Uuid и она решается
не хотелось бы сейчас на него переходить

база постгрес

18 ответов

27 просмотров

тебя смущает то, что TYPE UUID, а не GUID ?

Вероятно у вас postgres, который оправданно хочет хранить uuid как специальный постгресовый тип данных uuid. А у вас колонка с типом "строка". Если есть возможность исправить тип и хранить uuid как uuid вместо строки, то лучше так и сделать, т.к. под капотом тип uuid хранит данные в бинарном виде, 16 байт. Строка же будет весить гораздо больше. А с учетом того, что по id юзера скорее всего будет индекс, да и просто экономичнее, то тут выборо очевиден. Если же вы поклонник хранить uuid как строки, то наверное нужно указать type="string" тогда

Dmitry- Автор вопроса
Dmitry
а где у меня там строка указана ?

В коде как раз указано правильно, uuid. Но в бд по всей видимости тип у колонки строка. Иначе почему дифф расхождение выдает

𝔏𝔦𝔩𝔦𝔱𝔥
та не, доктрина сохраняет типы uid в бинарники

это видимол в mysql, и если так, то гуд. У mysql нет типа данных uuid, и там надо в binary хранить

Dmitry
нет, в базе указано uuid

ок, тогда не знаю, думал дифф дает из - за того, что в бд строка

Dmitry
нет, в базе указано uuid

с другими типами uid не пробовал?

Dmitry- Автор вопроса
𝔏𝔦𝔩𝔦𝔱𝔥
с другими типами uid не пробовал?

например ? у доктрины только один тип - guid

да, у меня всё ок

Dmitry- Автор вопроса

попробуй COMMENT ON COLUMN files.author_id IS '(DC2Type:guid)'

Dmitry- Автор вопроса
Константин Грачев
попробуй COMMENT ON COLUMN files.author_id IS '(DC...

попробую, но сам дифф такого каменты не хочет ставить, что странно

Dmitry
попробую, но сам дифф такого каменты не хочет став...

потому что в классе этого типа скорее всего указано false на установке коммента

Dmitry
попробую, но сам дифф такого каменты не хочет став...

https://github.com/ramsey/uuid-doctrine/pull/100#discussion_r472946672 Я глубоко не разбирался, но diff у меня так себя вёл всегда когда комета на колонке не было

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта