1. Go to this page and download the library: Download lulco/phoenix library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
lulco / phoenix example snippets
return [
'migration_dirs' => [
'first' => __DIR__ . '/../first_dir',
'second' => __DIR__ . '/../second_dir',
],
'environments' => [
'local' => [
'adapter' => 'mysql',
'host' => 'localhost',
'port' => 3306, // optional
'username' => 'user',
'password' => 'pass',
'db_name' => 'my_db',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci', // optional, if not set default collation for utf8mb4 is used
],
'production' => [
'adapter' => 'mysql',
'host' => 'production_host',
'port' => 3306, // optional
'username' => 'user',
'password' => 'pass',
'db_name' => 'my_production_db',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_general_ci', // optional, if not set default collation for utf8mb4 is used
],
],
'default_environment' => 'local',
'log_table_name' => 'phoenix_log',
];
namespace FirstDir;
use Phoenix\Migration\AbstractMigration;
class MyFirstMigration extends AbstractMigration
{
protected function up(): void
{
}
protected function down(): void
{
}
}
namespace FirstDir;
use Phoenix\Database\Element\Index;
use Phoenix\Migration\AbstractMigration;
class MyFirstMigration extends AbstractMigration
{
protected function up(): void
{
$this->table('first_table')
->addColumn('title', 'string')
->addColumn('url', 'string')
->addColumn('sorting', 'integer')
->addColumn('created_at', 'datetime')
->addIndex('url', Index::TYPE_UNIQUE)
->create();
}
}
namespace FirstDir;
use Phoenix\Migration\AbstractMigration;
class MyFirstMigration extends AbstractMigration
{
protected function up(): void
{
$this->execute('CREATE TABLE `first_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`url` varchar(255) NOT NULL,
`sorting` int(11) NOT NULL,
`created_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `idx_first_table_url` (`url`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;'
);
}
}
protected function down(): void
{
$this->table('first_table')
->drop();
}
php vendor/bin/phoenix create "FirstDir\MyFirstMigration" second
php vendor/bin/phoenix migrate
Migration FirstDir\MyFirstMigration executing
Migration FirstDir\MyFirstMigration executed. Took 0.0308s
All done. Took 0.0786s
php vendor/bin/phoenix rollback
Rollback for migration FirstDir\MyFirstMigration executing
Rollback for migration FirstDir\MyFirstMigration executed. Took 0.0108s
All done. Took 0.0594s
php bin/phoenix cleanup
Rollback for migration FirstDir\MyFirstMigration executed
Phoenix cleaned