12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
-
- namespace Illuminate\Database\Schema;
-
- class MySqlBuilder extends Builder
- {
- /**
- * Determine if the given table exists.
- *
- * @param string $table
- * @return bool
- */
- public function hasTable($table)
- {
- $table = $this->connection->getTablePrefix().$table;
-
- return count($this->connection->select(
- $this->grammar->compileTableExists(), [$this->connection->getDatabaseName(), $table]
- )) > 0;
- }
-
- /**
- * Get the column listing for a given table.
- *
- * @param string $table
- * @return array
- */
- public function getColumnListing($table)
- {
- $table = $this->connection->getTablePrefix().$table;
-
- $results = $this->connection->select(
- $this->grammar->compileColumnListing(), [$this->connection->getDatabaseName(), $table]
- );
-
- return $this->connection->getPostProcessor()->processColumnListing($results);
- }
-
- /**
- * Drop all tables from the database.
- *
- * @return void
- */
- public function dropAllTables()
- {
- $tables = [];
-
- foreach ($this->getAllTables() as $row) {
- $row = (array) $row;
-
- $tables[] = reset($row);
- }
-
- if (empty($tables)) {
- return;
- }
-
- $this->disableForeignKeyConstraints();
-
- $this->connection->statement(
- $this->grammar->compileDropAllTables($tables)
- );
-
- $this->enableForeignKeyConstraints();
- }
-
- /**
- * Get all of the table names for the database.
- *
- * @return array
- */
- protected function getAllTables()
- {
- return $this->connection->select(
- $this->grammar->compileGetAllTables()
- );
- }
- }
|