Categories
symfony

Quick note about deleting records in Symfony/Propel

Just a quick note about deleting records in Symfony/Propel.
I’ve tested it both in symfony 1.2.x and symfony 1.0.x and got the same result.
So when you try to delete all records from table this way:

1
2
$c = new Criteria();
$rs = TablePeer::doDelete($c);

nothing happens but when I tried to add any dummy criteria to it like this:

1
2
3
$c = new Criteria();
$c->add(TablePeer::ID, 0, Criteria::GREATER_THAN);
$rs = TablePeer::doDelete($c);

it deleted all records like expected. Maybe I’ve missed something but looks like not logical to me.

If you want to try it yourselves here is sample of batch script:

1
2
3
4
5
6
7
8
9
  require_once(dirname(__FILE__) . '/../config/ProjectConfiguration.class.php');
  $configuration = ProjectConfiguration::getApplicationConfiguration('frontend', 'dev', true);
  sfContext::createInstance($configuration);
 
  $databaseManager = new sfDatabaseManager($configuration);
  $databaseManager->loadConfiguration();
 
  $c = new Criteria();
  $rs = TablePeer::doDelete($c);

2 replies on “Quick note about deleting records in Symfony/Propel”

Leave a Reply

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