Stas
к чему эти ужимки? что за база?
да просто долго голову ломал как искать по базе неиспользуя эластик
👀
ребята, кто-то объединял vue.js и graphql? я нагуглил apollo, и всё-бы хорошо, да он мне OPTIONS запросы шлёт. Как от этого избавиться?
Dmitriy
А как прокси делается в MySQL? А что не так с репликацией?
Родной MySQL proxy. До 10 версии нет логической репликации. pglogical это костыль без норм доки. пару дней убивается в начале на него. Pl/Proxy это вообще обертка create server. и т.д
Lee
Парни, я так понимаю, когда пишешь миграцию — safeUp() либо up() разница есть только если фичу поддерживает субд?
Borys
транзакции
Borys
в комментах при генерации написано же
Ivan
Родной MySQL proxy. До 10 версии нет логической репликации. pglogical это костыль без норм доки. пару дней убивается в начале на него. Pl/Proxy это вообще обертка create server. и т.д
Я почему-то нагуглил только альфу прокси, с предупреждением не для продакшена в архивах https://downloads.mysql.com/archives/proxy/. По поводу логической репликации, у неё много своих не лечащихся болячек. Вида - очень долгий запрос, который изменяет мало строк (statement based тормозит), маленький запрос, меняющий миллион строк - row based тормозит.
Lee
Я сгенерировал транзакцию create_*_table, получился простой up(). Переименновал его в safeUp() — но вот в процессе применения миграции произошла ошибка, хотя safeDown() не сработал.
Lee
Т.е. когда я поправил чёто в миграции, применил её повторно — выдало ошибку что таблица уже есть.
Ivan
Плюс MySQL же всегда будет писать и WAL и лог для реплик отдельно, из-за механизма подключения движков, насколько я понимаю. Хотя при физической репликации можно обойтись только WAL
Lee
MariaDB 10.1
mr.
В MySQL завезли в 8 версии транзакционный DDL
Ivan
2.0.13 установлена. Нифига.
Странно, у меня safe генерируются
mr.
В MySQL завезли в 8 версии транзакционный DDL
Лол, забыл где слышал, в доке говорят - не завзели. https://dev.mysql.com/doc/refman/8.0/en/cannot-roll-back.html
SiZE
офтопик: в телеге есть хоткей убирающий превью ссылки при публикации?
Ivan
2.0.13 установлена. Нифига.
https://github.com/yiisoft/yii2/blob/2.0.12/framework/views/migration.php Я генерирую пустую миграцию из консоли, давая только имя, а не указывая там поля. Поэтому по дефолту и safe, если вызывать с параметрами чтобы он код поднятия таблицы там написал, тогда будет без safe
Rinat
разве нет?
Ivan
https://github.com/yiisoft/yii2/issues/14568
Да, вижу. То же что написал я.
Stas
@k1sliy не нравится твое условие говорит надо второй операнд для ора предоставить а если согласно мануалу ставишь его то вылетает strpos() expects parameter 1 to be string, array given
Stas
хотя пробовал тыкать простой массив
Stas
какого то хера yii ненравится моой массив колонок
Niko
Привет всем! В Rbac исопльзую PhpManager и при динамическом добавлении ролей получил ошибку file_put_contents(/var/www/зкщоусе/common/rbac/assignments.php): failed to open stream: Permission denied Какой нужно настроить доступ к этому файлу, чтоб не все могли записывать в него, а только я? Сейчас у него 275
Niko
644?
Vladimir
Stas
думаеш непробовал
Stas
всеравно некатит буду короч ошибку искать
Stas
спасибо и на этом
mr.
всеравно некатит буду короч ошибку искать
распакуй массив через оператор ...
mr.
А не, этот оператор только при передаче параметров функции работает.
mr.
думаеш непробовал
Короче, $columns = DealModel::find() ->select('column_name') ->from('information_schema.columns') ->where(['table_name' => 'deal']) ->column(); $conditions[] = 'or'; foreach ($columns as $column) { $conditions[] = ['like', $column, "%{$string}%"]; } $search = DealModel::find() ->where($conditions) ->all();
mr.
Так должно работать)
Stas
йоба
Stas
mr.
йоба
Я ещё могу схему через билдер вытащить вместо запроса, но тебе уже дали ссылку, делай сам)
Ivan
Там в первом запросе не нужно DataModel, он фактически используется как query
Ivan
Нуб, $columns = DealModel::getTableSchema()->getColumnNames();
Ну если так работает, то так ещё лучше
mr.
Ну если так работает, то так ещё лучше
Канешно работает, если кеширование схемы включишь, то это даже запрос порождать не будет)
mr.
$conditions[] = 'or'; foreach (DealModel::getTableSchema()->getColumnNames() as $columnName) { $conditions[] = ['like', $columnName, "%{$string}%"]; } $search = DealModel::find() ->where($conditions) ->all();
mr.
Могу ещё сокращать, но это уже станет нечитаемым)
Ivan
Канешно работает, если кеширование схемы включишь, то это даже запрос порождать не будет)
Ну так вопрос то не от меня был. Кэширование у меня то включено.
mr.
Да вы не местные, путаюсь)
Konstantin
без аватарок вообще сложно
Ivan
Могу ещё сокращать, но это уже станет нечитаемым)
Ты бы ещё придумал как сюда вставить параметры по-PDOшному, чтобы не было инъекций.
Ivan
Да вы не местные, путаюсь)
Ну я тут два месяца уже сижу)
Konstantin
а что тут придумывать?
Konstantin
во-первых, с лайком лажа
Konstantin
> For example, ['like', 'name', ['test', 'sample']] will generate name LIKE '%test%' AND name LIKE '%sample%'
Konstantin
не надо туда никаких процентов приклеивать, все само сделается
Konstantin
ну и ['like', $columnName, $string] вот это уже защищено от инъекции
Konstantin
вот
Konstantin
For example, ['like', 'name', 'tester'] will generate name LIKE '%tester%'.
Konstantin
прямо из доки
Niko
@vladimirdotk Я пытаюсь запись произвести динамически через php-код и получается, что пользователь у меня не определяется как root или какой-то еще, правильно? Значит поменять 5 на 6 - единственный выход в моей ситуации?
Vladimir
@vladimirdotk Я пытаюсь запись произвести динамически через php-код и получается, что пользователь у меня не определяется как root или какой-то еще, правильно? Значит поменять 5 на 6 - единственный выход в моей ситуации?
пользователь есть всегда, нужно понять какой, если ты хочешь дать права на чтение и запись только ему, а другим только чтение, то выставляй права 644, и владельцем файла делать твоего пользователя, которые записывает в файл
Niko
@vladimirdotk если я у себя в проекте произвожу аутентификацию как "Админ" или как "User" - на сервере это ведь получится один и тот же пользователь? Могу ли я их как-то разграничить для сервера?
Vladimir
Поробуй что-нибудь типа <?php exec('whoami') ?> чтобы узнать от какого пользователя php работает
Vladimir
ну или нагугли более приемлимый способ)
Ivan
PHP если это веб исполняется или из под юзера, который прописан в конфиге apache, или если это fpm, то юзер в конфиге пула fpm
Niko
nginx, а там исопльзуется fpm
Vladimir
юзер наверно какой-ниь php-fpm или www-data
👻
если не ошибаюсь то phpinfo() покажет юзера
Niko
У мнея есть папка куда я загружаю файлы, прставил на нее права пользователя www-data. Его права на папки 755, а на файлы - 644. У assignments.php файла права - -rw-r--r--
👻
ты верен что www-data