name = $wpdb->prefix . 'ips_cartgate_queue_meta'; // Tabellenname $this->primary_key = 'meta_id'; // Primärschlüssel $this->object_id_column = 'queue_id'; // Fremdschlüssel zur Haupttabelle (id) } /** * Definiert die Spalten und ihre Platzhalter für prepared Statements * * @return array */ function get_columns() { return [ 'meta_id' => '%d', // Primärschlüssel der Meta-Tabelle 'queue_id' => '%d', // Verknüpfung zur Haupttabelle über die ID 'meta_key' => '%s', // Schlüssel der Metadaten 'meta_value' => '%s', // Wert der Metadaten ]; } function get_indexes() { return [ 'PRIMARY', 'queue_id', 'meta_key' ]; } /** * Installations-Query für die Tabelle * * @return string */ function get_install_query() { return "CREATE TABLE {$this->get_name()} ( meta_id BIGINT(20) NOT NULL AUTO_INCREMENT, queue_id BIGINT(20) NOT NULL, meta_key VARCHAR(255) NOT NULL, meta_value LONGTEXT NULL, PRIMARY KEY (meta_id), KEY queue_id (queue_id), KEY meta_key (meta_key({$this->max_index_length})) ) {$this->get_collate()};"; } }