Upgrading to Mautic 2.9.2 requires a few tweaks

All experienced web developers know that before you run any updates to a system that you back up your database and files, and Mautic, the marketing automation platform, is no exception.  Mautic comes in two flavors and this only applies to the completely free community version, which in my opinion makes Mautic the best, most powerful and scalable free marketing automation system.  It comes with no strings attached!  I may be partial to Mautic because it’s built on Symfony, as an experienced Symfony PHP developer in Jacksonville, Florida, I can say it makes me feel better about its stability and it tells me that the people behind Mautic are serious about its future and success.  We’re talking about the platform’s code base, which is stable, secure, and strongly encourages best coding practices.

Also, Mautic under the hood is very easy to customize and extend.  It uses all of Symfony’s patterns and components, so it’s easy to create your own Twig templates for your company that can do some very intuitive things that you just can’t do in much more expensive marketing automation platforms like Hub Spot, Marketo, SharpSpring, and InfusionSoft.

The fact Mautic is built on a very familiar and stable PHP framework makes it very unique among the marketing automation systems out there and it is positioned to explode for businesses tired of paying thousands of dollars every month for software that locks them in.  Are any of these other marketing automation platforms developed in a major PHP framework?

Probably not, and this is an area of concern because if it’s all proprietary, these other MA’s (acronym for “Marketing Automation”) are reinventing the wheel with basic system functions, functions best left uncoupled to a framework so there’s parallel improvements to the system.  Symfony updates and improves the way code talks to the database while the Mautic magicians work on ways to improve Mautic.

Updating Mautic: The Two Golden Commands To Fix Your Marketing Automation Update

When you log into your Mautic, you will see update notification.  This always makes me a little anxious, especially knowing that it’s not a button click, there’s always something that needs to be done afterwards to make sure the update completes.  Usually, it hangs at the cache clearing stage during the automatic update, so it never actually reaches the part where it can update the database schema, so that’s where these two commands have saved the last three updates I’ve performed in Mautic since 2.7 all the way to 2.9.2, it’s most current available version.

First, “cd” into your Mautic directory in the command line, then type in the following:

app/console doctrine:migration:status
app/console doctrine:migration:migrate

Here’s something similar you should see after executing both commands.  Again, it hasn’t happened to me yet where I had to restore, but do not forget to make backups of your database and files!

$app/console doctrine:migration:status
PHP Warning:  Module 'XCache' already loaded in Unknown on line 0

 == Configuration

    >> Name:                                               Mautic Migrations
    >> Database Driver:                                    pdo_mysql
    >> Database Name:                                      your_db
    >> Configuration Source:                               manually configured
    >> Version Table Name:                                 migrations
    >> Version Column Name:                                version
    >> Migrations Namespace:                               Mautic\Migrations
    >> Migrations Directory:                               /home/app/migrations
    >> Previous Version:                                   2016-09-26 00:00:00 (20160926000000)
    >> Current Version:                                    2016-09-26 00:00:01 (20160926000001)
    >> Next Version:                                       2016-09-26 18:28:07 (20160926182807)
    >> Latest Version:                                     2017-07-28 11:03:51 (20170728110351)
    >> Executed Migrations:                                46
    >> Executed Unavailable Migrations:                    0
    >> Available Migrations:                               89
    >> New Migrations:                                     43
[]$ php app/console doctrine:migration:migrate
PHP Warning:  Module 'XCache' already loaded in Unknown on line 0

                    Mautic Migrations


WARNING! You are about to execute a database migration that could result in schema changes and data lost. Are you sure you wish to continue? (y/n)

Then don’t forget to clear the Mautic cache.  The standard Symfony “app/console ca:cl” always results in an error, so you have to cd to the app/console/cache directory and remove all the files manually with “rm -rf *”.

Setting up marketing automation requires a “Programmer’s Mentality”

As an experienced web developer, it’s almost a liability knowing so much about marketing and the business side.  It’s ironic, though because so much of marketing requires understanding of data and setting up systems to automatically do things properly based on logic.  This sounds familiar and much more complicated than “marketing” though, doesn’t it?  That’s why data, systems, logic, flow charts, and automation all require a programmer’s mentality to execute properly.  To set up a marketing automation system for any business so it succeeds and works properly is technical and complex.  Marketing automation requires more programmer’s skills than marketing knowledge, by far.

I have over 13 years experience in web development and media production and am currently a senior PHP developer in Jacksonville, Florida, specializing in the Symfony framework, LAMP stack development, database architecture and system design, among other things.  I have a “programmer’s mentality” and I know when I meet someone who does not.  Also, a few friends of mine interviewing around Jacksonville and elsewhere have shared with me a few stories lately (I’m perfectly happy where I am, despite the awful commute).  Here’s a little advice for those looking to hire any web developers:  Don’t look silly and naive when you try to pigeonhole experienced web developers by labeling them as just a “front-end” or a “back-end” web developer, we can be good at systems and databases and still know how to make the interfaces and web pages look as good as the system functions in the back-end.  People can have a strong business and marketing skill set and still be effective programmers.  This is just a pet peeve of mine, just because you may have only dealt with web developers in the past who are “strong in one area” doesn’t mean we’re all like that.  These days, web developers must have a diverse set of skills, just like all graphic designers should be able to build their own emails and web pages.

About Author:

Senior Cloud Software Engineer and 25+ years experienced video production, video editing and 3D animation services for a variety of global clients including local video production here in Jacksonville, Florida.

Leave a Comment

Your email address will not be published. Required fields are marked *