Article

TRUNCATE TABLE with Symfony and Doctrine

I am often importing data into a symfony project from an existing site or a CSV file and re-writing this data into the fixtures.yml is usually too complicated or time consuming so I end up writing bespoke import actions.

While I am writing these actions I often find that I have to delete the contents of the MySQL tables as you can never write the routine complete and accurate in one go so as you build it up in smaller steps you find that you have to get rid of the previously old data.

This presented me with 2 problems:-

  • Using DELETE FROM [TABLENAME] does not reset the auto-incrementing fields so if you have anything that is based on the id during the rest of the import then you're going to have issues.
  • There is a lot of clicking in phpMyAdmin to empty the tables, especially if you forget about the foreign key relationships.

I found that MySQL had a TRUNCATE TABLE but this is not directly available via Doctrine as the TRUNCATE TABLE is function of the type of database you are using and Doctrine cannot assume you are always using MySQL so therefore it cannot provide a generic method to call it.

Having said that it was not too difficult to run the TRUNCATE TABLE from within my Symfony project.  All I had to do was add the following lines of code to an action within the actions.class.html"language-php"> $dbh = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh(); $dbh->query('TRUNCATE TABLE order_items'); $dbh->query('TRUNCATE TABLE orders'); unset($dbh);

Be careful which order you run the TRUNCATE TABLE calls so you avoid the foreign key relationship issues.

Let me know if this helps you out.  Enjoy!

me.jpeg

I am a web developer specialising in web driven applications using PHP, MySQL, Symfony and Zend and I am currently working for the The Drum in Glasgow, Scotland.

Most days I can be found frantically coding away with EuroDance in my ears and consuming what I hope to be a never ending supply of coffee... happy days!

Want more like this?

Keep up-to-date with latest news from Inside the Agency using any of the following services

Recent articles

“My boss doesn’t get it.” The puzzle of motivation.

Management roles have traditionally focused on issuing assignments and offering rewards.  For much of the industrial age, this worked well.  In the vast majority of situations, people do work harder if they know they’ll get a financial bonus or more recognition.  Primed with 100 years of business advice, managers feel they have the tools they need to get things done, retain their staff and hit their targets.

carrot.jpg

But when they find themselves at the helm of a team of developers, or a mixed team of designers and developers, managers get confused.  The promise of rewards only goes so far.   Sometimes, incentives fail to generate any interest and may even lead to resistance.  Developers who never voice any dissatisfaction put in their notice and move on without any explanation, leaving you scratching your head.  It’s really confusing, and there are no easy answers. 

Read more

The Iron Triangle - How does motivation emphasis create an agency environment?

I remember when I first heard about the Iron Triangle. It sounded sinister, Evil Empire like, and not really something I could embrace in my fluffy idealistic agency brain. Just to be clear in this article I am talking about the Project Management version, not the US political system version… which is sinister and is just like the Evil Empire.

ITA-motivation-illustration-20151120.jpg

Back then I was speaking to my then boss, a man who I credit with opening my eyes to a great deal to how an agency works and, more importantly, how it should work. He was explaining in typically simple eloquence, how he wanted us to set expectation with clients. 

Read more

The Adblock Wars - Stop blaming the victim!

Much to the dismay of the advertising and publishing industry, Adblock is indeed here to stay. But, what is the industry doing about it? For the most part, pointing the finger and accusing the end user of underhanded tactics. To that I say: Pot, meet Kettle.

ad-blocking-article

Over the last few months I have noticed an increasing number of articles surround Adblock usage, most of which are coming from advertisers and publishers perspective.  Within these articles the underlying theme is that Adblock is evil and people using it are:

Read more

Advertisement

Digital Ocean

Chris's Reading List

Moz

Moz

Great SEO Starts with Your Brand

Taking the time to really understand and define your brand allows you to be much more intentional and focused about the way you market your business online. Read more

TechCrunch

TechCrunch

Codie Is A Fast, Rolling Robot Toy That Teaches Kids Progamming Concepts

A robotics company that teaches kids how to code, Codie Labs, took the stage at TechCrunch Disrupt London this afternoon to show off their fast, rolling and.. Read more

KnpUniversity - PHP and Symfony Video Tutorial Screencasts

Fun with Symfony's Console Component

PHP and Symfony Tutorial Screencasts - with free videos, scripts, and code downloads! Read more

JAXenter

Self-promotion is a skill, but is that the skill you're looking for? - JAXenter

Do you want to hire somebody that's good at self-promotion, or are you looking for a certain skill-set? Perhaps you need to shape your job spec differently. Read more

TechCrunch

TechCrunch

When Crowdfunding Fails The Backers Are Left With No Way Out

A few years ago an enterprising programmer dug through Kickstarter's data to figure out how many failed projects there really were. Thanks to a trick in the.. Read more

Business Insider

A programmer wrote scripts to secretly automate a lot of his job — and email his wife and make a latte

There's a hilarious project that's gone viral on GitHub that consists of a bunch of software scripts that automate all sorts of crazy things. Read more