当前位置: 首页>>代码示例>>PHP>>正文


PHP Connection::getDatabasePlatform方法代码示例

本文整理汇总了PHP中OC\DB\Connection::getDatabasePlatform方法的典型用法代码示例。如果您正苦于以下问题:PHP Connection::getDatabasePlatform方法的具体用法?PHP Connection::getDatabasePlatform怎么用?PHP Connection::getDatabasePlatform使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OC\DB\Connection的用法示例。


在下文中一共展示了Connection::getDatabasePlatform方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: run

 /**
  * Fix mime types
  */
 public function run()
 {
     if (!$this->connection->getDatabasePlatform() instanceof MySqlPlatform) {
         $this->emit('\\OC\\Repair', 'info', array('Not a mysql database -> nothing to no'));
         return;
     }
     $tables = $this->getAllNonUTF8BinTables($this->connection);
     foreach ($tables as $table) {
         $query = $this->connection->prepare('ALTER TABLE `' . $table . '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;');
         $query->execute();
     }
 }
开发者ID:spielhoelle,项目名称:owncloud,代码行数:15,代码来源:collation.php

示例2: run

 /**
  * Fix mime types
  */
 public function run(IOutput $output)
 {
     if (!$this->connection->getDatabasePlatform() instanceof MySqlPlatform) {
         $output->info('Not a mysql database -> nothing to no');
         return;
     }
     $tables = $this->getAllNonUTF8BinTables($this->connection);
     foreach ($tables as $table) {
         $output->info("Change collation for {$table} ...");
         $query = $this->connection->prepare('ALTER TABLE `' . $table . '` CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;');
         $query->execute();
     }
 }
开发者ID:GitHubUser4234,项目名称:core,代码行数:16,代码来源:Collation.php

示例3: 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();
 }
开发者ID:Combustible,项目名称:core,代码行数:13,代码来源:db.php

示例4: generateChangeScript

 /**
  * @param \Doctrine\DBAL\Schema\Schema $schema
  * @return string
  */
 public function generateChangeScript($schema)
 {
     $script = '';
     $sqls = $schema->toSql($this->conn->getDatabasePlatform());
     foreach ($sqls as $sql) {
         $script .= $sql . ';';
         $script .= PHP_EOL;
     }
     return $script;
 }
开发者ID:hjimmy,项目名称:owncloud,代码行数:14,代码来源:mdb2schemamanager.php

示例5: 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;
 }
开发者ID:WYSAC,项目名称:oregon-owncloud,代码行数:16,代码来源:mdb2schemamanager.php

示例6: run

 /**
  * Fix mime types
  */
 public function run(IOutput $out)
 {
     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();
 }
开发者ID:GitHubUser4234,项目名称:core,代码行数:40,代码来源:SqliteAutoincrement.php


注:本文中的OC\DB\Connection::getDatabasePlatform方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。