Viewing file: MySqlBuilder.php (2.99 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace Illuminate\Database\Schema;
class MySqlBuilder extends Builder { /** * Create a database in the schema. * * @param string $name * @return bool */ public function createDatabase($name) { return $this->connection->statement( $this->grammar->compileCreateDatabase($name, $this->connection) ); }
/** * Drop a database from the schema if the database exists. * * @param string $name * @return bool */ public function dropDatabaseIfExists($name) { return $this->connection->statement( $this->grammar->compileDropDatabaseIfExists($name) ); }
/** * 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(); }
/** * Drop all views from the database. * * @return void */ public function dropAllViews() { $views = [];
foreach ($this->getAllViews() as $row) { $row = (array) $row;
$views[] = reset($row); }
if (empty($views)) { return; }
$this->connection->statement( $this->grammar->compileDropAllViews($views) ); }
/** * Get all of the table names for the database. * * @return array */ public function getAllTables() { return $this->connection->select( $this->grammar->compileGetAllTables() ); }
/** * Get all of the view names for the database. * * @return array */ public function getAllViews() { return $this->connection->select( $this->grammar->compileGetAllViews() ); } }
|