array( 'primary_key' => 'id', 'post_type_link' => 'hp_vendor', 'expected_columns' => array( 'id' => 'BIGINT', 'vendor_id' => 'BIGINT', 'is_accepting_requests' => 'TINYINT', 'show_queue_public' => 'TINYINT', 'request_limit_per_ip' => 'SMALLINT', 'request_limit_minutes' => 'SMALLINT', 'banner_text' => 'VARCHAR', 'enable_sound_notification' => 'TINYINT', 'push_subscription' => 'TEXT', 'created_at' => 'DATETIME', 'updated_at' => 'DATETIME', ), 'indexes' => array( 'vendor_id' => array( 'vendor_id' ), ), ), '2mpl_songs' => array( 'primary_key' => 'id', 'post_type_link' => null, 'expected_columns' => array( 'id' => 'BIGINT', 'vendor_id' => 'BIGINT', 'title' => 'VARCHAR', 'artist' => 'VARCHAR', 'notes' => 'TEXT', 'is_visible' => 'TINYINT', 'is_deleted' => 'TINYINT', 'request_count' => 'INT', 'created_at' => 'DATETIME', 'updated_at' => 'DATETIME', ), 'indexes' => array( 'vendor_visible' => array( 'vendor_id', 'is_visible', 'is_deleted' ), 'vendor_requests' => array( 'vendor_id', 'request_count' ), 'ft_search' => array( 'title', 'artist' ), ), ), '2mpl_queue' => array( 'primary_key' => 'id', 'post_type_link' => null, 'expected_columns' => array( 'id' => 'BIGINT', 'session_id' => 'BIGINT', 'vendor_id' => 'BIGINT', 'song_id' => 'BIGINT', 'display_title' => 'VARCHAR', 'display_artist' => 'VARCHAR', 'requester_name' => 'VARCHAR', 'requester_ip_hash' => 'CHAR', 'status' => 'VARCHAR', 'sort_order' => 'INT', 'vote_count' => 'INT', 'requested_at' => 'DATETIME', 'completed_at' => 'DATETIME', ), 'indexes' => array( 'vendor_status_order' => array( 'vendor_id', 'status', 'sort_order' ), 'vendor_status_time' => array( 'vendor_id', 'status', 'requested_at' ), 'song_id' => array( 'song_id' ), 'session_id' => array( 'session_id' ), ), ), '2mpl_rate_limits' => array( 'primary_key' => 'id', 'post_type_link' => null, 'expected_columns' => array( 'id' => 'BIGINT', 'vendor_id' => 'BIGINT', 'ip_hash' => 'CHAR', 'request_count' => 'SMALLINT', 'window_start' => 'DATETIME', ), 'indexes' => array( 'vendor_ip_window' => array( 'vendor_id', 'ip_hash', 'window_start' ), ), ), '2mpl_sessions' => array( 'primary_key' => 'id', 'post_type_link' => null, 'expected_columns' => array( 'id' => 'BIGINT', 'vendor_id' => 'BIGINT', 'event_id' => 'BIGINT', 'title' => 'VARCHAR', 'status' => 'VARCHAR', 'started_at' => 'DATETIME', 'ended_at' => 'DATETIME', ), 'indexes' => array( 'vendor_status' => array( 'vendor_id', 'status' ), 'vendor_started' => array( 'vendor_id', 'started_at' ), 'event_id' => array( 'event_id' ), ), ), ); foreach ( $tables as $table_name => $meta ) { $registry->register( '2meet-playlist', array( 'table_name' => $table_name, 'primary_key' => $meta['primary_key'], 'post_type_link' => $meta['post_type_link'], 'expected_columns' => $meta['expected_columns'], 'indexes' => $meta['indexes'], ) ); } } }