Thinking about SQL transactions

On this week I have been thinking about SQL transactions and how it can be used in WordPress. Right now we only have functions like update_option() or update_post_meta().

But what if you should insert multiple values at the same time? Of course, you can go through step by step and insert (or update) each part of your data via small portions. It may raise an unexpected system behavior in some cases.

Imagine that your PHP script is executing code which should validate and save some data from an external request. During the process, you can save only half of this data and on the one the next step you can catch an error which signals that data was not saved. Some of the data was already replaced by new values and you should answer with 200 or 400 status code. What you will do? That’s why transactions are important.

I will think about this issue in conjunction with WP Kit Data components. I am interested in refactoring this part of the library but not decided how exactly should new flow of data saving looks like.

Import and export WordPress database with utf8mb4 charset

Import and export WordPress database with utf8mb4 charset

Here is a short guide how to export and import your WordPress database without data loss. UTF8MB4 charset is tricky and sometimes your database may looks ok but take your time. Double check everything. I lost some data after migrating site between two servers and afterward spend more time to back all the things. Just my experience.

Continue reading

Как сделать чтобы в MySQL встала utf8mb4 пожалуйста

Очередной раз упоролся с переносом базы данных.

Кодировка utf8mb4 уже не такая новинка как пару лет назад и даже на большинстве шеред-хостингах админы наконец-то обновили софт и теперь она поддерживается, ура.

Continue reading

Веб-сервер с MySQL и преферансом за 5 секунд

Попытавшись с наскоку разобраться в Vagrant и Chef для создания небольшого локального сервера для разработки, стало понятно, что тема не на пару вечеров и, как и всегда, нужно больше времени. Тем не менее, сервер то нужен, поэтому нашелся Scotch Box — LAMP-сервер, который просто работает и завести который дело 5 секунд.

Для тех, кто вообще-то дизайнер и не знает с какой стороны все это настраивается и не очень хочет разбираться в сотне модулей Apache, Engine в MySQL и сотне прочих обвесов, так самое оно.

Пользуемся, радуемся, выкидываем на помойку встроенный в Mac OS Apache и прочее. Кстати, сервер через виртуальную машину еще и удобен тем, что позволяет включать и выключать сотню приложений за 1 команду. Если ставить весь софт прямо на свою обычную систему, то запуск и остановка всех Apache, MySQL, Memcache… занимает время.

box.scotch.io