crm-summit/app/Database/Migrations/2026-04-28-000001_AddFigmaUserIdToFileVersions.php
mahdahar 6776d539ae feat(figma): add version author id and robust incremental sync pagination
Improve Figma synchronization to persist version author identity and handle API pagination links reliably during incremental sync jobs.

Changes included:
- Added  support end-to-end:
  - New migration  adds column and index.
  -  now allows .
  -  maps user id from Figma version payload ( / ).
  -  snapshot query now selects .
  -  displays Figma User ID column and updates table colspan states.
- Hardened Figma pagination flow in :
  - Follow absolute  URLs when returned by API.
  - Track seen pagination URLs to prevent loops.
  - Support additional page-size query key and URL-safe encoding.
  - Updated request builder to work with absolute endpoints and existing query strings.
- Consolidated schema intent:
  - Moved Volume in drive C: has no label
Volume Serial Number is 2B45-1F84/ columns into initial Figma table migration.
  - Removed superseded follow-up migrations that previously added/dropped these fields.
- Updated project docs and dependencies:
  - Replaced starter README with CRM Summit specific project README.
  - Refreshed  (framework and dependency version bumps).
- Added database artifact: .

Impact:
- Incremental sync should now process paginated version/history feeds more reliably.
- Snapshot API and dashboard expose author-level metadata for auditing and filtering.
- Fresh installs get cleaner Figma schema history from baseline migration.
2026-04-28 05:39:02 +07:00

28 lines
629 B
PHP

<?php
namespace App\Database\Migrations;
use CodeIgniter\Database\Migration;
class AddFigmaUserIdToFileVersions extends Migration
{
public function up()
{
$this->forge->addColumn('figma_file_versions', [
'figma_user_id' => [
'type' => 'VARCHAR',
'constraint' => 255,
'null' => true,
],
]);
$this->db->query('CREATE INDEX idx_figma_file_versions_figma_user_id ON figma_file_versions(figma_user_id)');
}
public function down()
{
$this->db->query('DROP INDEX idx_figma_file_versions_figma_user_id ON figma_file_versions');
$this->forge->dropColumn('figma_file_versions', 'figma_user_id');
}
}