本文整理汇总了PHP中OC\DB\Connection::query方法的典型用法代码示例。如果您正苦于以下问题:PHP Connection::query方法的具体用法?PHP Connection::query怎么用?PHP Connection::query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OC\DB\Connection
的用法示例。
在下文中一共展示了Connection::query方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: executeSchemaChange
/**
* @param \Doctrine\DBAL\Schema\Schema $schema
* @return bool
*/
private function executeSchemaChange($schema)
{
$this->conn->beginTransaction();
foreach ($schema->toSql($this->conn->getDatabasePlatform()) as $sql) {
$this->conn->query($sql);
}
$this->conn->commit();
return true;
}
示例2: dropTable
/**
* drop a table - the database prefix will be prepended
* @param string $tableName the table to drop
*/
public static function dropTable($tableName)
{
$tableName = OC_Config::getValue('dbtableprefix', 'oc_') . trim($tableName);
self::$connection->beginTransaction();
$platform = self::$connection->getDatabasePlatform();
$sql = $platform->getDropTableSQL($platform->quoteIdentifier($tableName));
self::$connection->query($sql);
self::$connection->commit();
}
示例3: executeSchemaChange
/**
* @param \Doctrine\DBAL\Schema\Schema $schema
* @return bool
*/
private function executeSchemaChange($schema)
{
$this->conn->beginTransaction();
foreach ($schema->toSql($this->conn->getDatabasePlatform()) as $sql) {
$this->conn->query($sql);
}
$this->conn->commit();
if ($this->conn->getDatabasePlatform() instanceof SqlitePlatform) {
\OC_DB::reconnect();
}
return true;
}
示例4: run
/**
* Fix mime types
*/
public function run()
{
if (!$this->connection->getDatabasePlatform() instanceof SqlitePlatform) {
return;
}
$sourceSchema = $this->connection->getSchemaManager()->createSchema();
$schemaDiff = new SchemaDiff();
foreach ($sourceSchema->getTables() as $tableSchema) {
$primaryKey = $tableSchema->getPrimaryKey();
if (!$primaryKey) {
continue;
}
$columnNames = $primaryKey->getColumns();
// add a column diff for every primary key column,
// but do not actually change anything, this will
// force the generation of SQL statements to alter
// those tables, which will then trigger the
// specific SQL code from OCSqlitePlatform
try {
$tableDiff = new TableDiff($tableSchema->getName());
$tableDiff->fromTable = $tableSchema;
foreach ($columnNames as $columnName) {
$columnSchema = $tableSchema->getColumn($columnName);
$columnDiff = new ColumnDiff($columnSchema->getName(), $columnSchema);
$tableDiff->changedColumns[] = $columnDiff;
$schemaDiff->changedTables[] = $tableDiff;
}
} catch (SchemaException $e) {
// ignore
}
}
$this->connection->beginTransaction();
foreach ($schemaDiff->toSql($this->connection->getDatabasePlatform()) as $sql) {
$this->connection->query($sql);
}
$this->connection->commit();
}