Category Archives: Tech

I’m a programmer by trade. Thoughts, tips and general mayhem from the programming world go here.

Magento Development: Delete Orders, Reset Dashboard

Delete Orders

Found this great extension that does it. I’ve used it on EE 1.12, and from the reviews I gather it works on CE 1.7.0.2 as well. YMMV, use with caution, etc. I can’t imagine installing this in anything other than a development environment.  Seamless Delete Order.

Reset Dashboard Statistics

To remove “Bestsellers” from my dashboard, I add this stored procedure to my development MySQL environments, courtesy of this post at PHP Bugs.

DROP PROCEDURE IF EXISTS reset_dashboard;
delimiter //
CREATE PROCEDURE reset_dashboard()
BEGIN
  TRUNCATE sales_bestsellers_aggregated_daily;
  TRUNCATE sales_bestsellers_aggregated_monthly;
  TRUNCATE sales_bestsellers_aggregated_yearly;
  DELETE FROM report_event WHERE event_type_id IN (SELECT event_type_id FROM report_event_types WHERE event_name IN ('catalog_product_view'));
END //
delimiter ;

The DELETE FROM report_event code I stumbled across shortly after I originally posted this. I found it here at DesignersSandBox.

Drop MySQL Tables by Table Prefix

Problem:

I’ve access to only 1 MySQL database, but I have multiple Magento Installations in it – so naturally, I’m using Table Prefixes to keep them separated. In my case, I have Magento Community Editions 1.6.2.0 and 1.7.0.2.

My table prefixes are ce1620_ and ce1702_, which is simple and easy to understand. The problem is how can I simply remove all tables for only 1 installation?

Solution:

The answer came in the form of a stored procedure. Most of the heavy lifting was done by a nice poster over on StackOverflow.

My little extra ingredient was to disable foreign key constraints, so I could obliterate the whole darn thing in one pass.

As always, be careful and back up before doing something as drastic as this.

DROP PROCEDURE IF EXISTS droplike;
delimiter //
CREATE PROCEDURE droplike(pattern VARCHAR(20))
BEGIN
 SET foreign_key_checks = 0;
 SET group_concat_max_len = 65535;
 SELECT @DROP:= concat( 'drop table ', group_concat(TABLE_NAME) , ';' ) FROM information_schema.TABLES WHERE table_schema = "YOUR_DATABASE_NAME_HERE" AND TABLE_NAME LIKE pattern;
 PREPARE statement FROM @DROP;
 EXECUTE statement;
 SET foreign_key_checks = 1;
END //
delimiter ;

Hopping off The Facebook Grid … for now, anyway

I hopped off the facebook grid today at around 5:30pm (Eastern).  The overarching reason is that facebook’s 80/20 rule is tilted in favor of crap I don’t care/ want to see being the 80%. That’s bad. Some specifics:

Politics
Stating your political beliefs is your choice, but it’s usually boring, uninformed, and so terse as to be impenetrable.

Work
Many people I’ve ‘friended’ are through work. They end up stating their political viewpoint, and (see also: Chick-fil-A) an argument ensues. You’re wrong. You’re right. In the end, it turns out that Our Context doesn’t include giving a rat’s ass about your politics, and suddenly the work relationship is fouled, or at least altered.

Relationships
All relationships have boundaries. Not so on facebook. You can argue with me and say, “well, you friended too many people,” or “you can organize your friends, blah blah blah” but when I go to work, I’m around my work friends, and at home I’m with my home friends. Some intersect. Some don’t. On facebook it’s all one big blur.

All Selling, All the Time
Selling yourself. Your work. Products. Games. Facebook is the modern junk mail.

What’s it For?
I have a blog. So I can write there. A little blog is lost among the bajillions of web sites out there, but so is any photo I have of my family’s vacation amidst the political grandstanding and organic chickens on facebook.

What’s Next
I’m still on Google+, which means I am still fairly anonymous. But the photography experience is far superior to facebook’s. The interface is a bit wobbly. It really should be a lot easier to post a message to my niece. Never make me undo things to do something, which Google+ is currently forcing me to do by defaulting where I want my message post seen.

Google+ iOS App vs. Facebook
Hard to believe I’m saying this, but Google+ iOS App is far more beautiful than facebook’s and – here’s the real rub – a lot faster. Why am I sitting here for minutes on end waiting for … all the stuff I mentioned above that I don’t really want to see?