Патчим mysqldump в домашніх умовах

image
Бекапи це добре, а ще краще коли вони працюють так, як треба коли вони потрібні. На одному з проектів знадобилося відновити дамп з 745 тригерів і охопити їх на робочу MySQL базу.

MySQL дозволяє використовувати будь-які імена тригерів, у тому числі з використанням точок (, наприклад:
analitica.cron.indeg.y.run.a_insert
). А mysqldump при створенні дампа не враховує цю обставину і додає конструкцію для їх дропа наступного виду:

/*!50032 DROP TRIGGER IF EXISTS analitica.cron.indeg.y.run.a_insert */;

Підступ чекає при спробі ці дампи накотити на базу де ці тригери вже створені. З точки зору MySQL цей запит не дропнет тригер, тому що не знайде тригер з таким ім'ям. Для коректної роботи ім'я тригера має бути укладена в одинарні лапки.

Читати далі →

Система складання для великих модульних проектів

На сторінках нашого блогу ми вже писали про переваги організації репозиторію великого проекту способом, що передбачає можливість вилучення джерел в змінювану структуру робочої копії. Використання такого підходу укупі з потребами простого конфігурування, фрагментарною складання, підтримки декілька десятків ОС під широкий спектр апаратних платформ стали причиною розробки нами власної системи складання. Ця стаття розповідає про знайдених нами рішеннях, які можуть бути цікаві розробникам, сталкивающимися з труднощами підтримки інфраструктури великих проектів.



Читати далі →

Збірка docker контейнерів з допомогою docker контейнерів

image

З моменту початку роботи з Docker, ми зіткнулися з чималою кількістю проблем. Одна з них — організація складання додатків та пакування їх у контейнери. Ми вирішили цю задачу за допомогою введення концепції складального контейнера. Про те, що це таке, навіщо потрібно і як ми до цього дійшли і піде мова в цьому пості.
Читати далі →

Використання можливостей git-а в системі складання модульного проекту

У нашому блозі ми вже розповідали про принципи організації репозиторію великого проекту як сукупності незалежних модулів, що дозволяє організувати витяг вихідних кодів в довільну файлову структуру робочої копії. Зрозуміло, такий підхід не міг не позначитися на системі складання проекту, оскільки зажадав створення механізму відстеження залежностей між модулями з урахуванням їх фактичного розміщення. Ця стаття присвячена тому, як можна використовувати можливості git-а для вирішення не тільки цієї задачі, але і для вилучення фрагмента проекту з автоматичним урахуванням внутрішніх межмодульних залежностей.



Читати далі →

Ultimaker 2

  Журнал Make назвав у листопаді 2012 року принтер Ultimaker Original «найточнішим і найшвидшим 3D принтером».
А я чекав-чекав можливості помацати хоча б першу модель, а тут — відразу друге!
Поспішаю поділитися з хабрсообществом тим, що я побачив.
Що ж представляє із себе Ultimaker 2 ?
 
 
 
Дуже гарне відео:
 
  
Читати далі →