mirror of
https://github.com/superhelio/commands.git
synced 2026-01-27 06:45:10 +00:00
Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83a07b225e | ||
|
|
9ca5301b77 | ||
|
|
5d3aab30c0 | ||
|
|
06039cdcfd | ||
|
|
fcb274d3d6 | ||
|
|
8bc16492f6 | ||
|
|
662acf0b48 | ||
|
|
37f35eeb26 | ||
|
|
8fe5df77fb | ||
|
|
6140c7b999 | ||
|
|
4f51fd8c51 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,2 +1 @@
|
||||
composer.lock
|
||||
vendor
|
||||
vendor
|
||||
32
.travis.yml
32
.travis.yml
@@ -1,30 +1,20 @@
|
||||
language: php
|
||||
|
||||
sudo: false
|
||||
|
||||
php:
|
||||
- 7.0
|
||||
- 7.1
|
||||
|
||||
env:
|
||||
global:
|
||||
- setup=basic
|
||||
- coverage=no
|
||||
|
||||
- nightly
|
||||
matrix:
|
||||
allow_failures:
|
||||
- php: nightly
|
||||
fast_finish: true
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.composer/cache/files
|
||||
|
||||
before_script:
|
||||
- composer config discard-changes true
|
||||
- if [[ $setup = 'basic' ]]; then travis_retry composer install --prefer-dist --no-interaction; fi
|
||||
- if [[ $setup = 'stable' ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-stable; fi
|
||||
- if [[ $setup = 'lowest' ]]; then travis_retry composer update --prefer-dist --no-interaction --prefer-lowest --prefer-stable; fi
|
||||
- if [[ $setup = 'coveralls' ]]; then travis_retry composer require "satooshi/php-coveralls=~0.7" --prefer-dist --no-interaction --dev; fi
|
||||
|
||||
- phpenv global "$TRAVIS_PHP_VERSION"
|
||||
- composer config extra.platform.php $TRAVIS_PHP_VERSION
|
||||
install:
|
||||
- flags="--ansi --prefer-dist --no-interaction --optimize-autoloader --no-suggest --no-progress"
|
||||
- travis_wait 30 composer install $flags
|
||||
script:
|
||||
- if [[ $coverage = 'yes' ]]; then ./vendor/bin/phpunit -c phpunit.xml --coverage-clover build/logs/clover.xml; fi
|
||||
- if [[ $coverage = 'no' ]]; then ./vendor/bin/phpunit -c phpunit.xml; fi
|
||||
|
||||
after_script:
|
||||
- if [[ $setup = 'coveralls' ]]; then php vendor/bin/coveralls -v; fi
|
||||
- ./vendor/bin/phpunit -c phpunit.xml
|
||||
15
CHANGELOG.md
15
CHANGELOG.md
@@ -4,7 +4,20 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](http://keepachangelog.com/)
|
||||
and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [1.1.0](https://github.com/superhelio/commands/tree/2.0.0) (2017-08-27)
|
||||
## [1.2.0](https://github.com/superhelio/commands/tree/1.2.0) (2017-10-19)
|
||||
- Bumped PHP version requirement to >=7.0, PHP5.6 was taking really long time to resolve
|
||||
- Included composer.lock, which is generated with PHP v7.0.23
|
||||
|
||||
## [1.1.2](https://github.com/superhelio/commands/tree/1.1.2) (2017-09-15)
|
||||
- Removed composer.lock, only to enable correct CI builds
|
||||
- Reworked travis-ci.org configuration, builds should now go green
|
||||
|
||||
## [1.1.1](https://github.com/superhelio/commands/tree/1.1.1) (2017-08-27)
|
||||
- Typo fixes
|
||||
- Removal of dead/unnecessary code
|
||||
- Added composer.lock for faster builds
|
||||
|
||||
## [1.1.0](https://github.com/superhelio/commands/tree/1.1.0) (2017-08-27)
|
||||
- New command: `superhelio:gozer` with tests
|
||||
|
||||
## [1.0.0](https://github.com/superhelio/commands/tree/1.0.0) (2017-02-08)
|
||||
|
||||
@@ -10,6 +10,8 @@
|
||||
This is a collection of Laravel Artisan commands created to help everyone
|
||||
in their development work. We try to keep these as useful as possible.
|
||||
|
||||
This package requires PHP 7.0 or later. `composer.lock` has been generated with PHP v7.0.23.
|
||||
|
||||
## Install
|
||||
|
||||
### Step 1: Install Through Composer
|
||||
@@ -34,7 +36,7 @@ public function register()
|
||||
## Usage
|
||||
|
||||
- *superhelio:gozer*
|
||||
- Force delete database tables that has your table prefix
|
||||
- Force delete database tables that have your table prefix
|
||||
- `php artisan superhelio:gozer`
|
||||
- *superhelio:reload*
|
||||
- Reset database, migrate and seed
|
||||
@@ -77,3 +79,4 @@ The MIT License (MIT). Please see [License File](LICENSE.md) for more informatio
|
||||
[link-downloads]: https://packagist.org/packages/superhelio/commands
|
||||
[link-author]: https://github.com/superhelio
|
||||
[link-contributors]: https://github.com/superhelio/commands/graphs/contributors
|
||||
[link-dbal]: https://packagist.org/packages/doctrine/dbal
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "superhelio/commands",
|
||||
"description": "Laravel Commands",
|
||||
"description": "This is a collection of Laravel Artisan commands created to help everyone in their development work.",
|
||||
"keywords": [
|
||||
"laravel",
|
||||
"superhelio",
|
||||
@@ -17,13 +17,13 @@
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php" : ">=5.5.0",
|
||||
"illuminate/support": "~5.2"
|
||||
"php" : ">=7.0",
|
||||
"illuminate/support": "^5.3|^5.4|^5.5",
|
||||
"doctrine/dbal": "^2.5|^2.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit" : "4.*",
|
||||
"orchestra/testbench": "~3.0",
|
||||
"doctrine/dbal": "~2.3"
|
||||
"phpunit/phpunit" : "^5.0",
|
||||
"orchestra/testbench": "~3.0"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
@@ -41,6 +41,11 @@
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
},
|
||||
"laravel": {
|
||||
"providers": [
|
||||
"Superhelio\\Commands\\ServiceProvider"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
3489
composer.lock
generated
Normal file
3489
composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -20,21 +20,13 @@ class Gozer extends Command
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Force delete database tables that has your table prefix';
|
||||
protected $description = 'Force delete database tables that have your table prefix';
|
||||
|
||||
/**
|
||||
* @var string Database table prefix
|
||||
*/
|
||||
private $dbPrefix = '';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
@@ -51,12 +43,12 @@ class Gozer extends Command
|
||||
|
||||
$this->info('
|
||||
|
||||
________
|
||||
________
|
||||
/ _____/ ____________ ___________
|
||||
/ \ ___ / _ \___ // __ \_ __ \
|
||||
\ \_\ ( <_> ) /\ ___/| | \/
|
||||
\______ /\____/_____ \\___ >__|
|
||||
\/ \/ \/
|
||||
\______ /\____/_____ \\___ >__|
|
||||
\/ \/ \/
|
||||
|
||||
');
|
||||
|
||||
@@ -88,6 +80,7 @@ class Gozer extends Command
|
||||
*/
|
||||
if ($tables->count() < 1) {
|
||||
$this->info('There are no tables, only Zuul.');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,9 @@ class Reload extends Command
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'superhelio:reload';
|
||||
protected $signature = 'superhelio:reload
|
||||
{--automate=false : Should run without questions?}
|
||||
{--loud=true : Should output reset and migrate outputs?}';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
@@ -20,14 +22,6 @@ class Reload extends Command
|
||||
*/
|
||||
protected $description = 'Rollback migrations, migrate and run seeds';
|
||||
|
||||
/**
|
||||
* Create a new command instance.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
@@ -35,24 +29,51 @@ class Reload extends Command
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
if ($this->confirm('Rollback all your database tables, recreate them and seed?')) {
|
||||
$this->call(
|
||||
'migrate:reset',
|
||||
[
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'development',
|
||||
'--verbose' => 3
|
||||
]
|
||||
);
|
||||
$this->call(
|
||||
'migrate',
|
||||
[
|
||||
'--seed' => true,
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'development',
|
||||
'--verbose' => 3
|
||||
]
|
||||
);
|
||||
$automated = $this->automate();
|
||||
|
||||
if ($automated && $this->confirm('Rollback all your database tables, recreate them and seed?')) {
|
||||
return $this->runReload();
|
||||
}
|
||||
if (!$automated) {
|
||||
return $this->runReload();
|
||||
}
|
||||
}
|
||||
|
||||
public function automate()
|
||||
{
|
||||
$automate = $this->option('automate');
|
||||
|
||||
return !($automate === '1' || $automate === 1 || $automate === 'yes' || $automate === 'true');
|
||||
}
|
||||
|
||||
public function outputVerbosity()
|
||||
{
|
||||
$output = $this->option('loud');
|
||||
|
||||
return ($output === '1' || $output === 1 || $output == 'yes' || $output == 'true');
|
||||
}
|
||||
|
||||
public function runReload()
|
||||
{
|
||||
$verbose = ($this->outputVerbosity() ? 3 : 0);
|
||||
$this->call(
|
||||
'migrate:reset',
|
||||
[
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'development',
|
||||
'--verbose' => $verbose
|
||||
]
|
||||
);
|
||||
$this->call(
|
||||
'migrate',
|
||||
[
|
||||
'--seed' => true,
|
||||
'--no-interaction' => true,
|
||||
'--env' => 'development',
|
||||
'--verbose' => $verbose
|
||||
]
|
||||
);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Superhelio\Commands;
|
||||
|
||||
class Facade extends \Illuminate\Support\Facades\Facade
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
namespace Superhelio\Commands;
|
||||
|
||||
use ReflectionClass;
|
||||
@@ -101,12 +102,12 @@ class GozerTest extends \Orchestra\Testbench\TestCase
|
||||
$connection = $gozer->getConnection();
|
||||
|
||||
$tables = $gozer->getTables($connection);
|
||||
$this->assertTrue(in_array('gozerTest__users', $tables, false));
|
||||
$this->assertTrue(\in_array('gozerTest__users', $tables, false));
|
||||
|
||||
$gozer->setDatabasePrefix('gozerTest__');
|
||||
$filteredTables = $gozer->getFilteredTables($tables);
|
||||
$this->assertTrue(is_a($filteredTables, \Illuminate\Support\Collection::class));
|
||||
$this->assertTrue(in_array('gozerTest__users', $filteredTables->toArray(), false));
|
||||
$this->assertTrue(\in_array('gozerTest__users', $filteredTables->toArray(), false));
|
||||
}
|
||||
|
||||
public function test_gozer_table_filtering_works()
|
||||
@@ -123,9 +124,9 @@ class GozerTest extends \Orchestra\Testbench\TestCase
|
||||
$filtered = $gozer->getFilteredTables($tables);
|
||||
$array = $filtered->toArray();
|
||||
|
||||
$this->assertFalse(in_array('this_should_be_filtered', $array, false));
|
||||
$this->assertFalse(in_array('filter_me_too', $array, false));
|
||||
$this->assertTrue(in_array('gozerTest__users', $array, false));
|
||||
$this->assertTrue(in_array('gozerTest__migrations', $array, false));
|
||||
$this->assertFalse(\in_array('this_should_be_filtered', $array, false));
|
||||
$this->assertFalse(\in_array('filter_me_too', $array, false));
|
||||
$this->assertTrue(\in_array('gozerTest__users', $array, false));
|
||||
$this->assertTrue(\in_array('gozerTest__migrations', $array, false));
|
||||
}
|
||||
}
|
||||
|
||||
24
tests/PackageTest.php
Normal file
24
tests/PackageTest.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Superhelio\Commands;
|
||||
|
||||
use ReflectionClass;
|
||||
|
||||
class PackageTest extends \Orchestra\Testbench\TestCase
|
||||
{
|
||||
public function test_facade()
|
||||
{
|
||||
$facade = new ReflectionClass(Facade::class);
|
||||
$this->assertTrue($facade->hasMethod('getFacadeAccessor'));
|
||||
$this->assertTrue($facade->getMethod('getFacadeAccessor')->isProtected());
|
||||
$this->assertTrue($facade->getMethod('getFacadeAccessor')->isStatic());
|
||||
}
|
||||
|
||||
public function test_service_provider()
|
||||
{
|
||||
$sp = new ReflectionClass(\Superhelio\Commands\ServiceProvider::class);
|
||||
$this->assertTrue($sp->hasMethod('register'));
|
||||
$this->assertTrue($sp->hasMethod('registerReloader'));
|
||||
$this->assertTrue($sp->hasMethod('registerGozer'));
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,75 @@
|
||||
<?php
|
||||
|
||||
namespace Superhelio\Commands;
|
||||
|
||||
use ReflectionClass;
|
||||
use Superhelio\Commands\Commands\Reload;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
|
||||
class ReloadTest extends \PHPUnit_Framework_TestCase
|
||||
class ReloadTest extends \Orchestra\Testbench\TestCase
|
||||
{
|
||||
public function testReloadTest()
|
||||
/**
|
||||
* Setup the test environment.
|
||||
*/
|
||||
public function setUp()
|
||||
{
|
||||
$this->assertTrue(true);
|
||||
parent::setUp();
|
||||
$this->artisan('migrate', ['--database' => 'testbench']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Define environment setup.
|
||||
*
|
||||
* @param \Illuminate\Foundation\Application $app
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function getEnvironmentSetUp($app)
|
||||
{
|
||||
// Setup default database to use sqlite :memory:
|
||||
$app['config']->set('database.default', 'testbench');
|
||||
$app['config']->set('database.connections.testbench', [
|
||||
'driver' => 'sqlite',
|
||||
'database' => ':memory:',
|
||||
'prefix' => 'reloadTest__',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get package providers.
|
||||
* At a minimum this is the package being tested, but also
|
||||
* would include packages upon which our package depends.
|
||||
* In a normal app environment these would be added to
|
||||
* the 'providers' array in the config/app.php file.
|
||||
*
|
||||
* @param \Illuminate\Foundation\Application $app
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function getPackageProviders($app)
|
||||
{
|
||||
return [
|
||||
'\Superhelio\Commands\Tests\Stubs\ServiceProvider',
|
||||
'\Superhelio\Commands\ServiceProvider'
|
||||
];
|
||||
}
|
||||
|
||||
public function test_reload_exists()
|
||||
{
|
||||
$this->assertTrue(class_exists(Reload::class));
|
||||
$reload = new Reload();
|
||||
|
||||
$this->assertInstanceOf(Reload::class, $reload);
|
||||
}
|
||||
|
||||
public function test_reload_has_required_methods_and_properties()
|
||||
{
|
||||
$reload = new Reload();
|
||||
$this->assertTrue(method_exists($reload, 'handle'), 'handle');
|
||||
$this->assertTrue(method_exists($reload, 'runReload'), 'runReload');
|
||||
$this->assertTrue(method_exists($reload, 'automate'), 'automate');
|
||||
|
||||
$reload = new ReflectionClass(Reload::class);
|
||||
$this->assertTrue($reload->hasProperty('signature'), 'signature');
|
||||
$this->assertTrue($reload->hasProperty('description'), 'description');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,6 @@ class ServiceProvider extends \Illuminate\Support\ServiceProvider
|
||||
{
|
||||
public function boot()
|
||||
{
|
||||
$this->loadMigrationsFrom(realpath(__DIR__ . '/../migrations'));
|
||||
$this->loadMigrationsFrom(\dirname(__DIR__) . '/migrations');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user