пятница, 16 декабря 2016 г.

Настройка DATABASE_URL для локальной разработки

При разработке go-проекта (да и любого другого) вы вправе использовать базу данных. Обычно подключение к базе данных требует dsn-строки определенного формата, например (для Postgres):

dbdsn = "dbname=my_database user=postgres password=my_password sslmode=disable"
db, err := sql.Open("postgres", dbdsn)


При размещении проекта на серверах heroku данная конструкция неактуальна, так как силами инженеров heroku dsn-строка перенесена в переменную окружения DATABASE_URL и код подключения выглядит так:

db, err := sql.Open("postgres", os.Getenv("DATABASE_URL"))

Таким образом вам не требуется знать логины-пароли и прочие детали подключения.

Но возвращаясь к локальной разработке вы снова должны внести в код dsn-строку с настройками вашей локальной БД, а при релизе - эту строку затереть. Таким образом, возникает ненужная суета в коде, которая при наличии гита или другой VCS фиксирует еще и ненужные изменения.
Поэтому синхронизируемся с подходом heroku и пропишем у себя переменную окружения с тем же именем.

четверг, 1 декабря 2016 г.

Сервис кодогенерации

Всем здрасьте.

Как-то давно я создал небольшой сервис, позволяющий быстренько сгенерировать php-код необходимый для создания пользовательского поля, свойства инфоблока или почтового события (даже вместе с шаблоном). Создать-то создал, но написать про это забыл)

Так вот, сервис находится тут. Интерфейс сервиса на английском, тут уж ничего не попишешь. Слева выбираете тип сущности который хотите создать, в подгружаемых полях указываете некоторые значения и на выходе получаете php-файлик с кодом. Файлик можно либо запустить, либо запустить код из него в командной php-строке Битрикса. Быстро и просто.

Для любителей телеграма - бот с похожим функционалом, правда поля в нем заполнить не выйдет, поэтому он просто отдает код, а вы там уже локально у себя разберетесь что и как исправить.

Вот собственно и все. Ссылка на сайт и на бота еще раз.