get_charset_collate(); $scans = $wpdb->prefix . 'coreseal_scans'; $items = $wpdb->prefix . 'coreseal_scan_items'; // dbDelta is picky: two spaces after PRIMARY KEY, one field per line. $sql_scans = "CREATE TABLE {$scans} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, scanner varchar(64) NOT NULL, started_at datetime NOT NULL, finished_at datetime DEFAULT NULL, status varchar(20) NOT NULL DEFAULT 'running', files_checked int(10) unsigned NOT NULL DEFAULT 0, issues int(10) unsigned NOT NULL DEFAULT 0, meta longtext, PRIMARY KEY (id), KEY scanner_started (scanner,started_at) ) {$charset};"; $sql_items = "CREATE TABLE {$items} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, scan_id bigint(20) unsigned NOT NULL, file varchar(1024) NOT NULL, status varchar(20) NOT NULL, expected varchar(128) NOT NULL DEFAULT '', actual varchar(255) NOT NULL DEFAULT '', ref varchar(191) NOT NULL DEFAULT '', PRIMARY KEY (id), KEY scan_id (scan_id) ) {$charset};"; $vault = $wpdb->prefix . 'coreseal_vault'; $sql_vault = "CREATE TABLE {$vault} ( id bigint(20) unsigned NOT NULL AUTO_INCREMENT, original_path varchar(1024) NOT NULL, stored_name varchar(64) NOT NULL, reason varchar(20) NOT NULL, md5 char(32) NOT NULL DEFAULT '', size bigint(20) unsigned NOT NULL DEFAULT 0, created_at datetime NOT NULL, user_id bigint(20) unsigned NOT NULL DEFAULT 0, status varchar(20) NOT NULL DEFAULT 'stored', PRIMARY KEY (id), KEY reason_created (reason,created_at) ) {$charset};"; dbDelta( $sql_scans ); dbDelta( $sql_items ); dbDelta( $sql_vault ); update_option( self::OPTION_DB_VERSION, CORESEAL_DB_VERSION, false ); } }