Skip to content

Instantly share code, notes, and snippets.

@timrobertson100
Created March 28, 2017 18:30
Show Gist options
  • Save timrobertson100/3b8f4e44efcf495c09e5dae8a2d882cc to your computer and use it in GitHub Desktop.
Save timrobertson100/3b8f4e44efcf495c09e5dae8a2d882cc to your computer and use it in GitHub Desktop.
Extracting events from Drupal
SELECT
n.nid AS id,
n.title AS title,
b.body_value AS summary,
concat(
DATE_FORMAT(t.ge_date_ical_value, '%Y-%m-%dT%H:%i'),
CASE WHEN t.ge_date_ical_offset <0 THEN '' ELSE '+' END,
TIME_FORMAT(SEC_TO_TIME(COALESCE(t.ge_date_ical_offset, 0)),'%H:%i')) AS start,
concat(
DATE_FORMAT(t.ge_date_ical_value2, '%Y-%m-%dT%H:%i'),
CASE WHEN t.ge_date_ical_offset <0 THEN '' ELSE '+' END,
TIME_FORMAT(SEC_TO_TIME(COALESCE(t.ge_date_ical_offset2, 0)),'%H:%i')) AS end,
CASE
WHEN DATE_FORMAT(t.ge_date_ical_value, '%H:%i')='00:00' THEN true
WHEN t.ge_date_ical_value2 IS NULL THEN true
ELSE false
END AS allDayEvent,
la.ge_language_value AS language,
v.ge_venue_value AS venue,
l.ge_location_value AS city,
c.ge_venue_country_tid AS countryTermId,
ci.ge_contact_info_value AS contactInfo,
aud.ge_audience_value AS audience,
r.ge_lib_resources_value AS resources,
no.field_notes_value AS notes,
d.ge_desc_long_value AS legacyDescription,
t2.ge_date_text_value AS legacyDateAsText,
UPPER(s.ge_status_value) AS legacyStatus,
a.field_ge_gbif_attendee_value AS gbifsAttendee,
p.ge_participants_value AS participant,
n.created AS created,
n.changed AS modified
FROM
node n
LEFT JOIN field_data_body b ON n.nid=b.entity_id AND b.bundle='event' AND b.deleted=0
LEFT JOIN field_data_ge_date_ical t ON n.nid=t.entity_id AND t.bundle='event' AND t.deleted=0
LEFT JOIN field_data_ge_date_text t2 ON n.nid=t2.entity_id AND t2.bundle='event' AND t2.deleted=0
LEFT JOIN field_data_ge_desc_long d ON n.nid=d.entity_id AND d.bundle='event' AND d.deleted=0
LEFT JOIN field_data_ge_venue v ON n.nid=v.entity_id AND v.bundle='event' AND v.deleted=0
LEFT JOIN field_data_ge_location l ON n.nid=l.entity_id AND l.bundle='event' AND l.deleted=0
LEFT JOIN field_data_ge_venue_country c ON n.nid=c.entity_id AND c.bundle='event' AND c.deleted=0
LEFT JOIN field_data_ge_status s ON n.nid=s.entity_id AND s.bundle='event' AND s.deleted=0
LEFT JOIN field_data_field_ge_gbif_attendee a ON n.nid=a.entity_id AND a.bundle='event' AND a.deleted=0
LEFT JOIN field_data_ge_audience aud ON n.nid=aud.entity_id AND aud.bundle='event' AND aud.deleted=0
LEFT JOIN field_data_field_notes no ON n.nid=no.entity_id AND no.bundle='event' AND no.deleted=0
LEFT JOIN field_data_ge_language la ON n.nid=la.entity_id AND la.bundle='event' AND la.deleted=0
LEFT JOIN field_data_ge_contact_info ci ON n.nid=ci.entity_id AND ci.bundle='event' AND ci.deleted=0
LEFT JOIN field_data_ge_lib_resources r ON n.nid=r.entity_id AND r.bundle='event' AND r.deleted=0
LEFT JOIN field_data_ge_participants p ON n.nid=p.entity_id AND p.bundle='event' AND p.deleted=0
WHERE
n.type='event' AND n.status=1
ORDER BY t.ge_date_ical_value;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment