prefix . TableNames::EXTERNAL_DOCUMENTS; $collate = $wpdb->get_charset_collate(); dbDelta( "CREATE TABLE {$table} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, uuid char(36) NOT NULL, order_id bigint(20) unsigned NOT NULL, snapshot_id bigint(20) unsigned NULL, snapshot_hash char(64) NULL, provider varchar(96) NOT NULL, document_type varchar(64) NOT NULL, external_id varchar(191) NULL, issue_date datetime NULL, source_kind varchar(32) NOT NULL DEFAULT 'reference', storage_key varchar(255) NULL, external_reference varchar(255) NULL, mime_type varchar(128) NULL, file_hash char(64) NULL, file_size bigint(20) unsigned NULL, status varchar(32) NOT NULL DEFAULT 'registered', idempotency_key char(64) NULL, metadata_json longtext NULL, created_at datetime NOT NULL, PRIMARY KEY (id), UNIQUE KEY uuid (uuid), UNIQUE KEY idempotency_key (idempotency_key), KEY order_id (order_id), KEY snapshot_id (snapshot_id), KEY provider (provider), KEY provider_external (provider,external_id) ) {$collate};" ); // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared -- Internal allowlisted table name. return true; } }