data: Add event_info view
This commit is contained in:
@@ -27,6 +27,8 @@ CREATE TABLE events(
|
|||||||
UNIQUE (event_id, event_type)
|
UNIQUE (event_id, event_type)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
CREATE INDEX events_community_id ON events (communityid);
|
||||||
|
|
||||||
CREATE TABLE follow_events(
|
CREATE TABLE follow_events(
|
||||||
event_id INTEGER PRIMARY KEY REFERENCES events (event_id),
|
event_id INTEGER PRIMARY KEY REFERENCES events (event_id),
|
||||||
event_type TEXT NOT NULL DEFAULT 'follow' CHECK (event_type = 'follow'),
|
event_type TEXT NOT NULL DEFAULT 'follow' CHECK (event_type = 'follow'),
|
||||||
@@ -177,6 +179,106 @@ CREATE TABLE raid_in_events(
|
|||||||
viewer_count INTEGER NOT NULL,
|
viewer_count INTEGER NOT NULL,
|
||||||
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type)
|
FOREIGN KEY (event_id, event_type) REFERENCES events (event_id, event_type)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
CREATE VIEW event_info AS
|
||||||
|
SELECT
|
||||||
|
events.event_id AS event_id,
|
||||||
|
events.event_type AS event_type,
|
||||||
|
events.communityid AS event_communityid,
|
||||||
|
events.channel_id AS event_channel_id,
|
||||||
|
events.profileid AS user_profileid,
|
||||||
|
events.user_id AS user_id,
|
||||||
|
user_profiles.nickname AS user_nickname,
|
||||||
|
user_profiles.timezone AS user_timezone,
|
||||||
|
user_profiles.locale_hint AS user_localehint,
|
||||||
|
user_profiles.locale AS user_locale,
|
||||||
|
COALESCE(events.occurred_at, events.created_at) AS occurred_at,
|
||||||
|
events.created_at AS created_at,
|
||||||
|
|
||||||
|
follow_events.follower_count AS follower_count,
|
||||||
|
|
||||||
|
bits_events.bits AS bits_count,
|
||||||
|
bits_events.bits_type AS bits_type,
|
||||||
|
bits_events.message AS bits_message,
|
||||||
|
bits_events.powerup_type AS bits_powerup_type,
|
||||||
|
|
||||||
|
subscribe_events.tier AS subscription_tier,
|
||||||
|
subscribe_events.gifted AS subscription_gifted,
|
||||||
|
|
||||||
|
gift_events.tier AS gifted_tier,
|
||||||
|
gift_events.gifted_count AS gifted_count,
|
||||||
|
|
||||||
|
subscribe_message_events.tier AS submessage_tier,
|
||||||
|
subscribe_message_events.duration_months AS submessage_duration,
|
||||||
|
subscribe_message_events.cumulative_months AS submessage_cumulative,
|
||||||
|
subscribe_message_events.streak_months AS submessage_streak,
|
||||||
|
subscribe_message_events.message AS submessage_message,
|
||||||
|
|
||||||
|
cheer_events.amount AS cheer_amount,
|
||||||
|
cheer_events.message AS cheer_message,
|
||||||
|
|
||||||
|
redemption_add_events.redeem_id AS redeemed_redeemid,
|
||||||
|
redemption_add_events.redeem_title AS redeemed_title,
|
||||||
|
redemption_add_events.redeem_cost AS redeemed_cost,
|
||||||
|
redemption_add_events.redemption_id AS redeemed_redemptionid,
|
||||||
|
redemption_add_events.redemption_status AS redeemed_status,
|
||||||
|
redemption_add_events.message AS redeemed_message,
|
||||||
|
|
||||||
|
redemption_update_events.redeem_id AS redeemupdate_redeemid,
|
||||||
|
redemption_update_events.redeem_title AS redeemupdate_title,
|
||||||
|
redemption_update_events.redeem_cost AS redeemupdate_cost,
|
||||||
|
redemption_update_events.redemption_id AS redeemupdate_redemptionid,
|
||||||
|
redemption_update_events.redemption_status AS redeemupdate_status,
|
||||||
|
redemption_update_events.redeemed_at AS redeemupdate_redeemedat,
|
||||||
|
|
||||||
|
poll_end_events.poll_id AS pollend_pollid,
|
||||||
|
poll_end_events.poll_title AS pollend_title,
|
||||||
|
poll_end_events.poll_choices AS pollend_choices,
|
||||||
|
poll_end_events.poll_started AS pollend_started,
|
||||||
|
|
||||||
|
stream_online_events.stream_id AS online_streamid,
|
||||||
|
stream_online_events.stream_type AS online_streamtype,
|
||||||
|
|
||||||
|
channel_update_events.title AS update_title,
|
||||||
|
channel_update_events.language AS update_language,
|
||||||
|
channel_update_events.category_id AS update_catid,
|
||||||
|
channel_update_events.category_name AS update_catname,
|
||||||
|
|
||||||
|
message_events.message_id AS message_id,
|
||||||
|
message_events.message_type AS message_type,
|
||||||
|
message_events.content AS message_content,
|
||||||
|
message_events.source_channel_id AS message_sourceid,
|
||||||
|
|
||||||
|
raid_out_events.target_id AS raidout_targetid,
|
||||||
|
raid_out_events.target_name AS raidout_targetname,
|
||||||
|
raid_out_events.viewer_count AS raidout_viewers,
|
||||||
|
|
||||||
|
raid_in_events.source_id AS raidin_sourceid,
|
||||||
|
raid_in_events.source_name AS raidin_sourcename,
|
||||||
|
raid_in_events.viewer_count AS raidin_viewers
|
||||||
|
|
||||||
|
FROM events
|
||||||
|
LEFT JOIN user_profiles USING (profileid)
|
||||||
|
LEFT JOIN follow_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN bits_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN subscribe_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN gift_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN subscribe_message_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN cheer_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN redemption_add_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN redemption_update_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN poll_end_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN stream_online_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN stream_offline_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN channel_update_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN vip_add_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN vip_remove_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN message_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN raid_out_events USING (event_id, event_type)
|
||||||
|
LEFT JOIN raid_in_events USING (event_id, event_type);
|
||||||
|
|
||||||
|
|
||||||
-- }}}
|
-- }}}
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|||||||
Reference in New Issue
Block a user