1. Go to this page and download the library: Download pinkcrab/wp-db-migrations 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/ */
pinkcrab / wp-db-migrations example snippets
use PinkCrab\Table_Builder\Schema;
use PinkCrab\DB_Migration\Database_Migration;
class Foo_Migration extends Database_Migration {
// Define the tables name.
protected $table_name = 'foo_table';
// Define the tables schema
public function schema( Schema $schema_config ): void {
$schema_config->column('id')->unsigned_int(12)->auto_increment()
$schema_config->index('id')->primary();
$schema_config->column('column1')->text()->nullable();
$schema_config->column('column2')->text()->nullable();
}
// Add all data to be seeded
public function seed( array $seeds ): array {
$seeds[] = [
'column1' => 'value1',
'column2' => 'value2',
];
$seeds[] = [
'column1' => 'value1',
'column2' => 'value2',
];
return $seeds;
}
}
global $wpdb; // You can access this however you please.
// See PinkCrab Table Builder for details about the Builder.
$builder = new Builder(...);
$manager = new Migration_Manager($builder, $wpdb, 'acme_migration_log_key');
// Add all migration to manager
$manager->add_migration(new Foo_Migration());
// Create tables
$manager->create_tables('some_table_to_skip');
// Insert all seed data
$manager->seed_tables('some_table_to_skip');
// Drop all tables
$manager->drop_tables('some_table_to_skip');