- Full gg.deals-style UI: deal feed with filters, game pages with price history charts, rankings, vouchers, news, prepaids, subscriptions, bundles, franchises, wishlist, API docs - Real data crawlers: * gg:crawl (Steam Store API + GOG Catalog + Epic free games) * gg:catalog (252K game slugs from gg.deals sitemaps) * gg:ggdeals (per-game prices via FlareSolverr session, JSON-LD parsing) * gg:seed / gg:crawl-covers (demo seed + Steam CDN cover art) - 24/7 self-updating scheduler (scripts/scheduler_loop.php, lockfile-protected) - Tailwind v4 dark/light theme, Alpine.js, Chart.js
38 lines
1.1 KiB
PHP
38 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace Tests\Support\Database\Migrations;
|
|
|
|
use CodeIgniter\Database\Migration;
|
|
|
|
class ExampleMigration extends Migration
|
|
{
|
|
protected $DBGroup = 'tests';
|
|
|
|
public function up(): void
|
|
{
|
|
$this->forge->addField('id');
|
|
$this->forge->addField([
|
|
'name' => ['type' => 'varchar', 'constraint' => 31],
|
|
'uid' => ['type' => 'varchar', 'constraint' => 31],
|
|
'class' => ['type' => 'varchar', 'constraint' => 63],
|
|
'icon' => ['type' => 'varchar', 'constraint' => 31],
|
|
'summary' => ['type' => 'varchar', 'constraint' => 255],
|
|
'created_at' => ['type' => 'datetime', 'null' => true],
|
|
'updated_at' => ['type' => 'datetime', 'null' => true],
|
|
'deleted_at' => ['type' => 'datetime', 'null' => true],
|
|
]);
|
|
|
|
$this->forge->addKey('name');
|
|
$this->forge->addKey('uid');
|
|
$this->forge->addKey(['deleted_at', 'id']);
|
|
$this->forge->addKey('created_at');
|
|
|
|
$this->forge->createTable('factories');
|
|
}
|
|
|
|
public function down(): void
|
|
{
|
|
$this->forge->dropTable('factories');
|
|
}
|
|
}
|