airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ndo...@apache.org
Subject [17/57] [partial] airavata-php-gateway git commit: AIRAVATA 1632 + Job Description for Admin Dashboard
Date Fri, 01 May 2015 21:33:04 GMT
http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Grammar.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Grammar.php b/vendor/laravel/framework/src/Illuminate/Database/Grammar.php
new file mode 100755
index 0000000..d7ed02b
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Grammar.php
@@ -0,0 +1,179 @@
+<?php namespace Illuminate\Database;
+
+abstract class Grammar {
+
+	/**
+	 * The grammar table prefix.
+	 *
+	 * @var string
+	 */
+	protected $tablePrefix = '';
+
+	/**
+	 * Wrap an array of values.
+	 *
+	 * @param  array  $values
+	 * @return array
+	 */
+	public function wrapArray(array $values)
+	{
+		return array_map(array($this, 'wrap'), $values);
+	}
+
+	/**
+	 * Wrap a table in keyword identifiers.
+	 *
+	 * @param  string  $table
+	 * @return string
+	 */
+	public function wrapTable($table)
+	{
+		if ($this->isExpression($table)) return $this->getValue($table);
+
+		return $this->wrap($this->tablePrefix.$table);
+	}
+
+	/**
+	 * Wrap a value in keyword identifiers.
+	 *
+	 * @param  string  $value
+	 * @return string
+	 */
+	public function wrap($value)
+	{
+		if ($this->isExpression($value)) return $this->getValue($value);
+
+		// If the value being wrapped has a column alias we will need to separate out
+		// the pieces so we can wrap each of the segments of the expression on it
+		// own, and then joins them both back together with the "as" connector.
+		if (strpos(strtolower($value), ' as ') !== false)
+		{
+			$segments = explode(' ', $value);
+
+			return $this->wrap($segments[0]).' as '.$this->wrapValue($segments[2]);
+		}
+
+		$wrapped = array();
+
+		$segments = explode('.', $value);
+
+		// If the value is not an aliased table expression, we'll just wrap it like
+		// normal, so if there is more than one segment, we will wrap the first
+		// segments as if it was a table and the rest as just regular values.
+		foreach ($segments as $key => $segment)
+		{
+			if ($key == 0 && count($segments) > 1)
+			{
+				$wrapped[] = $this->wrapTable($segment);
+			}
+			else
+			{
+				$wrapped[] = $this->wrapValue($segment);
+			}
+		}
+
+		return implode('.', $wrapped);
+	}
+
+	/**
+	 * Wrap a single string in keyword identifiers.
+	 *
+	 * @param  string  $value
+	 * @return string
+	 */
+	protected function wrapValue($value)
+	{
+		if ($value === '*') return $value;
+
+		return '"'.str_replace('"', '""', $value).'"';
+	}
+
+	/**
+	 * Convert an array of column names into a delimited string.
+	 *
+	 * @param  array   $columns
+	 * @return string
+	 */
+	public function columnize(array $columns)
+	{
+		return implode(', ', array_map(array($this, 'wrap'), $columns));
+	}
+
+	/**
+	 * Create query parameter place-holders for an array.
+	 *
+	 * @param  array   $values
+	 * @return string
+	 */
+	public function parameterize(array $values)
+	{
+		return implode(', ', array_map(array($this, 'parameter'), $values));
+	}
+
+	/**
+	 * Get the appropriate query parameter place-holder for a value.
+	 *
+	 * @param  mixed   $value
+	 * @return string
+	 */
+	public function parameter($value)
+	{
+		return $this->isExpression($value) ? $this->getValue($value) : '?';
+	}
+
+	/**
+	 * Get the value of a raw expression.
+	 *
+	 * @param  \Illuminate\Database\Query\Expression  $expression
+	 * @return string
+	 */
+	public function getValue($expression)
+	{
+		return $expression->getValue();
+	}
+
+	/**
+	 * Determine if the given value is a raw expression.
+	 *
+	 * @param  mixed  $value
+	 * @return bool
+	 */
+	public function isExpression($value)
+	{
+		return $value instanceof Query\Expression;
+	}
+
+	/**
+	 * Get the format for database stored dates.
+	 *
+	 * @return string
+	 */
+	public function getDateFormat()
+	{
+		return 'Y-m-d H:i:s';
+	}
+
+	/**
+	 * Get the grammar's table prefix.
+	 *
+	 * @return string
+	 */
+	public function getTablePrefix()
+	{
+		return $this->tablePrefix;
+	}
+
+	/**
+	 * Set the grammar's table prefix.
+	 *
+	 * @param  string  $prefix
+	 * @return $this
+	 */
+	public function setTablePrefix($prefix)
+	{
+		$this->tablePrefix = $prefix;
+
+		return $this;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php
b/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php
new file mode 100755
index 0000000..f7f0fcc
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/MigrationServiceProvider.php
@@ -0,0 +1,217 @@
+<?php namespace Illuminate\Database;
+
+use Illuminate\Support\ServiceProvider;
+use Illuminate\Database\Migrations\Migrator;
+use Illuminate\Database\Migrations\MigrationCreator;
+use Illuminate\Database\Console\Migrations\ResetCommand;
+use Illuminate\Database\Console\Migrations\RefreshCommand;
+use Illuminate\Database\Console\Migrations\InstallCommand;
+use Illuminate\Database\Console\Migrations\MigrateCommand;
+use Illuminate\Database\Console\Migrations\RollbackCommand;
+use Illuminate\Database\Console\Migrations\MigrateMakeCommand;
+use Illuminate\Database\Migrations\DatabaseMigrationRepository;
+
+class MigrationServiceProvider extends ServiceProvider {
+
+	/**
+	 * Indicates if loading of the provider is deferred.
+	 *
+	 * @var bool
+	 */
+	protected $defer = true;
+
+	/**
+	 * Register the service provider.
+	 *
+	 * @return void
+	 */
+	public function register()
+	{
+		$this->registerRepository();
+
+		// Once we have registered the migrator instance we will go ahead and register
+		// all of the migration related commands that are used by the "Artisan" CLI
+		// so that they may be easily accessed for registering with the consoles.
+		$this->registerMigrator();
+
+		$this->registerCommands();
+	}
+
+	/**
+	 * Register the migration repository service.
+	 *
+	 * @return void
+	 */
+	protected function registerRepository()
+	{
+		$this->app->bindShared('migration.repository', function($app)
+		{
+			$table = $app['config']['database.migrations'];
+
+			return new DatabaseMigrationRepository($app['db'], $table);
+		});
+	}
+
+	/**
+	 * Register the migrator service.
+	 *
+	 * @return void
+	 */
+	protected function registerMigrator()
+	{
+		// The migrator is responsible for actually running and rollback the migration
+		// files in the application. We'll pass in our database connection resolver
+		// so the migrator can resolve any of these connections when it needs to.
+		$this->app->bindShared('migrator', function($app)
+		{
+			$repository = $app['migration.repository'];
+
+			return new Migrator($repository, $app['db'], $app['files']);
+		});
+	}
+
+	/**
+	 * Register all of the migration commands.
+	 *
+	 * @return void
+	 */
+	protected function registerCommands()
+	{
+		$commands = array('Migrate', 'Rollback', 'Reset', 'Refresh', 'Install', 'Make');
+
+		// We'll simply spin through the list of commands that are migration related
+		// and register each one of them with an application container. They will
+		// be resolved in the Artisan start file and registered on the console.
+		foreach ($commands as $command)
+		{
+			$this->{'register'.$command.'Command'}();
+		}
+
+		// Once the commands are registered in the application IoC container we will
+		// register them with the Artisan start event so that these are available
+		// when the Artisan application actually starts up and is getting used.
+		$this->commands(
+			'command.migrate', 'command.migrate.make',
+			'command.migrate.install', 'command.migrate.rollback',
+			'command.migrate.reset', 'command.migrate.refresh'
+		);
+	}
+
+	/**
+	 * Register the "migrate" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerMigrateCommand()
+	{
+		$this->app->bindShared('command.migrate', function($app)
+		{
+			$packagePath = $app['path.base'].'/vendor';
+
+			return new MigrateCommand($app['migrator'], $packagePath);
+		});
+	}
+
+	/**
+	 * Register the "rollback" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerRollbackCommand()
+	{
+		$this->app->bindShared('command.migrate.rollback', function($app)
+		{
+			return new RollbackCommand($app['migrator']);
+		});
+	}
+
+	/**
+	 * Register the "reset" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerResetCommand()
+	{
+		$this->app->bindShared('command.migrate.reset', function($app)
+		{
+			return new ResetCommand($app['migrator']);
+		});
+	}
+
+	/**
+	 * Register the "refresh" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerRefreshCommand()
+	{
+		$this->app->bindShared('command.migrate.refresh', function()
+		{
+			return new RefreshCommand;
+		});
+	}
+
+	/**
+	 * Register the "install" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerInstallCommand()
+	{
+		$this->app->bindShared('command.migrate.install', function($app)
+		{
+			return new InstallCommand($app['migration.repository']);
+		});
+	}
+
+	/**
+	 * Register the "install" migration command.
+	 *
+	 * @return void
+	 */
+	protected function registerMakeCommand()
+	{
+		$this->registerCreator();
+
+		$this->app->bindShared('command.migrate.make', function($app)
+		{
+			// Once we have the migration creator registered, we will create the command
+			// and inject the creator. The creator is responsible for the actual file
+			// creation of the migrations, and may be extended by these developers.
+			$creator = $app['migration.creator'];
+
+			$packagePath = $app['path.base'].'/vendor';
+
+			return new MigrateMakeCommand($creator, $packagePath);
+		});
+	}
+
+	/**
+	 * Register the migration creator.
+	 *
+	 * @return void
+	 */
+	protected function registerCreator()
+	{
+		$this->app->bindShared('migration.creator', function($app)
+		{
+			return new MigrationCreator($app['files']);
+		});
+	}
+
+	/**
+	 * Get the services provided by the provider.
+	 *
+	 * @return array
+	 */
+	public function provides()
+	{
+		return array(
+			'migrator', 'migration.repository', 'command.migrate',
+			'command.migrate.rollback', 'command.migrate.reset',
+			'command.migrate.refresh', 'command.migrate.install',
+			'migration.creator', 'command.migrate.make',
+		);
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php
new file mode 100755
index 0000000..8894710
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/DatabaseMigrationRepository.php
@@ -0,0 +1,181 @@
+<?php namespace Illuminate\Database\Migrations;
+
+use Illuminate\Database\ConnectionResolverInterface as Resolver;
+
+class DatabaseMigrationRepository implements MigrationRepositoryInterface {
+
+	/**
+	 * The database connection resolver instance.
+	 *
+	 * @var \Illuminate\Database\ConnectionResolverInterface
+	 */
+	protected $resolver;
+
+	/**
+	 * The name of the migration table.
+	 *
+	 * @var string
+	 */
+	protected $table;
+
+	/**
+	 * The name of the database connection to use.
+	 *
+	 * @var string
+	 */
+	protected $connection;
+
+	/**
+	 * Create a new database migration repository instance.
+	 *
+	 * @param  \Illuminate\Database\ConnectionResolverInterface  $resolver
+	 * @param  string  $table
+	 * @return void
+	 */
+	public function __construct(Resolver $resolver, $table)
+	{
+		$this->table = $table;
+		$this->resolver = $resolver;
+	}
+
+	/**
+	 * Get the ran migrations.
+	 *
+	 * @return array
+	 */
+	public function getRan()
+	{
+		return $this->table()->lists('migration');
+	}
+
+	/**
+	 * Get the last migration batch.
+	 *
+	 * @return array
+	 */
+	public function getLast()
+	{
+		$query = $this->table()->where('batch', $this->getLastBatchNumber());
+
+		return $query->orderBy('migration', 'desc')->get();
+	}
+
+	/**
+	 * Log that a migration was run.
+	 *
+	 * @param  string  $file
+	 * @param  int     $batch
+	 * @return void
+	 */
+	public function log($file, $batch)
+	{
+		$record = array('migration' => $file, 'batch' => $batch);
+
+		$this->table()->insert($record);
+	}
+
+	/**
+	 * Remove a migration from the log.
+	 *
+	 * @param  object  $migration
+	 * @return void
+	 */
+	public function delete($migration)
+	{
+		$this->table()->where('migration', $migration->migration)->delete();
+	}
+
+	/**
+	 * Get the next migration batch number.
+	 *
+	 * @return int
+	 */
+	public function getNextBatchNumber()
+	{
+		return $this->getLastBatchNumber() + 1;
+	}
+
+	/**
+	 * Get the last migration batch number.
+	 *
+	 * @return int
+	 */
+	public function getLastBatchNumber()
+	{
+		return $this->table()->max('batch');
+	}
+
+	/**
+	 * Create the migration repository data store.
+	 *
+	 * @return void
+	 */
+	public function createRepository()
+	{
+		$schema = $this->getConnection()->getSchemaBuilder();
+
+		$schema->create($this->table, function($table)
+		{
+			// The migrations table is responsible for keeping track of which of the
+			// migrations have actually run for the application. We'll create the
+			// table to hold the migration file's path as well as the batch ID.
+			$table->string('migration');
+
+			$table->integer('batch');
+		});
+	}
+
+	/**
+	 * Determine if the migration repository exists.
+	 *
+	 * @return bool
+	 */
+	public function repositoryExists()
+	{
+		$schema = $this->getConnection()->getSchemaBuilder();
+
+		return $schema->hasTable($this->table);
+	}
+
+	/**
+	 * Get a query builder for the migration table.
+	 *
+	 * @return \Illuminate\Database\Query\Builder
+	 */
+	protected function table()
+	{
+		return $this->getConnection()->table($this->table);
+	}
+
+	/**
+	 * Get the connection resolver instance.
+	 *
+	 * @return \Illuminate\Database\ConnectionResolverInterface
+	 */
+	public function getConnectionResolver()
+	{
+		return $this->resolver;
+	}
+
+	/**
+	 * Resolve the database connection instance.
+	 *
+	 * @return \Illuminate\Database\Connection
+	 */
+	public function getConnection()
+	{
+		return $this->resolver->connection($this->connection);
+	}
+
+	/**
+	 * Set the information source to gather data.
+	 *
+	 * @param  string  $name
+	 * @return void
+	 */
+	public function setSource($name)
+	{
+		$this->connection = $name;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php b/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php
new file mode 100755
index 0000000..eb75d14
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migration.php
@@ -0,0 +1,22 @@
+<?php namespace Illuminate\Database\Migrations;
+
+abstract class Migration {
+
+	/**
+	 * The name of the database connection to use.
+	 *
+	 * @var string
+	 */
+	protected $connection;
+
+	/**
+	 * Get the migration connection name.
+	 *
+	 * @return string
+	 */
+	public function getConnection()
+	{
+		return $this->connection;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php
new file mode 100755
index 0000000..e70b627
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationCreator.php
@@ -0,0 +1,183 @@
+<?php namespace Illuminate\Database\Migrations;
+
+use Closure;
+use Illuminate\Filesystem\Filesystem;
+
+class MigrationCreator {
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The registered post create hooks.
+	 *
+	 * @var array
+	 */
+	protected $postCreate = array();
+
+	/**
+	 * Create a new migration creator instance.
+	 *
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public function __construct(Filesystem $files)
+	{
+		$this->files = $files;
+	}
+
+	/**
+	 * Create a new migration at the given path.
+	 *
+	 * @param  string  $name
+	 * @param  string  $path
+	 * @param  string  $table
+	 * @param  bool    $create
+	 * @return string
+	 */
+	public function create($name, $path, $table = null, $create = false)
+	{
+		$path = $this->getPath($name, $path);
+
+		// First we will get the stub file for the migration, which serves as a type
+		// of template for the migration. Once we have those we will populate the
+		// various place-holders, save the file, and run the post create event.
+		$stub = $this->getStub($table, $create);
+
+		$this->files->put($path, $this->populateStub($name, $stub, $table));
+
+		$this->firePostCreateHooks();
+
+		return $path;
+	}
+
+	/**
+	 * Get the migration stub file.
+	 *
+	 * @param  string  $table
+	 * @param  bool    $create
+	 * @return string
+	 */
+	protected function getStub($table, $create)
+	{
+		if (is_null($table))
+		{
+			return $this->files->get($this->getStubPath().'/blank.stub');
+		}
+
+		// We also have stubs for creating new tables and modifying existing tables
+		// to save the developer some typing when they are creating a new tables
+		// or modifying existing tables. We'll grab the appropriate stub here.
+		else
+		{
+			$stub = $create ? 'create.stub' : 'update.stub';
+
+			return $this->files->get($this->getStubPath()."/{$stub}");
+		}
+	}
+
+	/**
+	 * Populate the place-holders in the migration stub.
+	 *
+	 * @param  string  $name
+	 * @param  string  $stub
+	 * @param  string  $table
+	 * @return string
+	 */
+	protected function populateStub($name, $stub, $table)
+	{
+		$stub = str_replace('{{class}}', $this->getClassName($name), $stub);
+
+		// Here we will replace the table place-holders with the table specified by
+		// the developer, which is useful for quickly creating a tables creation
+		// or update migration from the console instead of typing it manually.
+		if ( ! is_null($table))
+		{
+			$stub = str_replace('{{table}}', $table, $stub);
+		}
+
+		return $stub;
+	}
+
+	/**
+	 * Get the class name of a migration name.
+	 *
+	 * @param  string  $name
+	 * @return string
+	 */
+	protected function getClassName($name)
+	{
+		return studly_case($name);
+	}
+
+	/**
+	 * Fire the registered post create hooks.
+	 *
+	 * @return void
+	 */
+	protected function firePostCreateHooks()
+	{
+		foreach ($this->postCreate as $callback)
+		{
+			call_user_func($callback);
+		}
+	}
+
+	/**
+	 * Register a post migration create hook.
+	 *
+	 * @param  \Closure  $callback
+	 * @return void
+	 */
+	public function afterCreate(Closure $callback)
+	{
+		$this->postCreate[] = $callback;
+	}
+
+	/**
+	 * Get the full path name to the migration.
+	 *
+	 * @param  string  $name
+	 * @param  string  $path
+	 * @return string
+	 */
+	protected function getPath($name, $path)
+	{
+		return $path.'/'.$this->getDatePrefix().'_'.$name.'.php';
+	}
+
+	/**
+	 * Get the date prefix for the migration.
+	 *
+	 * @return string
+	 */
+	protected function getDatePrefix()
+	{
+		return date('Y_m_d_His');
+	}
+
+	/**
+	 * Get the path to the stubs.
+	 *
+	 * @return string
+	 */
+	public function getStubPath()
+	{
+		return __DIR__.'/stubs';
+	}
+
+	/**
+	 * Get the filesystem instance.
+	 *
+	 * @return \Illuminate\Filesystem\Filesystem
+	 */
+	public function getFilesystem()
+	{
+		return $this->files;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php
new file mode 100755
index 0000000..dfafa15
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/MigrationRepositoryInterface.php
@@ -0,0 +1,65 @@
+<?php namespace Illuminate\Database\Migrations;
+
+interface MigrationRepositoryInterface {
+
+	/**
+	 * Get the ran migrations for a given package.
+	 *
+	 * @return array
+	 */
+	public function getRan();
+
+	/**
+	 * Get the last migration batch.
+	 *
+	 * @return array
+	 */
+	public function getLast();
+
+	/**
+	 * Log that a migration was run.
+	 *
+	 * @param  string  $file
+	 * @param  int     $batch
+	 * @return void
+	 */
+	public function log($file, $batch);
+
+	/**
+	 * Remove a migration from the log.
+	 *
+	 * @param  object  $migration
+	 * @return void
+	 */
+	public function delete($migration);
+
+	/**
+	 * Get the next migration batch number.
+	 *
+	 * @return int
+	 */
+	public function getNextBatchNumber();
+
+	/**
+	 * Create the migration repository data store.
+	 *
+	 * @return void
+	 */
+	public function createRepository();
+
+	/**
+	 * Determine if the migration repository exists.
+	 *
+	 * @return bool
+	 */
+	public function repositoryExists();
+
+	/**
+	 * Set the information source to gather data.
+	 *
+	 * @param  string  $name
+	 * @return void
+	 */
+	public function setSource($name);
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php b/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php
new file mode 100755
index 0000000..fcb0e41
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/Migrator.php
@@ -0,0 +1,384 @@
+<?php namespace Illuminate\Database\Migrations;
+
+use Illuminate\Filesystem\Filesystem;
+use Illuminate\Database\ConnectionResolverInterface as Resolver;
+
+class Migrator {
+
+	/**
+	 * The migration repository implementation.
+	 *
+	 * @var \Illuminate\Database\Migrations\MigrationRepositoryInterface
+	 */
+	protected $repository;
+
+	/**
+	 * The filesystem instance.
+	 *
+	 * @var \Illuminate\Filesystem\Filesystem
+	 */
+	protected $files;
+
+	/**
+	 * The connection resolver instance.
+	 *
+	 * @var \Illuminate\Database\ConnectionResolverInterface
+	 */
+	protected $resolver;
+
+	/**
+	 * The name of the default connection.
+	 *
+	 * @var string
+	 */
+	protected $connection;
+
+	/**
+	 * The notes for the current operation.
+	 *
+	 * @var array
+	 */
+	protected $notes = array();
+
+	/**
+	 * Create a new migrator instance.
+	 *
+	 * @param  \Illuminate\Database\Migrations\MigrationRepositoryInterface  $repository
+	 * @param  \Illuminate\Database\ConnectionResolverInterface  $resolver
+	 * @param  \Illuminate\Filesystem\Filesystem  $files
+	 * @return void
+	 */
+	public function __construct(MigrationRepositoryInterface $repository,
+								Resolver $resolver,
+                                Filesystem $files)
+	{
+		$this->files = $files;
+		$this->resolver = $resolver;
+		$this->repository = $repository;
+	}
+
+	/**
+	 * Run the outstanding migrations at a given path.
+	 *
+	 * @param  string  $path
+	 * @param  bool    $pretend
+	 * @return void
+	 */
+	public function run($path, $pretend = false)
+	{
+		$this->notes = array();
+
+		$files = $this->getMigrationFiles($path);
+
+		// Once we grab all of the migration files for the path, we will compare them
+		// against the migrations that have already been run for this package then
+		// run each of the outstanding migrations against a database connection.
+		$ran = $this->repository->getRan();
+
+		$migrations = array_diff($files, $ran);
+
+		$this->requireFiles($path, $migrations);
+
+		$this->runMigrationList($migrations, $pretend);
+	}
+
+	/**
+	 * Run an array of migrations.
+	 *
+	 * @param  array  $migrations
+	 * @param  bool   $pretend
+	 * @return void
+	 */
+	public function runMigrationList($migrations, $pretend = false)
+	{
+		// First we will just make sure that there are any migrations to run. If there
+		// aren't, we will just make a note of it to the developer so they're aware
+		// that all of the migrations have been run against this database system.
+		if (count($migrations) == 0)
+		{
+			$this->note('<info>Nothing to migrate.</info>');
+
+			return;
+		}
+
+		$batch = $this->repository->getNextBatchNumber();
+
+		// Once we have the array of migrations, we will spin through them and run the
+		// migrations "up" so the changes are made to the databases. We'll then log
+		// that the migration was run so we don't repeat it next time we execute.
+		foreach ($migrations as $file)
+		{
+			$this->runUp($file, $batch, $pretend);
+		}
+	}
+
+	/**
+	 * Run "up" a migration instance.
+	 *
+	 * @param  string  $file
+	 * @param  int     $batch
+	 * @param  bool    $pretend
+	 * @return void
+	 */
+	protected function runUp($file, $batch, $pretend)
+	{
+		// First we will resolve a "real" instance of the migration class from this
+		// migration file name. Once we have the instances we can run the actual
+		// command such as "up" or "down", or we can just simulate the action.
+		$migration = $this->resolve($file);
+
+		if ($pretend)
+		{
+			return $this->pretendToRun($migration, 'up');
+		}
+
+		$migration->up();
+
+		// Once we have run a migrations class, we will log that it was run in this
+		// repository so that we don't try to run it next time we do a migration
+		// in the application. A migration repository keeps the migrate order.
+		$this->repository->log($file, $batch);
+
+		$this->note("<info>Migrated:</info> $file");
+	}
+
+	/**
+	 * Rollback the last migration operation.
+	 *
+	 * @param  bool  $pretend
+	 * @return int
+	 */
+	public function rollback($pretend = false)
+	{
+		$this->notes = array();
+
+		// We want to pull in the last batch of migrations that ran on the previous
+		// migration operation. We'll then reverse those migrations and run each
+		// of them "down" to reverse the last migration "operation" which ran.
+		$migrations = $this->repository->getLast();
+
+		if (count($migrations) == 0)
+		{
+			$this->note('<info>Nothing to rollback.</info>');
+
+			return count($migrations);
+		}
+
+		// We need to reverse these migrations so that they are "downed" in reverse
+		// to what they run on "up". It lets us backtrack through the migrations
+		// and properly reverse the entire database schema operation that ran.
+		foreach ($migrations as $migration)
+		{
+			$this->runDown((object) $migration, $pretend);
+		}
+
+		return count($migrations);
+	}
+
+	/**
+	 * Run "down" a migration instance.
+	 *
+	 * @param  object  $migration
+	 * @param  bool    $pretend
+	 * @return void
+	 */
+	protected function runDown($migration, $pretend)
+	{
+		$file = $migration->migration;
+
+		// First we will get the file name of the migration so we can resolve out an
+		// instance of the migration. Once we get an instance we can either run a
+		// pretend execution of the migration or we can run the real migration.
+		$instance = $this->resolve($file);
+
+		if ($pretend)
+		{
+			return $this->pretendToRun($instance, 'down');
+		}
+
+		$instance->down();
+
+		// Once we have successfully run the migration "down" we will remove it from
+		// the migration repository so it will be considered to have not been run
+		// by the application then will be able to fire by any later operation.
+		$this->repository->delete($migration);
+
+		$this->note("<info>Rolled back:</info> $file");
+	}
+
+	/**
+	 * Get all of the migration files in a given path.
+	 *
+	 * @param  string  $path
+	 * @return array
+	 */
+	public function getMigrationFiles($path)
+	{
+		$files = $this->files->glob($path.'/*_*.php');
+
+		// Once we have the array of files in the directory we will just remove the
+		// extension and take the basename of the file which is all we need when
+		// finding the migrations that haven't been run against the databases.
+		if ($files === false) return array();
+
+		$files = array_map(function($file)
+		{
+			return str_replace('.php', '', basename($file));
+
+		}, $files);
+
+		// Once we have all of the formatted file names we will sort them and since
+		// they all start with a timestamp this should give us the migrations in
+		// the order they were actually created by the application developers.
+		sort($files);
+
+		return $files;
+	}
+
+	/**
+	 * Require in all the migration files in a given path.
+	 *
+	 * @param  string  $path
+	 * @param  array   $files
+	 * @return void
+	 */
+	public function requireFiles($path, array $files)
+	{
+		foreach ($files as $file) $this->files->requireOnce($path.'/'.$file.'.php');
+	}
+
+	/**
+	 * Pretend to run the migrations.
+	 *
+	 * @param  object  $migration
+	 * @param  string  $method
+	 * @return void
+	 */
+	protected function pretendToRun($migration, $method)
+	{
+		foreach ($this->getQueries($migration, $method) as $query)
+		{
+			$name = get_class($migration);
+
+			$this->note("<info>{$name}:</info> {$query['query']}");
+		}
+	}
+
+	/**
+	 * Get all of the queries that would be run for a migration.
+	 *
+	 * @param  object  $migration
+	 * @param  string  $method
+	 * @return array
+	 */
+	protected function getQueries($migration, $method)
+	{
+		$connection = $migration->getConnection();
+
+		// Now that we have the connections we can resolve it and pretend to run the
+		// queries against the database returning the array of raw SQL statements
+		// that would get fired against the database system for this migration.
+		$db = $this->resolveConnection($connection);
+
+		return $db->pretend(function() use ($migration, $method)
+		{
+			$migration->$method();
+		});
+	}
+
+	/**
+	 * Resolve a migration instance from a file.
+	 *
+	 * @param  string  $file
+	 * @return object
+	 */
+	public function resolve($file)
+	{
+		$file = implode('_', array_slice(explode('_', $file), 4));
+
+		$class = studly_case($file);
+
+		return new $class;
+	}
+
+	/**
+	 * Raise a note event for the migrator.
+	 *
+	 * @param  string  $message
+	 * @return void
+	 */
+	protected function note($message)
+	{
+		$this->notes[] = $message;
+	}
+
+	/**
+	 * Get the notes for the last operation.
+	 *
+	 * @return array
+	 */
+	public function getNotes()
+	{
+		return $this->notes;
+	}
+
+	/**
+	 * Resolve the database connection instance.
+	 *
+	 * @param  string  $connection
+	 * @return \Illuminate\Database\Connection
+	 */
+	public function resolveConnection($connection)
+	{
+		return $this->resolver->connection($connection);
+	}
+
+	/**
+	 * Set the default connection name.
+	 *
+	 * @param  string  $name
+	 * @return void
+	 */
+	public function setConnection($name)
+	{
+		if ( ! is_null($name))
+		{
+			$this->resolver->setDefaultConnection($name);
+		}
+
+		$this->repository->setSource($name);
+
+		$this->connection = $name;
+	}
+
+	/**
+	 * Get the migration repository instance.
+	 *
+	 * @return \Illuminate\Database\Migrations\MigrationRepositoryInterface
+	 */
+	public function getRepository()
+	{
+		return $this->repository;
+	}
+
+	/**
+	 * Determine if the migration repository exists.
+	 *
+	 * @return bool
+	 */
+	public function repositoryExists()
+	{
+		return $this->repository->repositoryExists();
+	}
+
+	/**
+	 * Get the file system instance.
+	 *
+	 * @return \Illuminate\Filesystem\Filesystem
+	 */
+	public function getFilesystem()
+	{
+		return $this->files;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub
new file mode 100755
index 0000000..a711201
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/blank.stub
@@ -0,0 +1,28 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class {{class}} extends Migration {
+
+	/**
+	 * Run the migrations.
+	 *
+	 * @return void
+	 */
+	public function up()
+	{
+		//
+	}
+
+	/**
+	 * Reverse the migrations.
+	 *
+	 * @return void
+	 */
+	public function down()
+	{
+		//
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/create.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/create.stub
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/create.stub
new file mode 100755
index 0000000..0f15b3e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/create.stub
@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class {{class}} extends Migration {
+
+	/**
+	 * Run the migrations.
+	 *
+	 * @return void
+	 */
+	public function up()
+	{
+		Schema::create('{{table}}', function(Blueprint $table)
+		{
+			$table->increments('id');
+			$table->timestamps();
+		});
+	}
+
+	/**
+	 * Reverse the migrations.
+	 *
+	 * @return void
+	 */
+	public function down()
+	{
+		Schema::drop('{{table}}');
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub
b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub
new file mode 100755
index 0000000..cc2c904
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/Migrations/stubs/update.stub
@@ -0,0 +1,34 @@
+<?php
+
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Database\Migrations\Migration;
+
+class {{class}} extends Migration {
+
+	/**
+	 * Run the migrations.
+	 *
+	 * @return void
+	 */
+	public function up()
+	{
+		Schema::table('{{table}}', function(Blueprint $table)
+		{
+			//
+		});
+	}
+
+	/**
+	 * Reverse the migrations.
+	 *
+	 * @return void
+	 */
+	public function down()
+	{
+		Schema::table('{{table}}', function(Blueprint $table)
+		{
+			//
+		});
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php b/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php
new file mode 100755
index 0000000..ac1e9d1
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/MySqlConnection.php
@@ -0,0 +1,62 @@
+<?php namespace Illuminate\Database;
+
+use Illuminate\Database\Schema\MySqlBuilder;
+use Doctrine\DBAL\Driver\PDOMySql\Driver as DoctrineDriver;
+use Illuminate\Database\Query\Grammars\MySqlGrammar as QueryGrammar;
+use Illuminate\Database\Schema\Grammars\MySqlGrammar as SchemaGrammar;
+
+class MySqlConnection extends Connection {
+
+	/**
+	 * Get a schema builder instance for the connection.
+	 *
+	 * @return \Illuminate\Database\Schema\MySqlBuilder
+	 */
+	public function getSchemaBuilder()
+	{
+		if (is_null($this->schemaGrammar)) { $this->useDefaultSchemaGrammar(); }
+
+		return new MySqlBuilder($this);
+	}
+
+	/**
+	 * Get the default query grammar instance.
+	 *
+	 * @return \Illuminate\Database\Query\Grammars\MySqlGrammar
+	 */
+	protected function getDefaultQueryGrammar()
+	{
+		return $this->withTablePrefix(new QueryGrammar);
+	}
+
+	/**
+	 * Get the default schema grammar instance.
+	 *
+	 * @return \Illuminate\Database\Schema\Grammars\MySqlGrammar
+	 */
+	protected function getDefaultSchemaGrammar()
+	{
+		return $this->withTablePrefix(new SchemaGrammar);
+	}
+
+	/**
+	 * Get the default post processor instance.
+	 *
+	 * @return \Illuminate\Database\Query\Processors\Processor
+	 */
+	protected function getDefaultPostProcessor()
+	{
+		return new Query\Processors\MySqlProcessor;
+	}
+
+	/**
+	 * Get the Doctrine DBAL driver.
+	 *
+	 * @return \Doctrine\DBAL\Driver\PDOMySql\Driver
+	 */
+	protected function getDoctrineDriver()
+	{
+		return new DoctrineDriver;
+	}
+
+}

http://git-wip-us.apache.org/repos/asf/airavata-php-gateway/blob/01413d65/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php
----------------------------------------------------------------------
diff --git a/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php b/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php
new file mode 100755
index 0000000..56b6c4e
--- /dev/null
+++ b/vendor/laravel/framework/src/Illuminate/Database/PostgresConnection.php
@@ -0,0 +1,50 @@
+<?php namespace Illuminate\Database;
+
+use Doctrine\DBAL\Driver\PDOPgSql\Driver as DoctrineDriver;
+use Illuminate\Database\Query\Processors\PostgresProcessor;
+use Illuminate\Database\Query\Grammars\PostgresGrammar as QueryGrammar;
+use Illuminate\Database\Schema\Grammars\PostgresGrammar as SchemaGrammar;
+
+class PostgresConnection extends Connection {
+
+	/**
+	 * Get the default query grammar instance.
+	 *
+	 * @return \Illuminate\Database\Query\Grammars\PostgresGrammar
+	 */
+	protected function getDefaultQueryGrammar()
+	{
+		return $this->withTablePrefix(new QueryGrammar);
+	}
+
+	/**
+	 * Get the default schema grammar instance.
+	 *
+	 * @return \Illuminate\Database\Schema\Grammars\PostgresGrammar
+	 */
+	protected function getDefaultSchemaGrammar()
+	{
+		return $this->withTablePrefix(new SchemaGrammar);
+	}
+
+	/**
+	 * Get the default post processor instance.
+	 *
+	 * @return \Illuminate\Database\Query\Processors\PostgresProcessor
+	 */
+	protected function getDefaultPostProcessor()
+	{
+		return new PostgresProcessor;
+	}
+
+	/**
+	 * Get the Doctrine DBAL driver.
+	 *
+	 * @return \Doctrine\DBAL\Driver\PDOPgSql\Driver
+	 */
+	protected function getDoctrineDriver()
+	{
+		return new DoctrineDriver;
+	}
+
+}


Mime
View raw message