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(), '');
|
||
|
}
|
||
|
}
|