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