Проверьте наличие таблицы перед запуском sql с Symfony sfPropelMigrationsLightPlugin - PullRequest
0 голосов
/ 02 июня 2011

Я хочу проверить наличие таблицы перед выполнением инструкции create SQL в методе up () миграции.

Я могу запустить что-то вроде:

$count = $this->executeSQL("SELECT count(*) FROM information_schema.TABLES where TABLE_NAME = 'table_name';");

if($count == 0)
{
   $this->executeSQL("Create SQL ...");
}

Проблема в том, что это возвращает следующую ошибку:

SQLSTATE [HY000]: общая ошибка: 2014. Невозможно выполнить запросы, когда другие небуферизованные запросы активны. Рассмотрите возможность использования PDOStatement :: fetchAll (). В качестве альтернативы, если ваш код работает только с mysql, вы можете включить буферизацию запросов, установив атрибут PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY.

Есть идеи, как обойти это?

1 Ответ

0 голосов
/ 02 июня 2011

Я тупой ...

ЕСЛИ НЕ СУЩЕСТВУЕТ

$this->executeSQL("CREATE TABLE `foo` IF NOT EXISTS");
...