-
Yii2. Как получить название базы данных?
Сегодня стала очень простая задача для которой, как оказалось нет нативного решения в коробке Yii2. Но, ничего страшного и вариант, как получить название базы данных в Yii2 был найден на просторах Сети. Всего-то навсего следует написать вот такую функцию: private function getDsnAttribute($name, $dsn) { if (preg_match(‘/’ . $name . ‘=([^;]*)/’, $dsn, $match)) { return $match[1];…
-
Postgres. Как установить dblink (contrib)?
Для выполнения запросов между различными БД в postgres необходимо установить библиотеку dblink (contrib). Для этого необходимо выполнить несколько простых шагов: 1) Устанавливаем расширение sudo apt-get install postgresql-contrib 2) Далее в Navicat, pgAdmin или другом Вашем интерфейсе: CREATE EXTENSION dblink;
-
MySQL. Перевод строки в нижний\верхний регистр.
Никогда нельзя забывать о регистрозависимости и возможности случайных недопонимании при работе со строками. Это касается и Баз Данных, и языков программирования и т.д. Ниже приведу две функции MySQL для приведения текста в нижний и верхний регистр. Верхний регистр: функция UPPER SELECT UPPER(‘Hello’); — HELLO Нижний регистр: функция LOWER SELECT LOWER(‘HeLlO’); — hello
-
Yii2. Как указать алиас в joinWith?
Для удобства работы с запросом, фильтрации и сортировки в сложных реляционных запросах удобно использовать joinWith. Но здесь иногда возникают трудности ввиду не очевидного присвоения алиаса для подключаемой таблицы. На самом деле же все достаточно просто. Исходя из ответа qiang на github: joinWith([ ‘customer’ => function ($q) { $q->from(‘customer cu’); }, ]) Таким образом мы можем…
-
Yii2. Как указать условие NOT NULL?
Приведу простой, но не очень очевидный ответ на вопрос, как следует указывать условие NOT NULL при работе с query builder. Код, на самом деле, очень прост. $post = Post::find() ->where([‘not’,[‘content’=>null]]) ->all(); Данный код сгенерирует именно тот запрос, что нам нужен и выберет записи, у которых content не равен NULL. Удачи!
-
PostgreSQL. Как открыть удаленный доступ?
Открыть доступ к PostgreSQL извне достаточно просто и в этой статье я приведу пример, как предоставить удаленный доступ к базе данных. Для начала в postgresql.conf ставим следующую конфигурацию: listen_addresses = ‘*’ Следующий шаг можно пропустить, если Вам не нужно создавать дополнительного суперпользователя. # переключаемся на юзера postgres su postgres # создаем нового пользователя createuser -P…
-
PostgreSQL. Где находится файл pg_hba.conf?
-
MySQL. Как сделать заглавной только первую букву?
Функции и хаки работы с MySQL иногда очень облегчают жизнь. Об одном из таких хаков я расскажу в этой заметке. Речь пойдет о хаке, который позволяет сделать со строки «ПРИВЕТ» — «Привет». Т.е. независимо от регистра входной строки получить первую заглавную букву. Итак, код ниже: SELECT CONCAT( UPPER( LEFT( `text` , 1 ) ) ,…
-
Php. Указание даты в словесном (относительном) формате.
Работа с датой — задача, которая встречается повсеместно. Таймштамп и класс DateTime существенно упрощают жизнь, но есть еще одна возможность, о которой сказано достаточно мало в Сети. Речь идет об относительном (словесном) указании даты. Он позволяет указать дату, например понедельника этой недели без высчитывания дат, отнимания от них количества дней и т.д. — а простым…
-
MySQL. Как сделать дамп и сразу импортировать его на удаленный сервер?
Очень редко — даже может быть один раз в жизни 🙂 — бывает необходимость сделать бекап и тут же его импортировать. Т.е. не делать файл выгрузки, который после будет импортирован. Подобная ситуация может возникнуть при работе с критично большими объемами БД или ограниченном месте на сервере, которое не позволяет сделать бекап. Причин может быть много.…