prefix . 'ability_guard_logs'; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE {$table_name} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, ability_name varchar(200) NOT NULL DEFAULT '', user_id bigint(20) unsigned NOT NULL DEFAULT 0, triggered_via varchar(50) NOT NULL DEFAULT 'php', input_data longtext DEFAULT NULL, output_data longtext DEFAULT NULL, status varchar(20) NOT NULL DEFAULT 'success', error_code varchar(100) DEFAULT NULL, execution_ms int(11) unsigned NOT NULL DEFAULT 0, ip_address varchar(45) DEFAULT NULL, created_at datetime NOT NULL, PRIMARY KEY (id), KEY ability_name (ability_name(191)), KEY user_id (user_id), KEY triggered_via (triggered_via), KEY status (status), KEY created_at (created_at) ) {$charset_collate};"; require_once ABSPATH . 'wp-admin/includes/upgrade.php'; dbDelta( $sql ); update_option( 'ability_guard_db_version', ABILITY_GUARD_VERSION ); } /** * Set default options. */ private static function set_default_options(): void { add_option( 'ability_guard_log_input_data', true ); add_option( 'ability_guard_log_output_data', false ); add_option( 'ability_guard_delete_data_on_uninstall', false ); } }