0003: SHOW FULL TABLES WHERE Table_Type != 'VIEW'
0.0018s
0004: SHOW FULL FIELDS IN "Fluent_Domain"
0.0009s
0005: SHOW COLLATION LIKE 'utf8mb4_unicode_ci'
0.0002s
0006: SELECT DISTINCT "Fluent_Domain"."ClassName", "Fluent_Domain"."LastEdited", "Fluent_Domain"."Created", "Fluent_Domain"."Domain", "Fluent_Domain"."DefaultLocaleID", "Fluent_Domain"."ID",
CASE WHEN "Fluent_Domain"."ClassName" IS NOT NULL THEN "Fluent_Domain"."ClassName"
ELSE 'TractorCow\\Fluent\\Model\\Domain' END AS "RecordClassName"
FROM "Fluent_Domain"
0.0002s
0007: SHOW FULL FIELDS IN "Fluent_Locale"
0.0009s
0008: SELECT DISTINCT "Fluent_Locale"."ClassName", "Fluent_Locale"."LastEdited", "Fluent_Locale"."Created", "Fluent_Locale"."Title", "Fluent_Locale"."Locale", "Fluent_Locale"."URLSegment", "Fluent_Locale"."IsGlobalDefault", "Fluent_Locale"."UseDefaultCode", "Fluent_Locale"."Sort", "Fluent_Locale"."DomainID", "Fluent_Locale"."ID",
CASE WHEN "Fluent_Locale"."ClassName" IS NOT NULL THEN "Fluent_Locale"."ClassName"
ELSE 'TractorCow\\Fluent\\Model\\Locale' END AS "RecordClassName"
FROM "Fluent_Locale"
ORDER BY "Fluent_Locale"."Sort" ASC, "Fluent_Locale"."Locale" ASC
0.0002s
0009: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."URLSegment" = ?)
AND ("SiteTree_Live"."ParentID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0004s
0010: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ParentID" = ?)
AND ("SiteTree_Live"."URLSegment" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0004s
0011: SELECT DISTINCT "SiteConfig"."ClassName", "SiteConfig"."LastEdited", "SiteConfig"."Created", "SiteConfig"."GoogleAnalyticsAccountID", "SiteConfig"."GTMAccountID", "SiteConfig"."CookieIsActive", "SiteConfig"."ConsentNoticeDescription", "SiteConfig"."ConsentNoticeLearnMore", "SiteConfig"."ConsentModalTitle", "SiteConfig"."ConsentModalDescription", "SiteConfig"."ConsentModalPrivacyPolicyName", "SiteConfig"."ConsentModalPrivacyPolicyText", "SiteConfig"."AcceptAll", "SiteConfig"."AcceptSelected", "SiteConfig"."Decline", "SiteConfig"."OGSiteName", "SiteConfig"."TwitterHandle", "SiteConfig"."CreatorTwitterHandle", "SiteConfig"."FacebookAppID", "SiteConfig"."UseTitleAsMetaTitle", "SiteConfig"."SchemaOrganisationName", "SiteConfig"."Title", "SiteConfig"."Tagline", "SiteConfig"."CanViewType", "SiteConfig"."CanEditType", "SiteConfig"."CanCreateTopLevelType", "SiteConfig"."CookieLinkPrivacyID", "SiteConfig"."SchemaOrganisationImageID", "SiteConfig"."DefaultSocialImageID", "SiteConfig"."ID",
CASE WHEN "SiteConfig"."ClassName" IS NOT NULL THEN "SiteConfig"."ClassName"
ELSE 'SilverStripe\\SiteConfig\\SiteConfig' END AS "RecordClassName"
FROM "SiteConfig"
LIMIT 1
0.0004s
0012: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0003s
0013: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", CASE WHEN "SiteTree_Live"."ClassName" IN ('SilverStripe\\CMS\\Model\\SiteTree', 'Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "SiteTree_Live"."Priority" WHEN "SiteTree_Live"."ClassName" IN ('Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "Page_Live"."Priority" ELSE NULL END AS "Priority", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID"
WHERE ("SiteTree_Live"."ID" = ?)
AND ("SiteTree_Live"."ClassName" IN (?, ?, ?))
AND ("PublishDate" < '2026-01-01 10:26:13')
ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC
LIMIT 1
0.0005s
0014: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Page_Live"."MetaTitle", "Page_Live"."Canonical", "Page_Live"."Robots", "Page_Live"."ChangeFrequency", "Page_Live"."SitemapHide", "Page_Live"."HideSocial", "Page_Live"."OGtype", "Page_Live"."OGlocale", "Page_Live"."TwitterCard", "Page_Live"."SocialImageID", CASE WHEN "SiteTree_Live"."ClassName" IN ('SilverStripe\\CMS\\Model\\SiteTree', 'Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "SiteTree_Live"."Priority" WHEN "SiteTree_Live"."ClassName" IN ('Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "Page_Live"."Priority" ELSE NULL END AS "Priority", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort"
FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" INNER JOIN "BlogPost_Live" ON "SiteTree_Live"."ID" = "BlogPost_Live"."ID"
WHERE ("SiteTree_Live"."ID" = ?)
AND ("SiteTree_Live"."ClassName" IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?))
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0005s
0015: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "Blog_Live"."DefaultPostMetaTitle", "Blog_Live"."DefaultPostMetaDescription", "Blog_Live"."UseFeaturedAsSocialImage", "Blog_Live"."PostsPerPage", CASE WHEN "SiteTree_Live"."ClassName" IN ('SilverStripe\\Blog\\Model\\Blog', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder') THEN "Blog_Live"."ElementalAreaID" WHEN "SiteTree_Live"."ClassName" IN ('S2Hub\\Page\\CaseStudyHolder') THEN "CaseStudyHolder_Live"."ElementalAreaID" WHEN "SiteTree_Live"."ClassName" IN ('S2Hub\\Page\\SolutionHolder') THEN "SolutionHolder_Live"."ElementalAreaID" ELSE NULL END AS "ElementalAreaID", CASE WHEN "SiteTree_Live"."ClassName" IN ('SilverStripe\\CMS\\Model\\SiteTree', 'Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "SiteTree_Live"."Priority" WHEN "SiteTree_Live"."ClassName" IN ('Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "Page_Live"."Priority" ELSE NULL END AS "Priority", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName", "SiteTree_Live"."Sort"
FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "Blog_Live" ON "Blog_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "CaseStudyHolder_Live" ON "CaseStudyHolder_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "SolutionHolder_Live" ON "SolutionHolder_Live"."ID" = "SiteTree_Live"."ID"
WHERE ("SiteTree_Live"."ID" = ?)
AND ("SiteTree_Live"."ClassName" IN (?, ?, ?))
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0005s
0016: SELECT DISTINCT "SiteConfig"."ClassName", "SiteConfig"."LastEdited", "SiteConfig"."Created", "SiteConfig"."GoogleAnalyticsAccountID", "SiteConfig"."GTMAccountID", "SiteConfig"."CookieIsActive", "SiteConfig"."ConsentNoticeDescription", "SiteConfig"."ConsentNoticeLearnMore", "SiteConfig"."ConsentModalTitle", "SiteConfig"."ConsentModalDescription", "SiteConfig"."ConsentModalPrivacyPolicyName", "SiteConfig"."ConsentModalPrivacyPolicyText", "SiteConfig"."AcceptAll", "SiteConfig"."AcceptSelected", "SiteConfig"."Decline", "SiteConfig"."OGSiteName", "SiteConfig"."TwitterHandle", "SiteConfig"."CreatorTwitterHandle", "SiteConfig"."FacebookAppID", "SiteConfig"."UseTitleAsMetaTitle", "SiteConfig"."SchemaOrganisationName", "SiteConfig"."Title", "SiteConfig"."Tagline", "SiteConfig"."CanViewType", "SiteConfig"."CanEditType", "SiteConfig"."CanCreateTopLevelType", "SiteConfig"."CookieLinkPrivacyID", "SiteConfig"."SchemaOrganisationImageID", "SiteConfig"."DefaultSocialImageID", "SiteConfig"."ID",
CASE WHEN "SiteConfig"."ClassName" IS NOT NULL THEN "SiteConfig"."ClassName"
ELSE 'SilverStripe\\SiteConfig\\SiteConfig' END AS "RecordClassName"
FROM "SiteConfig"
LIMIT 1
0.0002s
0017: SELECT DISTINCT "File_Live"."ClassName", "File_Live"."LastEdited", "File_Live"."Created", "File_Live"."Version", "File_Live"."UserFormUpload", "File_Live"."CanViewType", "File_Live"."CanEditType", "File_Live"."Name", "File_Live"."Title", "File_Live"."ShowInSearch", "File_Live"."ParentID", "File_Live"."OwnerID", "File_Live"."FileHash", "File_Live"."FileFilename", "File_Live"."FileVariant", "File_Live"."ID",
CASE WHEN "File_Live"."ClassName" IS NOT NULL THEN "File_Live"."ClassName"
ELSE 'SilverStripe\\Assets\\File' END AS "RecordClassName"
FROM "File_Live"
WHERE ("File_Live"."ID" IS NULL)
AND ("File_Live"."ClassName" IN (?))
ORDER BY "File_Live"."Name" ASC
LIMIT 1
0.0002s
0018: SELECT DISTINCT "SeoHeadTag"."ClassName", "SeoHeadTag"."LastEdited", "SeoHeadTag"."Created", "SeoHeadTag"."Title", "SeoHeadTag"."Value", "SeoHeadTag"."Type", "SeoHeadTag"."PageID", "SeoHeadTag"."PageClass", "SeoHeadTag"."ID",
CASE WHEN "SeoHeadTag"."ClassName" IS NOT NULL THEN "SeoHeadTag"."ClassName"
ELSE 'CyberDuck\\SEO\\Model\\SeoHeadTag' END AS "RecordClassName"
FROM "SeoHeadTag" INNER JOIN "Page_HeadTags" ON "Page_HeadTags"."SeoHeadTagID" = "SeoHeadTag"."ID"
WHERE ("Page_HeadTags"."PageID" = ?)
AND ("SeoHeadTag"."Type" = ?)
ORDER BY "SeoHeadTag"."Title" ASC
0.0004s
0019: SELECT DISTINCT "SeoHeadTag"."ClassName", "SeoHeadTag"."LastEdited", "SeoHeadTag"."Created", "SeoHeadTag"."Title", "SeoHeadTag"."Value", "SeoHeadTag"."Type", "SeoHeadTag"."PageID", "SeoHeadTag"."PageClass", "SeoHeadTag"."ID",
CASE WHEN "SeoHeadTag"."ClassName" IS NOT NULL THEN "SeoHeadTag"."ClassName"
ELSE 'CyberDuck\\SEO\\Model\\SeoHeadTag' END AS "RecordClassName"
FROM "SeoHeadTag" INNER JOIN "Page_HeadTags" ON "Page_HeadTags"."SeoHeadTagID" = "SeoHeadTag"."ID"
WHERE ("Page_HeadTags"."PageID" = ?)
AND ("SeoHeadTag"."Type" = ?)
ORDER BY "SeoHeadTag"."Title" ASC
0.0003s
0020: SELECT DISTINCT "SeoHeadTag"."ClassName", "SeoHeadTag"."LastEdited", "SeoHeadTag"."Created", "SeoHeadTag"."Title", "SeoHeadTag"."Value", "SeoHeadTag"."Type", "SeoHeadTag"."PageID", "SeoHeadTag"."PageClass", "SeoHeadTag"."ID",
CASE WHEN "SeoHeadTag"."ClassName" IS NOT NULL THEN "SeoHeadTag"."ClassName"
ELSE 'CyberDuck\\SEO\\Model\\SeoHeadTag' END AS "RecordClassName"
FROM "SeoHeadTag" INNER JOIN "Page_HeadTags" ON "Page_HeadTags"."SeoHeadTagID" = "SeoHeadTag"."ID"
WHERE ("Page_HeadTags"."PageID" = ?)
AND ("SeoHeadTag"."Type" = ?)
ORDER BY "SeoHeadTag"."Title" ASC
0.0003s
0021: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ShowInMenus" = ?)
AND ("SiteTree_Live"."ParentID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
0.0005s
0022: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0023: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."ID",
CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName"
FROM "ElementalArea_Live"
WHERE ("ElementalArea_Live"."ID" = ?)
LIMIT 1
0.0002s
0024: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "Element_Live"."AvailableGlobally", "Element_Live"."BubbleStyle", "Element_Live"."PreHeader", "Element_Live"."Version", "Element_Live"."Title", "Element_Live"."ShowTitle", "Element_Live"."Sort", "Element_Live"."ExtraClass", "Element_Live"."Style", "Element_Live"."ParentID", "Element_Live"."ID",
CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName"
FROM "Element_Live"
WHERE ("Element_Live"."ParentID" = ?)
ORDER BY "Element_Live"."Sort" ASC
0.0002s
0025: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."ID",
CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName"
FROM "ElementalArea_Live"
WHERE ("ElementalArea_Live"."ID" = ?)
LIMIT 1
0.0001s
0026: SELECT DISTINCT "PublishDate" IS NULL AS "_SortColumn0", "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", CASE WHEN "SiteTree_Live"."ClassName" IN ('SilverStripe\\CMS\\Model\\SiteTree', 'Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "SiteTree_Live"."Priority" WHEN "SiteTree_Live"."ClassName" IN ('Page', 'S2Hub\\Page\\Agencies', 'S2Hub\\Page\\BlockPage', 'SilverStripe\\ErrorPage\\ErrorPage', 'SilverStripe\\Blog\\Model\\Blog', 'SilverStripe\\Blog\\Model\\BlogPost', 'SilverStripe\\CMS\\Model\\RedirectorPage', 'SilverStripe\\CMS\\Model\\VirtualPage', 'SilverStripe\\UserForms\\Model\\UserDefinedForm', 'S2Hub\\Page\\CaseStudyHolder', 'S2Hub\\Page\\SolutionHolder', 'S2Hub\\Page\\CaseStudy', 'S2Hub\\Page\\Solution') THEN "Page_Live"."Priority" ELSE NULL END AS "Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "Page_Live"."MetaTitle", "Page_Live"."Canonical", "Page_Live"."Robots", "Page_Live"."ChangeFrequency", "Page_Live"."SitemapHide", "Page_Live"."HideSocial", "Page_Live"."OGtype", "Page_Live"."OGlocale", "Page_Live"."TwitterCard", "Page_Live"."SocialImageID", "BlogPost_Live"."PublishDate", "BlogPost_Live"."AuthorNames", "BlogPost_Live"."Summary", "BlogPost_Live"."ElementalAreaID", "BlogPost_Live"."FeaturedImageID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live" LEFT JOIN "Page_Live" ON "Page_Live"."ID" = "SiteTree_Live"."ID" LEFT JOIN "BlogPost_Live" ON "BlogPost_Live"."ID" = "SiteTree_Live"."ID"
WHERE ("BlogPost_Live"."ElementalAreaID" = ?)
AND ("SiteTree_Live"."ClassName" = ?)
AND ("SiteTree_Live"."ClassName" IN (?, ?, ?))
AND ("PublishDate" < '2026-01-01 10:26:13')
ORDER BY "_SortColumn0" DESC, "BlogPost_Live"."PublishDate" DESC
LIMIT 1
0.0012s
0027: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0028: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."ID",
CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName"
FROM "ElementalArea_Live"
WHERE ("ElementalArea_Live"."ID" = ?)
LIMIT 1
0.0001s
0029: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "Element_Live"."AvailableGlobally", "Element_Live"."BubbleStyle", "Element_Live"."PreHeader", "Element_Live"."Version", "Element_Live"."Title", "Element_Live"."ShowTitle", "Element_Live"."Sort", "Element_Live"."ExtraClass", "Element_Live"."Style", "Element_Live"."ParentID", "Element_Live"."ID",
CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName"
FROM "Element_Live"
WHERE ("Element_Live"."ParentID" = ?)
ORDER BY "Element_Live"."Sort" ASC
LIMIT 1
0.0002s
0030: SELECT DISTINCT "ElementalArea_Live"."ClassName", "ElementalArea_Live"."LastEdited", "ElementalArea_Live"."Created", "ElementalArea_Live"."Version", "ElementalArea_Live"."OwnerClassName", "ElementalArea_Live"."ID",
CASE WHEN "ElementalArea_Live"."ClassName" IS NOT NULL THEN "ElementalArea_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\ElementalArea' END AS "RecordClassName"
FROM "ElementalArea_Live"
WHERE ("ElementalArea_Live"."ID" = ?)
LIMIT 1
0.0001s
0031: SELECT DISTINCT "Element_Live"."ClassName", "Element_Live"."LastEdited", "Element_Live"."Created", "ElementMarkdownRemote_Live"."URL", "ElementMarkdownRemote_Live"."MarkdownDataID", "Element_Live"."ID",
CASE WHEN "Element_Live"."ClassName" IS NOT NULL THEN "Element_Live"."ClassName"
ELSE 'DNADesign\\Elemental\\Models\\BaseElement' END AS "RecordClassName", "Element_Live"."Sort"
FROM "Element_Live" LEFT JOIN "ElementMarkdownRemote_Live" ON "ElementMarkdownRemote_Live"."ID" = "Element_Live"."ID"
WHERE ("Element_Live"."ID" = ?)
AND ("Element_Live"."ClassName" IN (?))
ORDER BY "Element_Live"."Sort" ASC
LIMIT 1
0.0003s
0032: SELECT DISTINCT "RemoteMarkdownData"."ClassName", "RemoteMarkdownData"."LastEdited", "RemoteMarkdownData"."Created", "RemoteMarkdownData"."Markdown", "RemoteMarkdownData"."Content", "RemoteMarkdownData"."ID",
CASE WHEN "RemoteMarkdownData"."ClassName" IS NOT NULL THEN "RemoteMarkdownData"."ClassName"
ELSE 'Netwerkstatt\\RemoteMarkdown\\Model\\RemoteMarkdownData' END AS "RecordClassName"
FROM "RemoteMarkdownData"
WHERE ("RemoteMarkdownData"."ID" = ?)
LIMIT 1
0.0002s
0033: SELECT DISTINCT "MenuSet"."ClassName", "MenuSet"."LastEdited", "MenuSet"."Created", "MenuSet"."Title", "MenuSet"."Slug", "MenuSet"."AllowChildren", "MenuSet"."ID",
CASE WHEN "MenuSet"."ClassName" IS NOT NULL THEN "MenuSet"."ClassName"
ELSE 'gorriecoe\\Menu\\Models\\MenuSet' END AS "RecordClassName"
FROM "MenuSet"
WHERE ("MenuSet"."Slug" = ?)
LIMIT 1
0.0002s
0034: SELECT DISTINCT "Link"."ClassName", "Link"."LastEdited", "Link"."Created", "Link"."Anchor", "Link"."Title", "Link"."Type", "Link"."URL", "Link"."Email", "Link"."Phone", "Link"."OpenInNewWindow", "Link"."SelectedStyle", "Link"."SiteTreeID", "Link"."FileID", "MenuLink"."Sort", "MenuLink"."MenuSetID", "MenuLink"."ParentID", "Link"."ID",
CASE WHEN "Link"."ClassName" IS NOT NULL THEN "Link"."ClassName"
ELSE 'gorriecoe\\Link\\Models\\Link' END AS "RecordClassName"
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."MenuSetID" = ?)
AND ("Link"."ClassName" IN (?))
ORDER BY "MenuLink"."Sort" ASC
0.0004s
0035: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0036: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0002s
0037: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0038: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0001s
0039: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0040: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0001s
0041: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0042: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0001s
0043: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0044: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0001s
0045: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0046: SELECT EXISTS(SELECT *
FROM "Link" LEFT JOIN "MenuLink" ON "MenuLink"."ID" = "Link"."ID"
WHERE ("MenuLink"."ParentID" = ?)
AND ("Link"."ClassName" IN (?)))
0.0001s
0047: SELECT "Version" FROM "SiteTree" WHERE "ID" = ?
0.0001s
0048: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0049: SELECT DISTINCT "SiteTree"."ClassName", "SiteTree"."LastEdited", "SiteTree"."Created", "SiteTree"."Priority", "SiteTree"."CanViewType", "SiteTree"."CanEditType", "SiteTree"."Version", "SiteTree"."URLSegment", "SiteTree"."Title", "SiteTree"."MenuTitle", "SiteTree"."Content", "SiteTree"."MetaDescription", "SiteTree"."ExtraMeta", "SiteTree"."ShowInMenus", "SiteTree"."ShowInSearch", "SiteTree"."Sort", "SiteTree"."HasBrokenFile", "SiteTree"."HasBrokenLink", "SiteTree"."ReportClass", "SiteTree"."ParentID", "SiteTree"."ID",
CASE WHEN "SiteTree"."ClassName" IS NOT NULL THEN "SiteTree"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree"
WHERE ("SiteTree"."ID" = ?)
ORDER BY "SiteTree"."Sort" ASC
LIMIT 1
0.0002s
0050: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
0051: SELECT DISTINCT "SiteTree_Live"."ClassName", "SiteTree_Live"."LastEdited", "SiteTree_Live"."Created", "SiteTree_Live"."Priority", "SiteTree_Live"."CanViewType", "SiteTree_Live"."CanEditType", "SiteTree_Live"."Version", "SiteTree_Live"."URLSegment", "SiteTree_Live"."Title", "SiteTree_Live"."MenuTitle", "SiteTree_Live"."Content", "SiteTree_Live"."MetaDescription", "SiteTree_Live"."ExtraMeta", "SiteTree_Live"."ShowInMenus", "SiteTree_Live"."ShowInSearch", "SiteTree_Live"."Sort", "SiteTree_Live"."HasBrokenFile", "SiteTree_Live"."HasBrokenLink", "SiteTree_Live"."ReportClass", "SiteTree_Live"."ParentID", "SiteTree_Live"."ID",
CASE WHEN "SiteTree_Live"."ClassName" IS NOT NULL THEN "SiteTree_Live"."ClassName"
ELSE 'SilverStripe\\CMS\\Model\\SiteTree' END AS "RecordClassName"
FROM "SiteTree_Live"
WHERE ("SiteTree_Live"."ID" = ?)
ORDER BY "SiteTree_Live"."Sort" ASC
LIMIT 1
0.0001s
Tips and tricks for populating default records with Silverstripe CMS
Tips and tricks for populating default records with Silverstripe CMS
In Austria, I often hear the proverb "faul, fauler, EDVler", which can be translated as "lazy, lazier, IT-specialaziest". And I tend to be lazy when it comes to adding e.g. predefined site structure or data to my project. While developing I use fake data and lorem ipsum texts to fill the site with content and when deploying I want to start with a clean database. Luckily, Silverstripe has some nice features and modules that help me to avoid adding all that data in the backend manually. Because I'm lazy and don't like clicking around in the backend if I can avoid it.
One powerful feature is called "default records". This means, when the table for your DataObject is created on dev/build, it adds some records to the database, and you can start working without adding this data manually. The most popular example are the default pages (home, about us, contact) you find on a blank installation.
Don't create default pages on first dev/build
While the default pages created by Silverstripe are handy, in some cases you want to start with a clean database and add the pages to your project manually. Then you really don't have any data left and the index starts with no. 1. You can switch them off with the following setting:
In case you want to create a site structure with yml, you can use a module called silverstripe-populate. You can define fixtures for your model in separate yml files that will be written to the database on dev/build. This is handy, when you want to throw away your development database with mock data and start again from scratch. Or you can define e.g. data for team members in a yml fixture for starting, in case you think that editing yml is easier than using CMS web forms.
To enable the module you need to configure the path to your fixture files.
In that fixture file you can add the data for your models. One fixture per database entry:
Page:
home:
Title: "Home"Content: "My Home Page"ParentID: 0category:
Title: "A Category"ParentID: 0subpage1:
Title: "A subpage of Category"ParentID: =>Page.category
In this very simple example I didn't use any advanced page types. Note, that "subpage1" references to the other fixture "category" for getting its ParentID.
By default, silverstripe-populate only runs in dev mode. Be sure to remove the module from composer when the project is live. Otherwise, in some very rare settings combined with an unsecure configurations, the task can be run again by a bot and delete your database. Did I mention, that backups are always a good idea?
Defining default locales for fluent
I prefer to define as many configurations as possible in the yaml config. This way it lives in my git repository and I don't have to add all the locales again when deleting my sandbox database with mock data to start with live data. Fortunately you can use DataObject's default_records to add your locales on dev/build. I often use this configuration:
---
Name: myfluentconfigAfter: '#fluentconfig'
---
TractorCow\Fluent\Model\Locale:
default_records:
de:
Title: DeutschLocale: de_DEURLSegment: deIsGlobalDefault: 1en:
Title: EnglishLocale: en_GBURLSegment: en
Using silverstripe-populate and fluent together
Of course, you can also use silverstripe-populate to define the project's locales if you need to create. In this case your fixtures need also to fill all the Foo_Localised tables with the translations. There is no need to add the default locale to the localisation table, as they're added when the record is created before.:
TractorCow\Fluent\Model\Locale:
de:
Title: DeutschLocale: de_DEURLSegment: deIsGlobalDefault: 1en:
Title: EnglishLocale: en_GBURLSegment: enPage:
about:
Title: About UsURLSegment: about-usSiteTree_Localised:
about_en:
RecordID: =>Page.aboutLocale: en_GBTitle: About usURLSegment: about-us