for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php namespace jlourenco\support\Database;
use Illuminate\Support\Facades\Facade;
class Schema extends Facade
{
/**
* Get a schema builder instance for a connection.
*
* @param string $name
* @return \Illuminate\Database\Schema\Builder
*/
public static function connection($name)
$connection = static::$app['db']->connection($name);
return static::useCustomGrammar($connection);
}
* Get a schema builder.
protected static function getFacadeAccessor()
$connection = static::$app['db']->connection();
* Boot system by calling our custom Grammar
* @param object $connection \Illuminate\Database\Connection
protected static function useCustomGrammar($connection)
// Only for MySqlGrammar
if (get_class($connection) === 'Illuminate\Database\MySqlConnection') {
$MySqlGrammar = $connection->withTablePrefix(new MySqlGrammar);
$connection->setSchemaGrammar($MySqlGrammar);
$schema = $connection->getSchemaBuilder();
$schema->blueprintResolver(function($table, $callback) {
return new Blueprint($table, $callback);
});
return $schema;