53 lines
1.3 KiB
PHP
53 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Illuminate\Database\Schema;
|
|
|
|
class SQLiteBuilder extends Builder
|
|
{
|
|
/**
|
|
* Drop all tables from the database.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function dropAllTables()
|
|
{
|
|
if ($this->connection->getDatabaseName() !== ':memory:') {
|
|
return $this->refreshDatabaseFile();
|
|
}
|
|
|
|
$this->connection->select($this->grammar->compileEnableWriteableSchema());
|
|
|
|
$this->connection->select($this->grammar->compileDropAllTables());
|
|
|
|
$this->connection->select($this->grammar->compileDisableWriteableSchema());
|
|
|
|
$this->connection->select($this->grammar->compileRebuild());
|
|
}
|
|
|
|
/**
|
|
* Drop all views from the database.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function dropAllViews()
|
|
{
|
|
$this->connection->select($this->grammar->compileEnableWriteableSchema());
|
|
|
|
$this->connection->select($this->grammar->compileDropAllViews());
|
|
|
|
$this->connection->select($this->grammar->compileDisableWriteableSchema());
|
|
|
|
$this->connection->select($this->grammar->compileRebuild());
|
|
}
|
|
|
|
/**
|
|
* Empty the database file.
|
|
*
|
|
* @return void
|
|
*/
|
|
public function refreshDatabaseFile()
|
|
{
|
|
file_put_contents($this->connection->getDatabaseName(), '');
|
|
}
|
|
}
|