Register Pckg\Migration\Provider\Migration
provider in your application. This is only needed if you don't
use Pckg\Framework\Provider\Framework
.
...
use Pckg\Migration\Provider\Migration;
...
public function providers()
{
return [
Migration::class,
];
}
All commands are app-scoped and need to be prefixed with php console $appName
.
migrator:install
- Install migrations from environment
--only=SomeMigration
- Install only listed migrations--fields
- Install only fields (no indexes/key)--indexes
- Install only indexes/key (no fields)--yes
- Say yes to all questions--clear
- Clear cache before and after--retry=1
- Retry iterations--repository=default
- Install only repository
<?php
namespace Foo\Migration;
use Foo\Migration\SomeMigration;
class SomeMigration extends \Pckg\Framework\Provider
{
public function up()
{
$clients = $this->table('clients');
$clients->deletable();
$clients->varchar('name');
$clients->json('props');
$projects = $this->table('projects');
$projects->timeable();
$projects->deletable();
$projects->integer('client_id')->references('clients');
$projects->varchar('name');
$this->save();
}
}
List your migrations in ./config/migrations.php
or ./app/$app/config/migrations.php
.
<?php
use Foo\Migration\SomeMigration;
return [
SomeMigration::class,
];
Or add your migration to the Provider
.
<?php
namespace Foo\Provider;
use Pckg\Framework\Provider;
use Foo\Migration\SomeMigration;
class Feature extends Provider
{
public function migrations()
{
return [
SomeMigration::class,
];
}
}
And then execute migrations:
# php console $appName migrator:install