本文整理汇总了PHP中Magento\Framework\DB\Adapter\AdapterInterface::dropTable方法的典型用法代码示例。如果您正苦于以下问题:PHP AdapterInterface::dropTable方法的具体用法?PHP AdapterInterface::dropTable怎么用?PHP AdapterInterface::dropTable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DB\Adapter\AdapterInterface
的用法示例。
在下文中一共展示了AdapterInterface::dropTable方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: drop
/**
* Drop changelog table
*
* @return void
* @throws \Exception
*/
public function drop()
{
$changelogTableName = $this->resource->getTableName($this->getName());
if (!$this->connection->isTableExists($changelogTableName)) {
throw new \Exception("Table {$changelogTableName} does not exist");
}
$this->connection->dropTable($changelogTableName);
}
示例2: drop
/**
* Drop changelog table
*
* @return void
* @throws ChangelogTableNotExistsException
*/
public function drop()
{
$changelogTableName = $this->resource->getTableName($this->getName());
if (!$this->connection->isTableExists($changelogTableName)) {
throw new ChangelogTableNotExistsException(new Phrase("Table %1 does not exist", [$changelogTableName]));
}
$this->connection->dropTable($changelogTableName);
}
示例3: deleteBackup
/**
* @inheritdoc
*/
public function deleteBackup($documentName)
{
$backupTableName = self::BACKUP_DOCUMENT_PREFIX . $documentName;
if ($this->resourceAdapter->isTableExists($backupTableName)) {
$this->resourceAdapter->dropTable($backupTableName);
}
}
示例4: _cleanOnFailure
/**
* Drop temporary tables created by reindex process
*
* @param array $tablesList
* @param int|string $storeId
* @return void
* @SuppressWarnings(PHPMD.UnusedLocalVariable)
*/
protected function _cleanOnFailure(array $tablesList, $storeId)
{
foreach ($tablesList as $table => $columns) {
$this->_connection->dropTemporaryTable($table);
}
$tableName = $this->_getTemporaryTableName($this->_productIndexerHelper->getFlatTableName($storeId));
$this->_connection->dropTable($tableName);
}
示例5: _createTemporaryFlatTable
/**
* Prepare flat table for store
*
* @param int|string $storeId
* @return void
* @throws \Magento\Framework\Exception\LocalizedException
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
* @SuppressWarnings(PHPMD.NPathComplexity)
*/
protected function _createTemporaryFlatTable($storeId)
{
$columns = $this->_productIndexerHelper->getFlatColumns();
$indexesNeed = $this->_productIndexerHelper->getFlatIndexes();
$maxIndex = $this->_config->getValue(self::XML_NODE_MAX_INDEX_COUNT);
if ($maxIndex && count($indexesNeed) > $maxIndex) {
throw new \Magento\Framework\Exception\LocalizedException(__('The Flat Catalog module has a limit of %2$d filterable and/or sortable attributes.' . 'Currently there are %1$d of them.' . 'Please reduce the number of filterable/sortable attributes in order to use this module', count($indexesNeed), $maxIndex));
}
$indexKeys = [];
$indexProps = array_values($indexesNeed);
$upperPrimaryKey = strtoupper(\Magento\Framework\DB\Adapter\AdapterInterface::INDEX_TYPE_PRIMARY);
foreach ($indexProps as $i => $indexProp) {
$indexName = $this->_connection->getIndexName($this->_getTemporaryTableName($this->_productIndexerHelper->getFlatTableName($storeId)), $indexProp['fields'], $indexProp['type']);
$indexProp['type'] = strtoupper($indexProp['type']);
if ($indexProp['type'] == $upperPrimaryKey) {
$indexKey = $upperPrimaryKey;
} else {
$indexKey = $indexName;
}
$indexProps[$i] = ['KEY_NAME' => $indexName, 'COLUMNS_LIST' => $indexProp['fields'], 'INDEX_TYPE' => strtolower($indexProp['type'])];
$indexKeys[$i] = $indexKey;
}
$indexesNeed = array_combine($indexKeys, $indexProps);
/** @var $table \Magento\Framework\DB\Ddl\Table */
$table = $this->_connection->newTable($this->_getTemporaryTableName($this->_productIndexerHelper->getFlatTableName($storeId)));
foreach ($columns as $fieldName => $fieldProp) {
$columnLength = isset($fieldProp['length']) ? $fieldProp['length'] : null;
$columnDefinition = ['nullable' => isset($fieldProp['nullable']) ? (bool) $fieldProp['nullable'] : false, 'unsigned' => isset($fieldProp['unsigned']) ? (bool) $fieldProp['unsigned'] : false, 'default' => isset($fieldProp['default']) ? $fieldProp['default'] : false, 'primary' => false];
$columnComment = isset($fieldProp['comment']) ? $fieldProp['comment'] : $fieldName;
$table->addColumn($fieldName, $fieldProp['type'], $columnLength, $columnDefinition, $columnComment);
}
foreach ($indexesNeed as $indexProp) {
$table->addIndex($indexProp['KEY_NAME'], $indexProp['COLUMNS_LIST'], ['type' => $indexProp['INDEX_TYPE']]);
}
$table->setComment("Catalog Product Flat (Store {$storeId})");
$this->_connection->dropTable($this->_getTemporaryTableName($this->_productIndexerHelper->getFlatTableName($storeId)));
$this->_connection->createTable($table);
}
示例6: dropTable
/**
* @param AdapterInterface $connection
* @param string $tableName
* @return void
*/
private function dropTable(AdapterInterface $connection, $tableName)
{
if ($connection->isTableExists($tableName)) {
$connection->dropTable($tableName);
}
}
示例7: tearDown
/**
* Cleanup DDL cache for the fixture table
*/
protected function tearDown()
{
$this->_connection->dropTable($this->_tableName);
$this->_connection->resetDdlCache($this->_tableName);
$this->_connection = null;
}
示例8: dropTable
/**
* @param AdapterInterface $adapter
* @param string $tableName
* @return void
*/
private function dropTable(AdapterInterface $adapter, $tableName)
{
if ($adapter->isTableExists($tableName)) {
$adapter->dropTable($tableName);
}
}