Database changes in Sitefinity CMS

IMPORTANT: As of Sitefinity 15.0, database changes are only available through Sitefinity CMS customer support, and are no longer updated in the documentation. For more information on how to contact customer support, see Sitefinity support guide.

This article provides a detailed reference of all Database changes introduced throughout the Sitefinity CMS official releases. Database changes are grouped by product version. When upgrading your Sitefinity CMS website you must review the Database changes applicable to all versions between your current version and the one you're upgrading to. For example, when you upgrade from version 8.0 to 11.1 all Database changes for versions between 8.1, 8.2...11.1 apply. 

To view the Database changes relevant for your upgrade scenario, select from the drop-down menus below your current Sitefinity CMS version and the Sitefinity CMS version you're targeting to upgrade to. The Database changes relevant to you will be listed accordingly.

Select your desired upgrade path below

I am upgrading from: 

I am upgrading to: 

Database changes between 14.0 and 14.1

Schema changes

Table

Change

Description

Details

sf_forum_groups

Removed table

 
Forum module is disabled/not active for new projects
sf_forum_posts Removed table    Forum module is disabled/not active for new projects 
sf_forum_threads Removed table      Forum module is disabled/not active for new projects 
sf_forums Removed table     Forum module is disabled/not active for new projects 
sf_forums_sf_permissions Removed table    Forum module is disabled/not active for new projects 
sf_rdsgn_md_qry_lnk_sf_rdsgn_m  Removed table     Forum module is disabled/not active for new projects 
sf_rdsgn_media_query Removed table    
sf_rdsgn_media_query_link Removed table     
sf_rdsgn_media_query_rule Removed table 
 
sf_rdsgn_nav_trnsfrmtn   Removed table     
sf_form_description  Added columns  [renderer] VARCHAR (255) NULL,  Used to mark the form’s rendering technology.  
sf_libraries  Added column 
[excl_frm_srch_idx] TINYINT NOT NULL 
Property which is used to mark if the given library should be excluded from the search index or not. 
sf_notif_msg_job  Added columns  [notification_key] VARCHAR (255) NULL,
[date_created] DATETIME NOT NULL,
[category] VARCHAR (255) NULL
 
Notification_key is used for the system and email notifications as unique key (event) of the notifications.
Date_created is used by the clean up task in order to clean jobs older then N days.
Category is used by the system notifications to display the notification category. 
sf_notif_msg_template  Added columns   [system_url]          NVARCHAR (2048) NULL,
[system_message] NVARCHAR (MAX) NULL, 
System_url is a link to internal sitefinity form/workflow content that will be available in the system notifications.
System_message is the system notifications message that will be displayed. 
sf_notif_subscribers  Added columns  [subscriber_type] INT  NOT NULL,
[last_modified_by]             UNIQUEIDENTIFIER NULL, 
Subscriber_type will be notification or email 
The GUID of the author of the last modification.  
sf_sitefinity_profile  Removed columns  [posts_count],
[is_profile_public] 
 
sf_notif_notifications  Added table      [resolve_key]    VARCHAR (255)    NULL,
    [message_job_id] UNIQUEIDENTIFIER NULL,
    [is_read]        TINYINT          NOT NULL,
    [id]             BIGINT           IDENTITY (1, 1) NOT NULL, 
Used by the system notifications.
Resolve_key is UserId:Provider used to identify to whom to send the notification.
Message_job_id is link to the message_job table to gather the other necessary data.
Is_read indicates whether a notification is read.
Id identifier which is long and uses OpenAccess.Metadata.KeyGenerator.Autoinc.

 
sf_notification_preferences  Added table      [value]           TINYINT          NOT NULL,
    [resolve_key]     VARCHAR (255)    NULL,
    [preference_type] NVARCHAR (255)   NOT NULL,
    [preference_name] NVARCHAR (255)   NOT NULL,
    [module_name]     NVARCHAR (255)   NOT NULL,
    [last_modified]   DATETIME         NOT NULL,
    [key]             NVARCHAR (255)   NOT NULL, 
Resolve_key is UserId:Provider used to relate record to user.
Preference_type is used to distinguish the notifications. So far we have enum with only 1 type – Notifications.
Preference_name is the name of the preference – for
 example Response to a form I am subscribed for.
Last_modified indicates when the record was last modieid.
Key – the preference key.
Value – the prefecence value. 

Fluent mappings changes

 Class

Mapping

Change

NotificationsFluentMappings

var notificationMapping = new MappingConfiguration<Notification>();

Added

NotificationsFluentMappings notificationMapping.MapType(p => new { }).WithCacheStrategy(OpenAccess.Metadata.CacheStrategy.No).ToTable(Constants.NotificationsTable);  Added 
NotificationsFluentMappings  notificationMapping.HasProperty(p => p.Id).IsIdentity(OpenAccess.Metadata.KeyGenerator.Autoinc).IsNotNullable().ToColumn(Constants.IdColumn); Added 
NotificationsFluentMappings  notificationMapping.HasAssociation<MessageJob>(p => p.MessageJob).ToColumn(Constants.MessageJobdIdColumn); Added 
NotificationsFluentMappings
notificationMapping.HasProperty(p => p.MessageJobId).ToColumn(Constants.MessageJobdIdColumn).IsNullable(); Added 
NotificationsFluentMappings notificationMapping.HasProperty(p => p.ResolveKey).ToColumn(Constants.ResolveKeyColumn).IsNullable(); Added   
NotificationsFluentMappings  notificationMapping.HasProperty(p => p.IsRead).ToColumn(Constants.IsReadColumn);  Added  
NotificationsFluentMappings  notificationMapping.HasIndex(p => new { p.ResolveKey }).IsNotUnique().WithName("idx_sf_ns_notif_subscriber");  Added  
NotificationsFluentMappings  mappings.Add(notificationMapping);  Added 
NotificationsFluentMappings messageTemplateMapping.HasProperty(p => p.SystemMessage).IsLongText(this.Context).ToColumn("system_message").IsNullable();  Added  
NotificationsFluentMappings messageTemplateMapping.HasProperty(p => p.SystemUrl).IsText(this.Context, 2048).ToColumn("system_url").IsNullable(); Added  
NotificationsFluentMappings messageJobMapping.HasProperty(p => p.DateCreated).ToColumn("date_created"); Added  
NotificationsFluentMappings messageJobMapping.HasProperty(p => p.Category).ToColumn("category"); Added  
NotificationsFluentMappings messageJobMapping.HasProperty(p => p.NotificationKey).ToColumn("notification_key").IsNullable(); Added  
NotificationsFluentMappings subscriberMapping.HasProperty(p => p.SubscriberType).ToColumn(Constants.SubscriberTypeColumn); Added  
FormsFluentMapping mapping.HasProperty(p => ((IRendererCommonData)p).Renderer).ToColumn("renderer").IsNullable(); Added  
LibrariesFluentMapping  libraryMapping.HasProperty(p => p.ExcludeFromSiteSearch).ToColumn("excl_frm_srch_idx").IsNotNullable(); Added   
PagesFluentMapping pageNodeMapping.HasProperty(p => p.LastModifiedBy).ToColumn("last_modified_by").IsNullable(); Added  
UserProfileFluentMapping .MapType(p => new { })
                .WithCacheStrategy(OpenAccess.Metadata.CacheStrategy.No)
                .WithConcurencyControl(OpenAccess.OptimisticConcurrencyControlStrategy.Version)
                .SetTableName("sf_user_preferences", this.Context);

Added  
UserProfileFluentMapping itemMapping.HasProperty(p => p.Id).IsIdentity().HasFieldName("id").ToColumn("id"); Added  
UserProfileFluentMapping itemMapping.HasProperty(p => p.ResolveKey).ToColumn("resolve_key");  Added  
UserProfileFluentMapping itemMapping.HasProperty(p => p.Key).ToColumn("key").IsText(Context).IsNotNullable(); Added  
UserProfileFluentMapping  itemMapping.HasProperty(p => p.PreferenceType).ToColumn("preference_type").IsText(Context).IsNotNullable();  
UserProfileFluentMapping itemMappingitemMapping.HasProperty(p => p.PreferenceName).ToColumn("preference_name").IsText(Context).IsNotNullable(); Added  
UserProfileFluentMapping itemMapping.HasProperty(p => p.ModuleName).ToColumn("module_name").IsText(Context).IsNotNullable();
Added   
UserProfileFluentMapping  itemMapping.HasProperty(p => p.Value).ToColumn("value").IsNotNullable();  Added   
UserProfileFluentMapping  
itemMapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate).IsNotNullable();
Added   
UserProfileFluentMapping  itemMapping.HasIndex(p => new { p.ResolveKey }).WithName("idx_sf_sf_user_preferences_resolve_key");  Added 

Database changes between 13.3 and 14.0

Schema changes

Table

Change

Description

Details

sf_lic_user_activity

Added column

[bearer_token_id] 
VARCHAR (255) 
NULL  

Iris standalone mode is logged out when navigating to page edit screen 
sf_object_data Added nonclustered index   [idx_sf_od_base_ctrl_id] ON [base_control_id]     
sf_permissions   Updated column [app_name] from VARCHAR(50) to VARCHAR(255)   
sf_presentation_data Updated column   [app_name] from VARCHAR(50) to VARCHAR(255)   
sf_security_roots Updated column   [app_name] from VARCHAR(50) to VARCHAR(255)  
sf_sitefinity_profile Added nonclustered index   [idx_sf_sf_profile_nickname] ON [nickname]    
sf_taxa_attrbutes  Updated column    [val] from NVARCHAR (1000) to NVARCHAR (MAX)    
sf_users Added column  [access_key] 
VARCHAR (255) 
NULL 
Introduced access keys.
sf_version_trunks Updated column  [app_name] from VARCHAR(50) to VARCHAR(255)     
sf_auth_tokens Added table   

[user_token_id] VARCHAR (255)    NULL, 
[ticket]        VARCHAR (MAX)    NULL, 
[last_modified] DATETIME         NOT NULL, 
[id]            UNIQUEIDENTIFIER NOT NULL, 
[expire_date]   DATETIME         NOT NULL, 
[app_name]      VARCHAR (255)    NULL,
    CONSTRAINT
[pk_sf_auth_tokens] PRIMARY KEY CLUSTERED ([id] ASC)

 
sf_servicehooks_activities   Added table       [trigger_data]    NVARCHAR (MAX)   NULL, 
    [title]           NVARCHAR (255)   NOT NULL, 
    [status]          INT              NOT NULL, 
    [start_time]      DATETIME         NULL, 
    [site_id]         UNIQUEIDENTIFIER NULL, 
    [service_hook_id] UNIQUEIDENTIFIER NOT NULL, 
    [result]          NVARCHAR (MAX)   NULL, 
    [rerun_count]     INT              NOT NULL, 
    [last_modified]   DATETIME         NOT NULL, 
    [key]             VARCHAR (255)    NULL, 
    [id]              UNIQUEIDENTIFIER NOT NULL, 
    [end_time]        DATETIME         NULL, 
    [action_data]     NVARCHAR (MAX)   NULL, 
    [voa_version]     SMALLINT         NOT NULL, 
    CONSTRAINT [pk_sf_servicehooks_activities] PRIMARY KEY CLUSTERED ([id] ASC)  
 

Fluent mappings changes

 Class

Mapping

Change

LicensingFluentMapping

map.HasProperty(p => p.BearerTokenId).IsNullable(); 

Added

MembershipFluentMapping userMapping.HasProperty(p => p.AccessKey).ToColumn("access_key").HasLength(255).IsNullable();  Added 
ObjectDataFluentMapping  controlDataMapping.HasIndex(p => new { p.BaseControlId }).WithName("idx_sf_od_base_ctrl_id"); Added 
ObjectDataFluentMapping  controlDataMapping.HasIndex(p => new { p.BaseControlId }).WithName("idx_sf_od_base_ctrl_id"); Updated
PermissionsFluentMapping   securityRootMapping.HasProperty(p => p.ApplicationName).IsAnsiText(this.Context).HasFieldName("appName").ToColumn("app_name").IsNullable(); Updated
PermissionsFluentMapping permissionMapping.HasProperty(p => p.ApplicationName).IsAnsiText(this.Context).HasFieldName("appName").ToColumn("app_name").IsNotNullable(); Updated  
ServiceHooksFluentMapping mapping.MapType(p => new { }) 
                .WithCacheStrategy(OpenAccess.Metadata.CacheStrategy.No) 
                .WithConcurencyControl(OpenAccess.OptimisticConcurrencyControlStrategy.Version) 
                .SetTableName("sf_servicehooks_activities", this.Context); 

Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.Id).IsIdentity().HasFieldName("id").ToColumn("id");  Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.ServiceHookId).ToColumn("service_hook_id").IsNotNullable();  Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.Status).ToColumn("status").IsNotNullable();  Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.ActionData).ToColumn("action_data").IsNullable().IsLongText(this.Context); Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.TriggerData).ToColumn("trigger_data").IsNullable().IsLongText(this.Context); Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.Result).ToColumn("result").IsNullable().IsLongText(this.Context);  Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.StartTime).ToColumn("start_time").IsNullable();  Added  
ServiceHooksFluentMapping  mapping.HasProperty(p => p.EndTime).ToColumn("end_time").IsNullable();  Added   
ServiceHooksFluentMapping mapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate); Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.SiteId).ToColumn("site_id").IsNullable();  Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.Title).IsText(this.Context, 255).ToColumn("title").IsNotNullable(); Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.RerunCount).ToColumn("rerun_count").IsNotNullable(); Added  
ServiceHooksFluentMapping mapping.HasProperty(p => p.Key).ToColumn("key").IsNullable(); Added  
ServiceHooksFluentMapping mapping.HasIndex(p => new { p.LastModified }).WithName("idx_sf_sha_lm");  Added  
ServiceHooksFluentMapping  mapping.HasIndex(p => new { p.StartTime, p.ServiceHookId, p.Status }).WithName("idx_sf_sha_stt_shid_st");  Added   
ServiceHooksFluentMapping  mapping.HasIndex(p => new { p.Status, p.LastModified }).WithName("idx_sf_sha_st_lm");  Added   
TaxonomiesFluentMapping   attrProp = taxonMapping.HasProperty(p => p.Attributes) 
                    .WithValueOpenAccessType(OpenAccessType.UnicodeStringInfiniteLength) 
                    .WithLoadBehavior(LoadBehavior.Lazy) 
                    .WithTextDictionaryValue(this.Context, "val", true); 


 
Updated only for MsSql DB   
UserProfileFluentMapping  sitefinityProfileMapping.HasIndex(p => new { p.Nickname }).WithName("idx_sf_sf_profile_nickname");   Added 
VersioningFluentMapping  trunkMapping.HasProperty(p => p.ApplicationName).IsAnsiText(this.Context).HasFieldName("appName").ToColumn("app_name").IsNullable();  Updated 
AuthenticationFluentMapping  tokensMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Changed).ToTable("sf_auth_tokens");  Added 
AuthenticationFluentMapping  tokensMapping.HasProperty(p => p.Id).IsIdentity().ToColumn("id");  Added 
AuthenticationFluentMapping   tokensMapping.HasProperty(p => p.ApplicationName).ToColumn("app_name");   Added 
AuthenticationFluentMapping   tokensMapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate);  Added 
AuthenticationFluentMapping   tokensMapping.HasProperty(p => p.ExpirationDateUTC).ToColumn("expire_date");   Added 
AuthenticationFluentMapping   tokensMapping.HasProperty(p => p.UserTokenId).ToColumn("user_token_id");   Added 
AuthenticationFluentMapping   tokensMapping.HasProperty(p => p.SerializedTicket).WithInfiniteLength().ToColumn("ticket");  Added 

Database changes between 13.2 and 13.3

Schema changes

Table

Change

Description

Details

sf_page_templates

Added column

[template_name] 
VARCHAR (255) 
NULL 

Related to enabling templates for external renderers.
sf_page_templates  Added column  [renderer] 
VARCHAR (255) 
NULL  
Related to enabling templates for external renderers. 
sf_page_templates  Added column  [last_modified_by] 
UNIQUEIDENTIFIER 
NULL 
 
Related to enabling templates for the new interface. 
sf_page_templates  Added column   [date_created]  
DATETIME 
NULL  
Related to enabling templates for the new interface.
sf_scheduled_tasks  Added column  [siteId] 
UNIQUEIDENTIFIER 
NULL  
Add site context for scheduled tasks. 
sf_scheduled_tasks  Added column  [is_system] 
TINYINT 
NOT NULL 
 
Mechanism to mark scheduled tasks as system. 
sf_site_data_source_links  Dropped table    Use sf_site_data_src_lnks instead. 
sf_sts_sf_st_data_source_links  Dropped table    Use sf_site_data_src_lnks instead. 
sf_site_data_src  New table   [title]   NVARCHAR (255) NULL, 
[provider]  VARCHAR (255) NOT NULL, 
[owner_site_id] UNIQUEIDENTIFIER NOT NULL, 
[nme]   VARCHAR (255) NULL, 
[id]   UNIQUEIDENTIFIER NOT NULL, 
CONSTRAINT [pk_sf_site_data_src] PRIMARY KEY CLUSTERED ([id] ASC)
  
 
sf_site_data_src_lnks  New table    [site_id]    UNIQUEIDENTIFIER NULL, 
 [is_default]   BIT       NOT NULL, 
 [id]       UNIQUEIDENTIFIER NOT NULL, 
[data_source_id] UNIQUEIDENTIFIER NOT NULL, 
CONSTRAINT [pk_sf_site_data_src_lnks] PRIMARY KEY CLUSTERED ([id] ASC)
  
 

Fluent mappings changes

 Class

Mapping

Change

ContentBaseFluentMapping

scheduledTaskDataMapping.HasProperty(p => p.IsSystem).HasFieldName("isSystem").IsNotNullable();

Added

ContentBaseFluentMapping  scheduledTaskDataMapping.HasProperty(p => p.SiteId).ToColumn("siteId").IsNullable();  Added 
MultisiteFluentMapping  siteMapping.HasAssociation(p => p.SiteDataSourceLinks).WithOpposite(x => x.Site).IsManaged().IsDependent(); Changed 
MultisiteFluentMapping  siteDataSourceLinkMapping.MapType(p => new { }).SetTableName("sf_site_data_src_lnks", this.Context); Changed 
MultisiteFluentMapping  siteDataSourceLinkMapping.HasProperty(p => p.ApplicationName).HasFieldName("applicationName"); Removed 
MultisiteFluentMapping  siteDataSourceLinkMapping.HasProperty(p => p.DataSourceName).ToColumn("dataSource_name"); Removed  
MultisiteFluentMapping  siteDataSourceLinkMapping.HasProperty(p => p.ProviderName).ToColumn("provider_name"); Removed  
MultisiteFluentMapping  siteDataSourceLinkMapping.HasAssociation(p => p.DataSource).ToColumn("data_source_id").WithLoadBehavior(LoadBehavior.Eager).IsRequired();  Added  
MultisiteFluentMapping  siteDataSourceLinkMapping.HasProperty(p => p.DataSourceId).ToColumn("data_source_id"); Added  
MultisiteFluentMapping  siteDataSourceLinkMapping.HasAssociation(p => p.Site).ToColumn("site_id"); Added  
MultisiteFluentMapping  siteDataSourceLinkMapping.HasIndex(p => new { p.SiteId, p.DataSourceId }).IsUnique().WithName("idx_sf_site_ds"); Added  
MultisiteFluentMapping  siteDataSourceMapping.MapType(p => new { }).SetTableName("sf_site_data_src", this.Context); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasProperty(p => p.Id).HasFieldName("id").IsIdentity().IsNotNullable(); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasProperty(p => p.Name).ToColumn("nme"); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasProperty(p => p.Provider).ToColumn("provider").IsNotNullable(); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasProperty(p => p.Title).ToColumn("title").IsUnicode(); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasProperty(p => p.OwnerSiteId).ToColumn("owner_site_id").IsNotNullable(); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasAssociation(p => p.Sites).WithOpposite(x => x.DataSource).IsManaged().IsDependent(); Added  
MultisiteFluentMapping  siteDataSourceMapping.HasIndex(p => new { p.Name, p.Provider }).IsUnique().WithName("idx_sf_st_dt_src_lnk_uc"); Added  

Database changes between 13.1 and 13.2

Schema changes

Table

Change

Description

Details

sf_publishing_point

Added column

inbound_pipes_template
varchar (255), NULL 

Save the name of the template for publishing point.

Fluent mappings changes

 Class

Mapping

Change

 PublishingFluentMapping

publishingPointMapping.HasProperty(p => p.InboundPipesTemplate).IsNullable();

Added

Database changes between 13.0 and 13.1

Schema changes

Table

Change

Description

Details

sf_object_data

Removed column

culture

Fluent mappings changes

 Class

Mapping

Change

 ObjectDataFluentMapping

controlDataMapping.HasProperty(p => p.Culture).ToColumn("culture").HasLength(10).IsNullable();

Removed

Database changes between 12.2 and 13.0

Schema changes

Table

Change

Description

Details

sf_oc_dpndncies

Deleted table

 

 

sf_oc_itms

Deleted table

 

 

sf_ocd_dpndncies Added table   New persistence for output cache dependencies for better performance 
sf_ocd_itms
Added table   New persistence for output cache dependencies for better performance 
sf_ocd_typs Added table    New persistence for output cache dependencies for better performance 
sf_draft_pages Added column  template_name  
sf_draft_pages Added column  renderer  
sf_mb_dynamic_module_field Updated column  instructional_text 
From NVARCHAR(255) 
to NVARCHAR(MAX) 
 
sf_meta_fields Updated column  description 
From VARCHAR(255)  
to NVARCHAR(MAX) 
 
sf_object_data Added column parent_id  
sf_page_data Added column  template_name  
sf_page_data Added column renderer  
sf_scheduled_tasks Added column concurrent_tasks_key Added to run tasks sequentially. When this key is set task will wait for other tasks with the same key to complete. 
sf_taxonomies Removed column voa_version Remove version column to detect concurrent updates in order to not to be done such concurrency checks on the database server.  
sf_version_chnges Added column date_created Stores the value for the created date. 
sf_version_chnges Added column  add_info Stores data for additional columns in the revision history grid – currently the site sync column 

Fluent mappings changes

 Class

Mapping

Change

Description / New mapping 
DynamicModuleFluentMapping

dynamicContentUrlData.HasField("parentId").ToColumn("content_id");

Added

 
MetadataFluentMapping

metaFieldMapping.HasProperty(p => p.Description).ToColumn("description_").IsNullable();

Modified

 
MetadataFluentMapping metaFieldMapping.HasProperty(p => p.Description).ToColumn("description_").IsLongText(this.Context).IsNullable();  Modified   
ModuleBuilderFluentMapping dynamicModuleFieldMapping.HasProperty(p => p.InstructionalText).HasFieldName("instructionalText").IsUnicode(); 
Modified  
ModuleBuilderFluentMapping
dynamicModuleFieldMapping.HasProperty(p => p.InstructionalText).HasFieldName("instructionalText").IsLongText(this.Context);
Modified  
ObjectDataFluentMapping
objectDataMapping.HasProperty(p => p.ParentId).IsNullable(); Added  
OutputCacheRelationsFluentMapping cacheItems.HasProperty(p => p.Language).ToColumn("lang").IsText(this.Context, 84, false);  Added  
OutputCacheRelationsFluentMapping Items.HasProperty(p => p.Host).IsUnicode().IsNullable().ToColumn("host");  Added  
OutputCacheRelationsFluentMapping dependencyType.MapType(p => new { }) 
.WithCacheStrategy(OpenAccess.Metadata.CacheStrategy.No) 
.WithConcurencyControl(OpenAccess.OptimisticConcurrencyControlStrategy.None) 
.SetTableName(Constants.OCDTypesTable, this.Context); 
 
Added  
OutputCacheRelationsFluentMapping dependencyType.HasProperty(p => p.Id).IsIdentity(OpenAccess.Metadata.KeyGenerator.Autoinc);  Added  
OutputCacheRelationsFluentMapping dependencyType.HasProperty(p => p.TypeName).IsUnicode().ToColumn(Constants.OCDTypeNameColumn).IsNotNullable();  Added  
OutputCacheRelationsFluentMapping dependencyType.HasIndex(p => new { p.TypeName }) 
.IsUnique() 
.WithName("idx_sf_ocd_typ_nme"); 
Modified cacheItems.HasIndex(p => new { p.SiteId }).WithName("idx_sf_ocd_itms_ste");
OutputCacheRelationsFluentMapping

cacheItems.HasIndex(p => new { p.SiteId }).WithName("idx_sf_oc_itms_ste"); 

Modified cacheItems.HasIndex(p => new { p.SiteId }).WithName("idx_sf_ocd_itms_ste"); 
OutputCacheRelationsFluentMapping cacheItems.HasIndex(p => new { p.DateModified }).WithName("idx_sf_oc_itms_dte_md"); Modified cacheItems.HasIndex(p => new { p.DateModified }).WithName("idx_sf_ocd_itms_dte_md");
OutputCacheRelationsFluentMapping cacheItems.HasIndex(p => new { p.SiteMapNodeKey }).WithName("idx_sf_oc_ste_nde"); Modified  cacheItems.HasIndex(p => new { p.SiteMapNodeKey }).WithName("idx_sf_ocd_ste_nde");
OutputCacheRelationsFluentMapping cacheRelations.HasProperty(p => p.TypeName).IsUnicode().ToColumn(Constants.OCDTypeNameColumn).IsNotNullable(); Modified cacheRelations.HasProperty(p => p.TypeId).ToColumn(Constants.OCDTypeIdColumn);
OutputCacheRelationsFluentMapping cacheRelations.HasIndex(p => new { p.TypeName }).WithName("idx_sf_ocd_tn");  Modified cacheRelations.HasIndex(p => new { p.TypeId }).WithName("idx_sf_ocd_typ_id");
PagesFluentMapping pageDataMapping.HasProperty(p => ((IRendererCommonData)p).Renderer).IsNullable(); Added   
PagesFluentMapping pageDataMapping.HasProperty(p => ((IRendererCommonData)p).TemplateName).IsNullable();   Added  
PagesFluentMapping pageDraftMapping.HasProperty(p => ((IRendererCommonData)p).Renderer).IsNullable();  Added   
PagesFluentMapping pageDraftMapping.HasProperty(p => ((IRendererCommonData)p).TemplateName).IsNullable();   Added  
SchedulingFluentMapping scheduledTaskDataMapping.HasProperty(p => p.ConcurrentTasksKey).ToColumn("concurrent_tasks_key").IsNullable();  Added  
TaxonomiesFluentMapping  taxonomyMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_taxonomies", this.Context); Modified taxonomyMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.None).SetTableName("sf_taxonomies", this.Context); 
VersioningFluentMapping changeMapping.HasProperty(p => p.DateCreated).HasFieldName("dateCreated").ToColumn("date_created").IsCalculatedOn(DateTimeAutosetMode.Insert).IsNullable();  Modified changeMapping.HasProperty(p => p.AdditionalInfo).ToColumn("add_info").IsUnicode().WithInfiniteLength().IsNullable();

Database changes between 12.1 and 12.2

Schema changes

Table

Change

Description

Details

sf_page_node

Added index

idx_sf_pg_node_prnt_id_ordnl

Needed for Oracle upgrades

sf_site_sync_summary

Added property

is_for_specific_item

Used by SiteSync – checks if single item is synced.

Fluent mappings changes

 Class

Mapping

Change

 SiteSyncFluentMapping

siteSyncSummaryMapping.HasProperty(p => p.IsForSpecificItem).ToColumn("is_for_specific_item").IsNullable();

Added

 PagesFluentMapping

pageNodeMapping.HasIndex(p => new { p.ParentId, p.Ordinal }).WithName("idx_sf_pg_node_prnt_id_ordnl");

Added


Database changes between 12.0 and 12.1

Schema changes

Table

Change

Description

Details

sf_oc_dpndncies 

Added table

 

Stores information about dependencies for each output cache item (page). 

sf_draft_pages 

Added column

[send_confirmation_email] BIT NULL 

Stores the value controlling whether confirmation email is enabled (form drafts) 

sf_form_description 

Added column

[send_confirmation_email] BIT NULL 

Stores the value controlling whether confirmation email is enabled (forms) 

sf_notif_msg_template 

Added column

[sender_name] NVARCHAR (255) NULL 

Stores the value for the message template sender name 

sf_notif_msg_template

Added column

[sender_email] NVARCHAR (255) NULL 

Stores the value for the message template sender email 

sf_notif_msg_template 

Added column

[resolve_key] NVARCHAR (MAX) NULL 

Stores the value for the message template resolve (variation) key 

sf_notif_msg_template 

Added column

[last_modified_by_provider] VARCHAR (255) NULL 

Stores the value for the message template last modified by provider 

sf_notif_msg_template 

Added column

[last_modified_by_id] UNIQUEIDENTIFIER NULL 

Stores the value for the message template last modified by id 

sf_notif_msg_template 

Added column

[last_modified] DATETIME NULL 

Stores the value for the message template last modified date 

Fluent mappings changes

 Class

Mapping

Change

 FormsFluentMapping

formDraftMapping.HasProperty(p => p.SendConfirmationEmail).IsBool(this.Context).IsNullable();

Added

 FormsFluentMapping

formDescriptionMapping.HasProperty(p => p.SendConfirmationEmail).IsBool(this.Context).IsNullable();

Added

 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.ResolveKey).IsLongText(this.Context).ToColumn("resolve_key");

Added

 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsNullable(); 

Added
 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.LastModifiedById).ToColumn("last_modified_by_id").IsNullable();

Added

 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.LastModifiedByProvider).ToColumn("last_modified_by_provider").IsNullable(); 

Added

 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.TemplateSenderEmailAddress).IsText(this.Context).ToColumn("sender_email").IsNullable(); 

Added

 NotificationsFluentMapping

messageTemplateMapping.HasProperty(p => p.TemplateSenderName).IsText(this.Context).ToColumn("sender_name").IsNullable(); 

Added

 OutputCacheRelationsFluentMapping

cacheItems.HasProperty(p => p.DateModified).ToColumn(Constants.OCDateModifiedColumn).IsNullable();

Modified

 OutputCacheRelationsFluentMapping

cacheRelations.HasProperty(p => p.Id).IsIdentity(OpenAccess.Metadata.KeyGenerator.Autoinc).IsNotNullable().ToColumn("id"); 

Removed

 OutputCacheRelationsFluentMapping

cacheRelations.HasProperty(p => p.CacheKey).ToColumn(Constants.OCDCacheKeyColumn).IsIdentity(); 

Added

 OutputCacheRelationsFluentMapping

cacheRelations.HasProperty(p => p.ItemKey).IsIdentity().IsUnicode().ToColumn(Constants.OCDItemKeyColumn).IsNotNullable(); 

Modified

 OutputCacheRelationsFluentMapping

cacheRelations.HasIndex(p => new {p.ItemKey, p.CacheItem}).WithName("idx_sf_ocd_ik_ck").IsUnique();  

Removed


Database changes between 11.2 and 12.0

Schema changes

Table

Change

Description

Details

sf_draft_pages

Added column

[rules]

NVARCHAR (MAX)

NULL

Used to keep Form rules in JSON format.

sf_form_description

Added column

[rules]

NVARCHAR (MAX)

NULL

Used to keep Form rules in JSON format.

sf_oc_dependencies

Modified column

[type_name]

NVARCHAR (255)

NULL

Output cache invalidation improvements

sf_oc_dependencies

Modified column

[item_key]

NVARCHAR (255)

NULL

Output cache invalidation improvements

sf_oc_dependencies

Removed column

[voa_version]

SMALLINT

NOT NULL

Output cache invalidation improvements

sf_oc_items

Added column

[url]

NVARCHAR (MAX)

NULL

Output cache invalidation improvements

sf_oc_items

Added column

[status]

INT

NOT NULL

Output cache invalidation improvements

sf_oc_items

Added column

[site_map_node_key]

VARCHAR (255)

NULL

Output cache invalidation improvements

sf_oc_items

Added column

[cacheVaryKey]

NVARCHAR (255)

NULL

Output cache invalidation improvements

sf_oc_items

Removed column

[voa_version]

SMALLINT

NOT NULL

Output cache invalidation improvements

sf_oc_items

Added index

[idx_sf_oc_itms_dte_md]([date_modified]) ASC

Output cache invalidation improvements

sf_oc_items

Added index

[idx_sf_oc_itms_ste]([site_id]) ASC

Output cache invalidation improvements

sf_oc_items

Added index

[idx_sf_oc_ste_nde](site_map_node_key] ASC

Output cache invalidation improvements

sf_oc_items

Removed index

[sf_oc_itms_ste_key] ([site_id] ASC)

Output cache invalidation improvements

sf_version_dependency

Added table

[clean_up_task_type] VARCHAR (255) NOT NULL,

[data]

NVARCHAR (MAX) NOT NULL,

[key]

VARCHAR (255) NOT NULL,

[id] UNIQUEIDENTIFIER NOT NULL,

[voa_version] SMALLINT NOT NULL

Stores additional data for MediaContent's file when revision history is created

sf_version_dependency

Added column

[clean_up_task_type] VARCHAR (255)NOT NULL

Type of scheduled task to be created when dependency is deleted from database. Task cleans up the remaining file from storage.

sf_version_dependency

Added column

[data] NVARCHAR(MAX) NOT NULL

The additional data for this dependency

sf_version_dependency

Added column

[key]

VARCHAR (255) NOT NULL

The identifier which this dependency relates to

sf_version_dependency

Added column

[id] UNIQEIDENTIFIER NOT NULL

Unique identifier of the row

sf_vrsn_chngs_sf_vrsn_dpndncy

Added table

[id] UNIQUEIDENTIFIER NOT NULL,

[id2] UNIQUEIDENTIFIER NOT NULL

Breaks many-to-may relationship between [sf_version_chnges] and [sf_version_dependency] tables

Fluent mappings changes

Class

Mapping

Change

Description / New mapping

BlogsFluentMapping

blogMapping.HasAssociation<Telerik.Sitefinity.Blogs.Model.BlogPost>(p => p.BlogPosts).WithOpposite(p => p.Parent).IsManaged().IsDependent();

Removed

BlogsFluentMapping

blogMapping.HasAssociation<Telerik.Sitefinity.Security.Model.Permission>(p => p.Permissions);

Modified

blogMapping.HasAssociation<Telerik.Sitefinity.Security.Model.Permission>(p => p.Permissions).MapJoinTable();

BlogsFluentMapping

blogMapping.HasProperty(p => p.LandingPageId).IsNullable();

Removed

BlogsFluentMapping

blogMapping.HasAssociation<Telerik.Sitefinity.Security.Model.PermissionsInheritanceMap>(p => p.PermissionChildren);

BlogsFluentMapping

blogPostMapping.HasProperty(p => p.OriginalContentId).IsNullable();

Modified

blogPostMapping.HasProperty(p => p.OriginalContentId).HasFieldName("originalContentId").ToColumn("original_content_id").IsNullable();

BlogsFluentMapping

blogPostMapping.HasAssociation<Telerik.Sitefinity.Security.Model.Permission>(p => p.Permissions);

Modified

blogPostMapping.HasAssociation<Telerik.Sitefinity.Security.Model.Permission>(p => p.Permissions).MapJoinTable();

BlogsFluentMapping

blogPostMapping.HasAssociation<Telerik.Sitefinity.Security.Model.PermissionsInheritanceMap>(p => p.PermissionChildren);

Removed

BlogsFluentMapping

blogPostMapping.HasProperty(p => p.ParentId).ToColumn("parent_id");

Added

BlogsFluentMapping

blogPostMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.Tracking.ApprovalTrackingRecordMap>(p => p.ApprovalTrackingRecordMap);

Removed

BlogsFluentMapping

blogPostMapping.HasProperty(p => p.WasPublished).ToColumn("was_published").IsNullable();

Added

BlogsFluentMapping

blogPostMapping.HasIndex(p => new { p.OriginalContentId }).WithName("idx_sf_bposts_org_cnt_id");

Added

FormsFluentMapping

formDraftMapping.HasProperty(p => p.Rules).IsNullable().IsLongText(this.Context);

Added

Used to keep Form rules in JSON format.

FormsFluentMapping

formControlMapping.HasProperty(p => p.ContainerId).ToColumn("content_id");

Added

Added direct mapping for existing content_id column of sf_object_data (used in query on DataAccess dirty items to retrieve related Form object)

FormsFluentMapping

formDraftControlMapping.HasProperty(p => p.ContainerId).ToColumn("id3");

Added

Added direct mapping for existing id3 column of sf_object_data (used in query on DataAccess dirty items to retrieve related Form object)

FormsFluentMapping

formDescriptionMapping.HasProperty(p => p.Rules).IsNullable().IsLongText(this.Context);

Added

Used to keep Form rules in JSON format.

ObjectDataFluentMapping

objectDataMapping.HasProperty(p => p.MultilingualVersion).IsLongText(this.Context).IsNullable();

Added

VersioningFluentMapping

versionDependency.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_version_dependency", this.Context);

Added

Track changes to record.

VersioningFluentMapping

versionDependency.HasProperty(p => p.Id).ToColumn("id").IsIdentity().IsNotNullable();

Added

Unique identifier of the table.

VersioningFluentMapping

versionDependency.HasProperty(p => p.Key).ToColumn("key").IsNotNullable();

Added

The key (id) of the item which data is stored in [data] column.

VersioningFluentMapping

versionDependency.HasProperty(p => p.CleanUpTaskType).ToColumn("clean_up_task_type").IsNotNullable();

Added

The type of the task to delete the file from blob storage.

VersioningFluentMapping

versionDependency.HasProperty(p => p.Data).IsUnicode().WithInfiniteLength().ToColumn("data").IsNotNullable();

Added

Serialized data in JSON format which is used when preview or restore version and when delete dependency to delete the file from blob storage.

VersioningFluentMapping

versionDependency.HasAssociation(d => d.Changes).WithOpposite(c => c.Dependencies).IsManaged().MapJoinTable("sf_vrsn_chngs_sf_vrsn_dpndncy");

Added

Related changes to this dependency.

VersioningFluentMapping

versionDependency.HasIndex(i => new { i.Key, i.CleanUpTaskType }).IsUnique().WithName("sf_idx_vrsn_dpndncy");

Added

For better performance. Combination of KEY & CleanUpTaskType should be unique.

VersioningFluentMapping

changeMapping.HasAssociation(c => c.Dependencies).WithOpposite(d => d.Changes).IsManaged().MapJoinTable("sf_vrsn_chngs_sf_vrsn_dpndncy");

Added

Related dependencies to this change.


Database changes between 11.1 and 11.2

Custom fields

Allow Date and Time and Number custom fields to have different values per translation.

Changes in MetadataFluentMapping.cs 
(Added)metaFieldMapping.HasProperty(p => p.IsLocalizable).IsNullable();

Table Change Description Details
sf_meta_fields Added column [tinyint] NULL Determines if the current field is localizable – can have different values per culture

Database changes between 11.0 and 11.1

This article contains list of changes to the database between the current and the previous release. This includes new and deleted tables, as well as changes in table columns.

Database changes are recorded in the UpgradeTrace.log file during upgrade.
For more information, see Log changes to the database during upgrades.

Mapping classes changes

Class Mapping Type of change Description
IdentityServerFuentMapping.cs claimssMapping.HasProperty(c => c.Email).IsNotNullable().ToColumn("email") Updated Updated to claimssMapping.HasProperty(c => c.Email).IsNullable().ToColumn("email");
claimssMapping.HasProperty(c => c.ExternalId).IsText(this.Context).IsNotNullable().ToColumn("ext_id") New Added new mapping for ExternalId property
claimssMapping.HasProperty(c => c.ExternalProviderName).IsText(this.Context).IsNotNullable().ToColumn("ext_provider_name") New Added new mapping for ExternalProviderName property
claimssMapping.HasIndex(c => new { c.ExternalProviderName, c.ExternalId }).WithName("sf_idsrv_claims_external"); New Added new index by the ExternalProviderName and ExternalId properties
claimssMapping.HasIndex(c => c.Email).IsUnique().WithName("sf_idsrv_claims_email") Removed  
MembershipFluentMapping.cs userMapping.HasProperty(p => p.ExternalId).ToColumn("ext_id").IsText(this.Context).IsNullable() New Added new mapping for ExternalId property
metaFieldMapping.HasProperty(p => p.RecommendedCharactersCount).IsNullable(); New Added new mapping for RecommendedCharactersCount property
userMapping.HasIndex(u => new { u.ExternalProviderName, u.ExternalId }).WithName("sf_users_external") New Added new index by the ExternalProviderName and ExternalId properties
UserProfileFluentMapping.cs sitefinityProfileMapping.HasProperty(p => p.Nickname).ToColumn("nickname").IsText(this.Context).HasLength(SitefinityProfile.NicknameLength).IsNullable() Updated Updated to sitefinityProfileMapping.HasProperty(p => p.Nickname).ToColumn("nickname").IsText(this.Context, SitefinityProfile.NicknameLength).IsNullable();
WorkflowFluentMapping.cs workflowDefinitionMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_workflow_definition", this.Context) Updated Updated to workflowDefinitionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowScope>(p => p.Scopes).WithOpposite(p => p.Definition).IsManaged().IsDependent();
workflowDefinitionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowScope>(p => p.WorkflowScopes).WithOpposite(p => p.Definition).IsManaged().IsDependent() Updated Updated to workflowDefinitionMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_wfl_definition", this.Context);
workflowDefinitionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowLevel>(p => p.Levels).WithOpposite(p => p.Definition).IsManaged().IsDependent(); New Added new association mapping between WorkflowDefinition and WorflowLevel
workflowDefinitionMapping.HasProperty(p => p.AllowNotes).HasFieldName("allowNotes").IsNullable(); New Added new mapping for AllowNotes property
workflowDefinitionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowPermission>(p => p.WorkflowPermissions).WithOpposite(p => p.Definition).IsManaged().IsDependent(); Removed  
workflowDefinitionMapping.HasProperty(p => p.CultureScope).HasLength(2000).IsNullable(); Removed  
workflowDefinitionMapping.HasProperty(p => p.SendFirstLevelEmailNotification).IsNotNullable(); Removed  
workflowDefinitionMapping.HasProperty(p => p.SendSecondLevelEmailNotification).IsNotNullable(); Removed  
workflowDefinitionMapping.HasAssociation(p => p.AdditionalFirstLevelRecipients); Removed  
workflowDefinitionMapping.HasAssociation(p => p.AdditionalSecondLevelRecipients); Removed  
workflowScopeMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_workflow_scope", this.Context); Updated Updated to workflowScopeMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowDefinition>(p => p.Definition).ToColumn("workflow_definition_id");
workflowScopeMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowDefinition>(p => p.Definition).ToColumn("id2");//ToColumn("workflow_definition_id") Updated Updated to workflowScopeMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_wfl_scope", this.Context);
workflowScopeMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowTypeScope>(p => p.TypeScopes).WithOpposite(p => p.WorkflowScope).IsManaged().IsDependent(); New Added new association mapping between WorkflowScope and WorkflowTypeScope
workflowScopeMapping.HasProperty(p => p.Title).IsNullable(); Removed  
workflowScopeMapping.HasProperty(p => p.ContentFilterExpression).IsNullable(); Removed  
workflowScopeMapping.HasProperty(p => p.ParentId).IsNullable(); Removed  
workflowScopeMapping.HasAssociation(p => p.SelectedIds); Removed  
workflowTypeScopeMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_wfl_scope", this.Context); New  
workflowTypeScopeMapping.HasProperty(p => p.Id).HasFieldName("id").IsIdentity().IsNotNullable(); New Added new mapping for Id property
workflowTypeScopeMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowDefinition>(p => p.Definition).ToColumn("workflow_definition_id"); New Added new association mapping between WorkflowTypeScope and WorkflowDefinition
workflowTypeScopeMapping.HasProperty(p => p.Language).IsNullable(); New Added new mapping for Language property
workflowTypeScopeMapping.HasProperty(p => p.ProviderName).IsNullable(); New Added new mapping for ProviderName property
workflowTypeScopeMapping.HasProperty(p => p.ApplicationName).HasFieldName("appName").ToColumn("app_name").IsNullable(); New Added new mapping for ApplicationName property
workflowTypeScopeMapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate); New Added new mapping for LastModified property
workflowLevelMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_wfl_level", this.Context); New  
workflowLevelMapping.HasProperty(p => p.Id).HasFieldName("id").IsIdentity().IsNotNullable(); New Added new mapping for Id property
workflowLevelMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowDefinition>(p => p.Definition).ToColumn("workflow_definition_id"); New Added new association mapping between WorkflowLevel and WorkflowDefinition
workflowLevelMapping.HasProperty(p => p.ActionName).IsNullable(); New Added new mapping for ActionName property
workflowLevelMapping.HasProperty(p => p.Ordinal).IsNotNullable(); New Added new mapping for Ordinal property
workflowLevelMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowPermission>(p => p.Permissions).WithOpposite(p => p.Level).IsManaged().IsDependent(); New  
workflowLevelMapping.HasProperty(p => p.ApplicationName).HasFieldName("appName").ToColumn("app_name").IsNullable(); New Added new mapping for ApplicationName property
workflowLevelMapping.HasProperty(p => p.LastModified).ToColumn("last_modified").IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate); New Added new mapping for LastModified property
workflowLevelMapping.HasProperty(p => p.NotifyApprovers).IsNotNullable(); New Added new mapping for NotifyApprovers property
workflowLevelMapping.HasProperty(p => p.NotifyAdministrators).IsNotNullable(); New Added new mapping for NotifyAdministrators property
workflowLevelMapping.HasAssociation(p => p.CustomEmailRecipients); New  
workflowPermissionMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_workflow_permission", this.Context); Updated Updated to workflowPermissionMapping.MapType(p => new { }).WithConcurencyControl(OptimisticConcurrencyControlStrategy.Version).SetTableName("sf_wfl_permission", this.Context);
workflowPermissionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowDefinition>(p => p.Definition).ToColumn("id2"); Removed  
workflowPermissionMapping.HasAssociation<Telerik.Sitefinity.Workflow.Model.WorkflowLevel>(p => p.Level).ToColumn("workflow_level_id") New Added new association mapping between Permissions and WorkflowLevel
MetadataFluentMapping.cs metaFieldMapping.HasProperty(p => p.RecommendedCharactersCount).IsNullable(); New Added new mapping for RecommendedCharactersCount property
ModuleBuilderFluentMapping.cs dynamicModuleFieldMapping.HasProperty(p => p.RecommendedCharactersCount).IsNullable(); New Added new mapping for RecommendedCharactersCount property
PublishingFluentMapping.cs facebookPipeSettingsMapping.HasProperty(p => p.AppIdReference).IsNullable(); Removed  
facebookPipeSettingsMapping.HasProperty(p => p.UserNameReference).ToColumn("user_name_reference2").IsNullable(); Removed  
publishingPointMapping.HasProperty(p => p.IsTemplate).HasFieldName("isTemplate").IsNullable(); New Added new mapping for LastModified property
publishingPointSettingsMapping.HasProperty(p => p.ItemFilterStrategy).ToColumn("item_filter_strategy").IsNullable(); New Added new mapping for ItemFilterStrategy property
MobileFormatsFluentMapping.cs mapping.HasAssociation(p => p.MobileFormatDefinition).WithOpposite(d => d.Templates).ToColumn("mbl_frmt_dfntn_id"); New  
mapping.HasAssociation(p => p.MobileFormatContentType).WithOpposite(c => c.Templates).ToColumn("mbl_frmt_cntnt_type_id"); New  

Database schema changes

Table

Change

Description

Details

sf_users

Added column

[ext_id]

[nvarchar](255) NULL

Stores the id of the user in the external provider

sf_idsrv_claims

Added column

[ext_provider_name]

[nvarchar](255) NOT NULL

Stores the name of the external provider (unique key combined with ext_id)

sf_idsrv_claims

Added column

[ext_id]

[nvarchar](255) NOT NULL

Stores the id of the user in the external provider (unique key combined with ext_provider_name)

sf_idsrv_claims

Updated column

From

[email] [varchar](255) NOT NULL

To

[email] [varchar](255) NULL

Before claims where stored by email but now they are stored by unique combination of ext_id & ext_provider_name

sf_workflow_definition

Updated table

From

sf_workflow_definition

To

sf_wfl_definition

Stores workflow definitions

sf_workflow_definition

Removed column

[culture_scope] [varchar] (2000) NULL

 

sf_workflow_definition

 

Removed column

[snd_frst_lvl_mail_notification] [tinyint] NOT NULL

 

sf_workflow_definition

 

Removed column

[snd_scnd_lvl_mail_notification] [tinyint] NOT NULL

 

 

sf_wfl_definition

Added column

[allow_notes] [tynyint] NULL

Stores the value controlling whether notes are enabled

sf_wrkflw_dfntn_ddtnl_frst_lvln

 

Removed table

 

 

sf_wrkflw_dfntn_ddtnl_scnd_lvl

Removed table

 

 

sf_workflow_scope

Updated table

From

sf_workflow_scope

To

sf_wfl_scope

Stores workflow scopes

 

sf_workflow_scope

Removed column

[title] [varchar] (255) NULL

 

sf_workflow_scope

Removed column

[parent_id] [uniqueidentifier] NULL

 

sf_workflow_scope

Removed column

[content_filter_expression] [varchar] (255) NULL

 

sf_workflow_scope

Removed column

[content_type] [varchar] (255) NULL

 

sf_wfl_scope

Updated column

 

From

[id2] [uniqueidentifier] NULL

To

[workflow_definition_id] [uniqueidentifier] NULL

Stores the Id of the workflow definition

sf_wfl_type_scope

Added table

 

Stores the workflow type scopes – single record for each content type defined in the workflow

sf_wfl_type_scope

Added column

[id] [PK][uniqueidentifier] NOT NULL

Stores the id

sf_wfl_type_scope

Added column

[scope_id] [uniqueidentifier] NULL

Stores the scope id

sf_wfl_type_scope

Added column

[content_type] [varchar] (255) NULL

Stores the content type

sf_wfl_type_scope

Added column

[content_filter] [varchar] (max) NULL

Stores the content filter

sf_wfl_type_scope

Added column

[include_children] [tynyint] NULL

Stores the value indicating whether the type scope will include children of the selected items in the content filter

sf_wfl_type_scope

Added column

[app_name] [varchar] (255) NULL

Stores the app name

sf_wfl_type_scope

Added column

[voa_version] [smallint] NOT NULL

Stores the voa version

sf_wfl_type_scope

Added column

[last_modified] [datetime] NOT NULL

Stores the date when the item was last modified

sf_wfl_level

Added table

 

Stores the worfklow levels

sf_wfl_level

Added column

[id] [PK][uniqueidentifier] NOT NULL

Stores the id

sf_wfl_level

Added column

[ordinal] [real] NOT NULL

Stores the ordinal of the level

sf_wfl_level

Added column

[workflow_definition_id] [uniqueidentifier] NULL

Stores the id of the workflow definition

sf_wfl_level

Added column

[action_name] [varchar] (255) null

Stores the action name of the workflow level

sf_wfl_level

Added column

[notify_approvers] [tynyint] NOT NULL

Stores the value indicating whether level approvers will be notified by email

sf_wfl_level

Added column

[notify_administrators] [tynyint] NOT NULL

Stores the value indicating whether administrators will be notified by email

sf_wfl_level

Added column

[app_name] [varchar] (255) null

Stores the app name

sf_wfl_level

Added column

[voa_version] [smallint] NOT NULL

Stores the voa version

sf_wfl_level

Added column

[last_modified] [datetime] NOT NULL

Stores the date when the item was last modified

sf_wfl_lvl_cstm_mil_recipients

Added table

 

Stores the custom email recipients for the level to be notified

sf_wfl_lvl_cstm_mil_recipients

Added column

[id] [PK] [FK][uniqueidentifier] NOT NULL

 

Stores the id of the workflow level

sf_wfl_lvl_cstm_mil_recipients

Added column

[seq] [PK][int] NOT NULL

 

Stores the ordinal

sf_wfl_lvl_cstm_mil_recipients

Added column

[val] [varchar] (255) null

Stores the email to wich an email should be sent

sf_workflow_permission

Updated table

From

sf_workflow_permission

To

sf_wfl_permission

Stores the data which users/roles have the permission to execute the workflow level

sf_workflow_permission

Removed column

[id2] [uniqueidentifier] NULL

 

sf_wfl_permission

Added column

[workflow_level_id] [uniqueidentifier] NULL

Stores the workflow level id

sf_pblshng_pnt_sttngs_stp_kywr

Removed table

 

 

sf_workflow_scope_selected_ids

Removed table

 

 

sf_wrkflw_dfntn_prmssnst_bjct_

Updated table

From

sf_wrkflw_dfntn_prmssnst_bjct_

To

sf_wfl_dfntn_prmssnst_bjct_ttl

 

sf_wrkflw_dfntn_sf_permissions

Updated table

From

sf_wrkflw_dfntn_sf_permissions

To

sf_wfl_dfnition_sf_permissions

 

sf_wrkflw_dfntn_spprtd_prmssn_

Updated table

From

sf_wrkflw_dfntn_spprtd_prmssn_

To

sf_wfl_dfntn_spprtd_prmssn_sts

 

sf_config_variables

Updated column

From

[id] [PK] [uniqueidentifier] NOT NULL

To

[id] [uniqueidentifier] NULL

 

sf_config_variables

Updated column

From

[app_name] [varchar255] NULL

To

[app_name] [PK]

[varchar255] NOT NULL

 

sf_mb_dynamic_module_field

Added column

[recommended_characters_count] [int] NULL

 

sf_meta_fields

Added column

[recommended_characters_count] [int] NULL

 

sf_object_data

Added column

[place_holder] [varchar](50) NULL

 

sf_publishing_pipe_settings

Removed column

[user_name_reference2] [varchar](255) NULL

 

sf_publishing_pipe_settings

Removed column

[app_id_reference] [int] NULL

 

sf_publishing_point

Updated column

From

[is_template] [tinyint] NOT NULL

To

[is_template] [tinyint] NULL

 

sf_publishing_point_settings

Added column

[item_filter_strategy] [int] NULL

 

sf_users

Added column

[ext_id] [nvarchar](255) NULL

 

voa_keygen

 

 

 

sf_mbl_frmt_cntnt_types

Added table

 

 

sf_mbl_frmt_cntnt_types

Added column

[siteId] [uniqueidentifier] NULL

 

sf_mbl_frmt_cntnt_types

Added column

[name] [varchar](255) NULL

 

sf_mbl_frmt_cntnt_types

Added column

[last_modified] [datetime] NOT NULL

 

sf_mbl_frmt_cntnt_types

Added column

[id] [PK] [uniqueidentifier] NOT NULL

 

sf_mbl_frmt_cntnt_types

Added column

[fullName] [varchar](255) NULL

 

sf_mbl_frmt_cntnt_types

Added column

[displayName] [varchar](255) NULL

 

sf_mbl_frmt_cntnt_types

Added column

[app_name] [varchar](255) NULL

 

sf_mbl_frmt_dfntns

Added table

 

 

sf_mbl_frmt_dfntns

Added column

[siteId] [uniqueidentifier] NULL

 

sf_mbl_frmt_dfntns

Added column

[setting_name] [varchar](255) NULL

 

sf_mbl_frmt_dfntns

Added column

[name] [varchar](255) NULL

 

sf_mbl_frmt_dfntns

Added column

[last_modified] [datetime] NOT NULL

 

sf_mbl_frmt_dfntns

Added column

[id] [PK] [uniqueidentifier] NOT NULL

 

sf_mbl_frmt_dfntns

Added column

[app_name] [varchar](255) NULL

 

sf_mbl_frmt_dfntns

Added column

[active] [tinyint] NOT NULL

 

sf_mbl_frmt_sf_mbl_cntnt_typs

Added table

 

 

sf_mbl_frmt_sf_mbl_cntnt_typs

Added column

[id] [PK] [FK] [uniqueidentifier]

 

sf_mbl_frmt_sf_mbl_cntnt_typs

Added column

[id2] [PK] [FK] [uniqueidentifier]

 

sf_mbl_frmt_templates

Added table

 

 

sf_mbl_frmt_templates

Added column

[use_custom_canonical_url] [tinyint] NOT NULL

 

sf_mbl_frmt_templates

Added column

[template_name] [varchar](255) NULL

 

sf_mbl_frmt_templates

Added column

[mbl_frmt_dfntn_id] [uniqueidentifier] NULL

 

sf_mbl_frmt_templates

Added column

[mbl_frmt_cntnt_type_id] [uniqueidentifier] NULL

 

sf_mbl_frmt_templates

Added column

[layout_template_name] [varchar](255) NULL

 

sf_mbl_frmt_templates

Added column

[last_modified] [datetime] NOT NULL

 

sf_mbl_frmt_templates

Added column

[id] [PK] [uniqueidentifier] NOT NULL

 

 

sf_mbl_frmt_templates

Added column

[custom_canonical_url_format] [varchar](255) NULL

 

sf_mbl_frmt_templates

Added column

[app_name] [varchar](255) NULL

 

sf_oc_dependencies

Added table

 

 

sf_oc_dependencies

Added column

[type_name] [varchar](255) NULL

 

sf_oc_dependencies

Added column

[item_key] [varchar](255) NULL

 

sf_oc_dependencies

Added column

[id] [PK] [uniqueidentifier] NOT NULL

 

sf_oc_dependencies

Added column

[cache_key] [varchar](255) NULL

 

sf_oc_dependencies

Added column

[voa_version] [smallint] NOT NULL

 

sf_oc_items

Added table

 

 

sf_oc_items

Added column

[site_id] [uniqueidentifier] NULL

 

sf_oc_items

Added column

[key] [PK] [uniqueidentifier] NOT NULL

 

sf_oc_items

Added column

[e_tag] [nvarchar](255) NULL

 

sf_oc_items

Added column

[date_modified] [datetime] NULL

 

sf_oc_items

Added column

[voa_version] [smallint] NOT NULL

 

 

Database changes between 10.2 and 11.0

This article contains list of changes to the database between the current and the previous release. This includes new and deleted tables, as well as changes in table columns.

Database changes are recorded in the UpgradeTrace.log file during upgrade.
For more information, see Log changes to the database during upgrades.

Changed mapping files

File Type of change Description 
SchedulingFluentMapping.cs Added  scheduledTaskDataMapping.HasProperty(p => p.Owner).ToColumn("owner").IsNullable();
ContentLocationsFluentMapping.cs  Added  locationMapping.HasProperty(p => p.ControlId).ToColumn("control_id");
FolderFluentMapping.cs  Added  folderMapping.HasProperty(p => p.LastModified).IsCalculatedOn(DateTimeAutosetMode.InsertAndUpdate).IsNullable();
TaxonomiesFluentMapping.cs
Added  taxonMapping.HasProperty(p => p.Status).ToColumn("status");
Added  taxonMapping.HasIndex(p => new { p.Status }).WithName("idx_sf_taxon_status");
UserProfileFluentMapping.cs  Added  sitefinityProfileMapping.HasProperty(p => p.Preferences).IsLongText(this.Context, false);
ContentBaseFluentMapping.cs Updated from  approvalTrackingRecordMapping.HasProperty(p => p.Note).IsNullable();
Updated to  approvalTrackingRecordMapping.HasProperty(p => p.Note).IsLongText(context).IsNullable();
PublishingFluentMapping.cs Updated from  pipeSettingsMapping.HasProperty(p => p.AdditionalData).HasValueLength(1000).WithLoadBehavior(LoadBehavior.Eager);
Updated to  pipeSettingsMapping.HasProperty(p => p.AdditionalData).WithValueOpenAccessType(OpenAccessType.UnicodeStringInfiniteLength).WithLoadBehavior(LoadBehavior.Eager);
NewslettersFluentMapping.cs Updated from listMapping.HasProperty(p => p.WelcomeMessageSubject).IsNullable();
Updated to  listMapping.HasProperty(p => p.WelcomeMessageSubject).IsNullable().IsText(this.Context, true);
ListsFluentMapping.cs Removed  listMapping.HasAssociation<Telerik.Sitefinity.Lists.Model.ListItem>(p => p.ListItems).WithOpposite(p => p.Parent).ToColumn("parent_id").IsManaged().IsDependent().OrderBy("ordinal ascending");
Added  listItemMapping.HasAssociation<List>(p => p.Parent).ToColumn("parent_id");

Database schema changes

Table Change Description Details 
[sf_approval_tracking_record]  Updated column From

[note] VARCHAR (255) NULL

 to  

[note] NVARCHAR (MAX) NULL

Users can now enter long text comments when rejecting an item that requires approval.

 
[sf_cnt_locations] Added column  [control_id] UNIQUEIDENTIFIER NULL  Used to uniquely identify the content location for each widget for each content type on a page. 
[sf_folders] Added column  [last_modified] DATETIME NULL  Used for sorting the most recent libraries. 
[sf_list_items] Removed index 

NONCLUSTERED INDEX [idx_sf_list_items_parent_id]

ON [dbo].[sf_list_items]([parent_id] ASC); 

Removed index.

[sf_pblshng_pp_sttngs_ddtnl_dta] Updated column  From

[val] VARCHAR (1000) NULL

 to  

[val] NVARCHAR (MAX) NULL

Users can now enter additional fields for search index that are longer than 1000 characters.

 
[sf_scheduled_tasks] Added column  [owner]UNIQUEIDENTIFIER NULL 

Added new column:  owner.

 
[sf_sitefinity_profile] Added column  [preferences] VARCHAR (MAX) NULL 

Added new column: preferences.

 
[sf_taxa] Added column  [status] INT NOT NULL

Added new column: status.

 
[sf_taxa]  Added index

NONCLUSTERED INDEX [idx_sf_taxon_status]

 ON [dbo].[sf_taxa]([status] ASC)

Added new index for status column.

[sf_lst]  Updated column 

From [welcome_message_subject] VARCHAR (255) NULL 

to

[welcome_message_subject] NVARCHAR (255) NULL

Now the Welcome message subject allows non-ACII characters.

 

Database changes between 10.1 and 10.2

New tables

Table Change Description Details
[sf_ab_test]
New table Added for the A/B testing feature
Persists A/B test information
[sf_ab_test_goal]
New table Added for the A/B testing feature
Persists A/B test goals information
[sf_ab_test_variation]
New table Added for the A/B testing feature
Persists A/B test variations information

Modified tables

Table Change Description Details
[sf_page_data] Added column [variation_type_key]
VARCHAR (255) NULL
The variation type (e.g.”pers”, “abtest”)
[sf_page_data] Removed columns
[sliding_expiration]
TINYINT NULL
[cache_output]
TINYINT NULL
[cache_duration]
INT NULL
Removed because they are obsolete
[sf_stat_sentence] Changed column [object_key]
NVARCHAR (2084) NULL
Enlarged size because page URLs could not fit and resulted in data loss
[sf_site_sync_summary] Changed column [general_errors]
NVARCHAR (max) NULL
Enlarged because some Site Sync errors could not fit

Database changes between 10.0 and 10.1

Modified tables

Table Change Description Details
[sf_files_monitor_data]
Created index CREATE UNIQUE NONCLUSTERED INDEX [idx_sf_fls_mntr_dta_path]
    ON [dbo].[sf_files_monitor_data]([file_path] ASC);
GO
 
[sf_form_description_attrbute]
Changed column [val] is now VARCHAR (MAX)
Extending forms definitions
[sf_media_file_links]
Changed column [file_path] is now NVARCHAR (510)
 
[sf_meta_attribute]
Created index CREATE UNIQUE NONCLUSTERED INDEX [idx_sf_meta_attribute_id2]
    ON [dbo].[sf_meta_attribute]([id2] ASC);
GO
Metadata bootstrap optimization
[sf_meta_attribute]
Removed index [id3] Metadata bootstrap optimization

Removed tables

Table Change Details
[sf_mt_fields_sf_meta_attribute]
Removed Metadata bootstrap optimization
[sf_mta_types_sf_meta_attribute]
Removed Metadata bootstrap optimization

Database changes between 9.2 and 10.0

Added tables

Table Change Description Details
[sf_idsrv_claims]
Added Added for the new authentication with Identity Server.
Persists the Identity Server claims.
[sf_idsrv_consents]
Added Added for the new authentication with Identity Server.
Persists the Identity Server consents, containing the records of subject with his allowed scopes for specific client.
[sf_idsrv_keys]
Added Added for the new authentication with Identity Server. Persists the Identity Server data keys, containing the info about consent items and tokens for specific subject and client.
[sf_idsrv_tokens]
Added Added for the new authentication with Identity Server. Persists the tokens, issued by Identity Server.

Modified tables

Table Change Description Details
[sf_content_link]
Changed column
[child_item_additional_info] is now  NVARCHAR (1024)
 
[sf_failed_deliveries]
Changed column
[description] is now NVARCHAR (255)
Support for Unicode symbols for email campaigns
[sf_notif_subscr_list]
Changed column
[title] is now NVARCHAR (255)
Support for Unicode symbols for email campaigns
[sf_notif_subscribers]
Changed column
[first_name] is now NVARCHAR (255)
Support for Unicode symbols for email campaigns
[sf_notif_subscribers]
Changed column
[last_name] is now NVARCHAR (255)
Support for Unicode symbols for email campaigns
[sf_ntf_sbscrbrs_cstm_prperties]
Changed column
[val]  is now  NVARCHAR (255)
Support for Unicode symbols for email campaigns
[sf_page_data]
Changed column
[sliding_expiration] NULL
Allow null values, lazy loading. Deprecated use. Stored whether the cached page output should expire depending on the last time it was accessed. Now managed through the PageData.OutputCacheProfile property 
[sf_page_data]
Changed column
[cache_output] TINYINT
Allow null values, lazy loading. Deprecated use. Stored whether the page output should be cached. Now managed through the PageData.OutputCacheProfile property
[sf_page_data] Changed column
[cache_duration] INT
Allow null values, lazy loading. Deprecated use. Stored the amount of time the page output should be cached. Now managed through the PageData.OutputCacheProfile property
[sf_pckgng_addn_lnks]
Added column
[addtnl_info]
Added to track config elements added from add-ons for the purpose of deleting add-ons. This is used to delete the config elements that originated from a given add-on. 
[sf_pckgng_addns]
Added column
[addn_key]
Add-on key is used as part of the for the purpose of deleting add-ons. It is a mapping between filesystem and database for tracking each add-on. This tracking allows for safe deployment on NLB environments after Add-on deletion.
[sf_pckgng_addns]
Created index
CREATE UNIQUE NONCLUSTERED INDEX [idx_name] 

ON [dbo].[sf_pckgng_addns]([name] ASC); 

GO

Index is created to optimize getting Add-Ons by name
[sf_users]
Added columns
[ext_provider_name]
Persists the name of the external provider that was used to create this user
[sf_users] Created index
CREATE NONCLUSTERED INDEX [sf_idx_email] 

ON [dbo].[sf_users]([email] ASC); 

GO

Index is created to optimize getting user by email.

Database changes between 9.1 and 9.2

Changes in tables

Table Change Description Details

sf_blogs

[landing_page_id]
UNIQUEIDENTIFIER
NULL

Removed column

 

sf_ec_product

[voa_class]
INT
NOT NULL

 

 

Added column

 

sf_forum_posts

CREATE NONCLUSTERED INDEX [idx_sf_posts_last_modified]
ON [dbo].[sf_forum_posts]([last_modified] DESC);
GO

Added index

Improve performance of RSS Feeds

sf_mb_dynamic_module

 

[origin]
VARCHAR (255)
NULL 

 

 

Added column

New column is added to persist the origin of the dynamic modules. It is used for the purpose of the Add-ons.

sf_mb_dynamic_module_field

[origin]
VARCHAR (255)
NULL

 

 

Added column

New column is added to persist the origin of the dynamic module fields. It is used for the purpose of the Add-ons.

sf_mb_dynamic_module_type

[origin]
VARCHAR (255)
NULL

 

Added column

New column is added to persist the origin of the dynamic module types. It is used for the purpose of the Add-ons.

sf_meta_fields

[origin]
VARCHAR (255)
NULL

 

Added column

New column is added to persist the origin of the meta types. It is used for the purpose of the Add-ons.

sf_meta_types

[origin]
VARCHAR (255)
NULL

 

Added column

New column is added to persist the origin of the meta typesmodul. It is used for the purpose of the Add-ons.

sf_pckgng_pckgs

[version]
UNIQUEIDENTIFIER
NOT NULL

 

 

Added column

New column is added to persist the latest installed version of a package (Add-on or deployment package).

sf_sites

[site_configuration_mode]
INT
NOT NULL

 

 

Added column

Specifies current mode of the site, whether it is configured to be updated manually or via deployment package.

sf_stat_sentence

CREATE NONCLUSTERED INDEX [IX_sf_stat_sntnc_subject_key]
ON [dbo].[sf_stat_sentence]([subject_key] ASC);
GO 


Added index

Improves performance on user login when Personalization module is enabled. 

sf_pckgng_addn_lnks

 

New table

New table is introduced to persist the relation between add-ons and the items (dynamic modules, content items, page templates, forms,etc) installed from the add-on.

sf_pckgng_addns

 

New table

New table is introduced to persist the data for the add-ons installed in the system.

sf_pckgng_addns_err_stts

 

New table

New table is introduced to persist the error state of the add-ons.

sf_pckgng_addns_stts

 

New table

New table is introduced to persist the status of the add-ons per site.

sf_xml_config_items

 

New table

 

sf_diag_OperationLog

 

Removed table

The data is now stored in sf_diag_sample_logs 

sf_diag_QueryLog

 

Removed table

The data is now stored in sf_diag_sample_logs 

sf_diag_sample_logs

 

New table

New table introduced to persist the collected data for all profiled operations.

sf_diag_MultiplePageCompilationsReport

 

New stored procedure

Provides analyzed data for page compilations

sf_diag_MultiplePageExecutionsReport

 

New stored procedure

Provides analyzed data for page compilations

sf_diag_report_RunBigResultSetAnalysis

 

Recreated stored procedure

 

sf_diag_report_RunLongQueryAnalysis

 

Recreated stored procedure

 

sf_diag_RunNPlusOneAnalysis

 

Recreated stored procedure

 

Added column

Added column

Added column

Database changes between 9.0 and 9.1

Modified tables

 

Table Change

Details

[sf_form_entry]

New column:
[user_provider] 


 

Database changes between 8.2 and 9.0

Added tables

Table Change Details
sf_files_monitor_data New table The fluent mapping is moved to new assembly - Telerik,Sitefinity.Frontend.Data.dll. The database scheme stays the same as before.
sf_media_file_links New table Stores the links to media files for a given culture.
Up to Sitefinity CMS 8.2 this information has been part of the sf_media_content table and the file link was only one for all cultures. In 9.0 can have more than one link for a media content item - one for each culture.
sf_module_vrsn
New table

A new entity has been introduced - ModuleVersion. It is used to keep application modules information in the database: id, name, version, previous version, error message (previously kept in SystemConfig). The entity is mapped to a database table - sf_module_vrsn;

sf_media_file_urls New table Up to Sitefinity CMS 8.2 the URLs to the media files are generated based on the media content URLsm stored in sf_url_data (appending an extension). In Sitefinity CMS 9.0 you may have different URLs for media content item and media file. The information for file URLs is stored in sf_media_file_urls table.
sf_pckgng_pckgs New table Used for storing generated and applied packages

Updated tables

Table Change Details
sf_dynamic_content
New column: include_in_sitemap
Type: TINYINT
sf_media_thumbnails
New column: culture
Type: VARCHAR (255)
In Sitefinity CMS 9.0 thumbnails are stored per culture.
sf_notif_msg_template
Changed column: subject
Change: NVARCHAR (80) to NVARCHAR (255)
Type: NVARCHAR (255)
sf_media_content

New column: media_file_url_name

Removed columns: total_size, mime_typenumber_of_chunks, file_path, file_id, width, height, extension, height2, width2, chunk_size

Columns are moved in: sf_media_file_links

Stores base information to generate URL for the file. The same column is used for each language version (with suffix in the name) to persist the culture specific part of the base URL name of the file.

Database changes between 8.0 and 8.1

New tables

Table Description

[sf_locs] 

 

[sf_tr_prjcts] 

Used by translations module 
[sf_tr_sources] 
Used by translations module 
[sf_tr_trnsltns] 
Used by translations module 
[sf_tr_jbs]] 
Used by translations module 
[sf_tr_units]] 
Used by translations module

Updated tables

Table Change  Description  Details 
[sf_bounce_stat]  New column
retry_count 
 
  • Type: INT
  • Allow nulls: NOT NULL
New column
is_processing
 
  • Type: TINYINT
  • Allow nulls: NOT NULL 
New column
bounce_status 
 
  • Type: INT
  • Allow nulls: NOT NULL 
Updated field
message_status 
The column does not allow nulls anymore. 
  • Type: INT
  • Allow nulls: NULL 
[sf_notif_msg_job] 
Removed column
dyn_subscription_list_id 
 
  • Type: UNIQUEIDENTIFIER
  • Allow nulls: NULL 
[sf_scheduled_tasks] 
New column
subscr_lst_id 
 
  • Type: UNIQUEIDENTIFIER
  • Allow nulls: NULL  
[sf_users] 
Updated field
password_question 
The NVARCHAR is changed from 255 to 500
  • Type: NVARCHAR
  • Allow nulls: NULL  
[sf_version_changes] 
New column
metadata 
 
  • Type: VARCHAR(4000)
  • Allow nulls: NULL  
[sf_version_items] 
New column
[synced] 
 
  • Type: TINYINT
  • Allow nulls: NOT NULL  

 

Database changes between 7.3 and 8.0

New tables

Table: sf_wrkflw_dfntn_ddtnl_frst_lvl

Description: Stores the additional first level email recipients when an item is sent for approval (for 2 step workflow) or publishing (for 1 step workflow)

CREATE TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_frst_lvl](
    [id] [uniqueidentifier] NOT NULL,
    [seq] [int] NOT NULL,
    [val] [varchar](255) NULL,
    CONSTRAINT [pk_sf_wrkflw_dfntn_dd_436CF226] PRIMARY KEY CLUSTERED
    (
        [id] ASC,
        [seq] ASC
    )
    WITH (
        PAD_INDEX  = OFF,
        STATISTICS_NORECOMPUTE  = OFF,
        IGNORE_DUP_KEY = OFF,
        ALLOW_ROW_LOCKS  = ON,
        ALLOW_PAGE_LOCKS  = ON
    )
    ON [PRIMARY]
) ON [PRIMARY]
GO
 
SET ANSI_PADDING OFF
GO
 
ALTER TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_frst_lvl]
    WITH CHECK ADD  CONSTRAINT [ref_sf_wrkflw_dfntn_d_6A239D1A]
    FOREIGN KEY([id])
    REFERENCES [dbo].[sf_workflow_definition] ([id])
GO
 
ALTER TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_frst_lvl]
    CHECK CONSTRAINT [ref_sf_wrkflw_dfntn_d_6A239D1A]
GO

Table: sf_wrkflw_dfntn_ddtnl_scnd_lvl

Description: Stores the additional second level email recipients when an item is sent for publishing through the workflow.

CREATE TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_scnd_lvl](
    [id] [uniqueidentifier] NOT NULL,
    [seq] [int] NOT NULL,
    [val] [varchar](255) NULL,
    CONSTRAINT [pk_sf_wrkflw_dfntn_dd_6936DCD4] PRIMARY KEY CLUSTERED (
        [id] ASC,
        [seq] ASC
    )
    WITH (
        PAD_INDEX  = OFF,
        STATISTICS_NORECOMPUTE  = OFF,
        IGNORE_DUP_KEY = OFF,
        ALLOW_ROW_LOCKS  = ON,
        ALLOW_PAGE_LOCKS  = ON
    ) ON [PRIMARY]
) ON [PRIMARY]
GO
 
SET ANSI_PADDING OFF
GO
 
ALTER TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_scnd_lvl] 
    WITH CHECK ADD  CONSTRAINT [ref_sf_wrkflw_dfntn_d_FA8BA617] FOREIGN KEY([id])
    REFERENCES [dbo].[sf_workflow_definition] ([id])
GO
 
ALTER TABLE [dbo].[sf_wrkflw_dfntn_ddtnl_scnd_lvl]
    CHECK CONSTRAINT [ref_sf_wrkflw_dfntn_d_FA8BA617]
GO

Updated tables

Table: sf_schema_vrsns

Description: Changed column

The type of the cultures column was changed from varchar(1000) to varchar(2000).
Name Type Allow nulls Description Affects
cultures VARCHAR (2000) NULL

Table: sf_taxonomies

Description: New column

The column root_id was added to sf_taxonomies.
Name Type Allow nulls Description Affects
root_id UNIQUEIDENTIFIER NULL

Table: sf_workflow_definition

Description: New columns

  • New column culture_scope: stores a comma separated value of the cultures for which the current workflow definition is to be applied.
  • New column allw_pblshers_to_skip_workflow: indicates whether last level approvers will entirely skip workflow and go to the last step.
  • New column custom_xamlx_url: a URL which overrides the default XAMLX file path
Name Type Allow nulls Description Affects
culture_scope VARCHAR (2000) NULL

allw_pblshers_to_skip_workflow TINYINT NOT NULL

custom_xamlx_url NVARCHAR (255) NULL

Table: sf_workflow_scope

Description: New column

The column provider_name was added to sf_workflow_scope.
Name Type Allow nulls Description Affects
provider_name VARCHAR (255) NULL

Table: sf_folders

Description: New column

The column cover_id was added to sf_folders.
Name Type Allow nulls Description Affects
cover_id uniqueidentifier NULL

Table: sf_libraries

Description: New column

The column cover_id was added to sf_libraries.
Name Type Allow nulls Description Affects
cover_id uniqueidentifier NULL

Database changes between 7.2 and 7.3

New tables

Table: [sf_cs_comments]

Description: Part of Sitefinity’s comments service.

CREATE TABLE [dbo].[sf_cs_comments](
    [status] [nvarchar](100) NULL,
    [resolve_key] [nvarchar](255) NOT NULL,
    [rating] [numeric](20, 10) NULL,
    [parent_thread_id] [uniqueidentifier] NOT NULL,
    [message] [nvarchar](max) NULL,
    [last_modified_by_name] [varchar](255) NULL,
    [last_modified_by_email] [varchar](255) NULL,
    [last_modified_by] [uniqueidentifier] NULL,
    [last_modified] [datetime] NULL,
    [date_created] [datetime] NULL,
    [custom_data] [nvarchar](1024) NULL,
    [author_name] [nvarchar](255) NULL,
    [author_ip_address] [nvarchar](255) NULL,
    [author_id] [uniqueidentifier] NULL,
    [author_email] [nvarchar](255) NULL)
GO

Table: [sf_cs_groups]

Description: Part of Sitefinity’s comments service.

CREATE TABLE [dbo].[sf_cs_groups](
    [title] [nvarchar](255) NULL,
    [resolve_key] [nvarchar](255) NULL,
    [last_modified] [datetime] NOT NULL,
    [id] [uniqueidentifier] NOT NULL,
    [description] [nvarchar](255) NULL,
    [date_created] [datetime] NULL,
    [author_name] [nvarchar](255) NULL,
    [author_id] [uniqueidentifier] NULL,
    [author_email] [nvarchar](255) NULL)
GO

 

Table: [sf_cs_threads]

Description: Part of Sitefinity’s comments service.

 

CREATE TABLE [dbo].[sf_cs_threads](
    [type] [nvarchar](255) NULL,
    [title] [nvarchar](255) NULL,
    [resolve_key] [nvarchar](255) NULL,
    [require_authentication] [tinyint] NOT NULL,
    [require_approval] [tinyint] NOT NULL,
    [parent_group_id] [uniqueidentifier] NOT NULL,
    [last_modified] [datetime] NOT NULL,
    [language] [nvarchar](10) NULL,
    [is_closed] [tinyint] NOT NULL,
    [id] [uniqueidentifier] NOT NULL,
    [date_created] [datetime] NULL,
    [data_source] [nvarchar](255) NULL,
    [comments_count] [int] NOT NULL,
    [behavior] [nvarchar](100) NULL,
    [average_rating] [numeric](20, 10) NULL,
    [author_name] [nvarchar](255) NULL,
    [author_id] [uniqueidentifier] NULL,
    [author_email] [nvarchar](255) NULL)
 
GO

 

Table: [sf_dynmc_cntent_sf_permissions]

Description: Used for granular permissions of dynamic content items.

 

CREATE TABLE [dbo].[sf_dynmc_cntent_sf_permissions](
    [base_id] [uniqueidentifier] NOT NULL,
    [id] [uniqueidentifier] NOT NULL)
  
GO

Table: [sf_content_link_attrbutes]

Status: Updated

Description: Removed index

Changed column:

Name Description
idx_sf_cntnt_lnk_attrbutes_val

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [sf_dynamic_content]

Status: Updated

Description: New columns

Name
Type  Allow Nulls Affects 
inherits_permissions TINYINT NOT NULL Dynamic content items
can_inherit_permissions TINYINT NOT NULL Dynamic content items

Table: [sf_form_description_attrbutes]

Status: Updated

Description: Removed index

Changed column:

Name
Description 
idx_sf_frm_dscrptn_ttrbtes_val

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [sf_object_data]

Status: Updated

Description: New column

Name Type Allow Nulls  Affects 
strategy SMALLINT NOT NULL Pages

Table: [sf_page_data_attrbutes]

Status: Updated

Description: Removed index

Changed column:

Name
Description
idx_sf_page_data_attrbutes_val

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [sf_page_node_attrbutes]

Status: Updated

Description: Removed index

Changed column:

Name
Description
idx_sf_page_node_attrbutes_val

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [sf_pblshng_pp_sttngs_ddtnl_dta]

Status: Updated

Description: Removed index

Changed column:

Name Description
idx_sf_pblshng_pp_sttngs_ddtnl

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [sf_publishing_point]

Status: Updated

Description: New column

Name Type  Allow Nulls Affects
is_shared_with_all_sites TINYINT NOT NULL All modules that have mappings for storing publishing points.

Table: [sf_taxa_attrbutes]

Status: Updated

Description: Removed index

Changed column:

Name Description
idx_sf_taxa_attrbutes_val

The index is not available in the latest installation.

The index, however, is not deleted from projects that are upgraded to Sitefinity CMS 7.3. This does not result in any errors or does not break anything in the projects.

Table: [SyncTask]

Status: Updated

Description: New column

Name Type Allow Nulls  Affects 
FatalityThreshold INT NOT NULL OpenAccess

Description: Changed column
The type of the ConfigurationId column is changed from VARCHAR (255) to NVARCHAR (64).

Name Type Allow Nulls   Affects
ConfigurationId NVARCHAR(64) NULL  OpenAccess

 

Database changes between 7.1 and 7.2

Table: OAImportConfigurations

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
LogLevel INT NOT NULL

Table: OASyncLog

Status: Updated

Description: Changed column

The type of the ListSummary column is changed from NOT NULL to NULL.

Name Type Allow nulls Description Affects
ListSummary INT  NULL

 

Table: sf_draft_pages

Status: Updated

Description: New columns

Name Type Allow nulls Description Affects
sccss_mssge_after_form_update_
NVARCHAR (255) NULL
 submit_action_after_udate  INT  NULL    
 redirect_page_url_after_update  VARCHAR (255)  NULL    

">Table: sf_form_description

Status: Updated

Description: New columns

Name Type Allow nulls Description Affects
 sccss_mssge_after_form_update_
 NVARCHAR (MAX)  NULL
 subscr_lst_id_after_update  UNIQUEIDENTIFIER  NULL    
 submit_action_after_update  INT  NOT NULL    
 redirect_page_url_after_update  VARCHAR (255)  NULL    

>Table: sf_prs_segment

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
type VARCHAR (255) NULL Pages

Table: SyncTask

Status: Updated

Description: Changed column

The type of the ConfigurationId column is changed from NVARCHAR (64) to VARCHAR (255).

Name Type Allow nulls Description Affects
ConfigurationId INT NOT NULL

Database changes between 7.0 and 7.1

New Tables

Table: [sf_rbin_item]

Description: Part of the new Recycle Bin module. 

CREATE TABLE [dbo].[sf_rbin_item] (
 
    [owner]                     UNIQUEIDENTIFIER NULL,
 
    [last_modified]             DATETIME         NOT NULL,
 
    [id]                        UNIQUEIDENTIFIER NOT NULL,
 
    [del_item_wrkfl_status]     VARCHAR (255)    NULL,
 
    [del_item_type_name]        VARCHAR (255)    NULL,
 
    [del_item_title]            VARCHAR (255)    NULL,
 
    [del_item_site_id]          UNIQUEIDENTIFIER NULL,
 
    [del_item_prvdr_name]       VARCHAR (255)    NULL,
 
    [del_item_parent_type_name] VARCHAR (255)    NULL,
 
    [del_item_titles_path]      VARCHAR (255)    NULL,
 
    [del_item_lang]             VARCHAR (255)    NULL,
 
    [del_item_id]               UNIQUEIDENTIFIER NULL,
 
    [date_created]              DATETIME         NOT NULL,
 
    [app_name]                  VARCHAR (255)    NULL,
 
    [voa_version]               SMALLINT         NOT NULL,
 
    CONSTRAINT [pk_sf_rbin_item] PRIMARY KEY CLUSTERED ([id] ASC)
 
);
 
GO
 
  
 
CREATE NONCLUSTERED INDEX [idx_sf_rbin_item_type]
 
    ON [dbo].[sf_rbin_item]([del_item_type_name] ASC);
 
GO

Table: sf_blog_posts

Status: Updated

Description: New column added

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL
Blogs module

Tablesf_blogs

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL Blogs module

Tablesf_commnt

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL Comments

Tablesf_content_items

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL All content modules

Tablesf_control_properties

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
flags INT NOT NULL

Tablesf_draft_pages

Status: Updated

Description: New column

Name  Type  Allow nulls  Description  Affects 
 flags  INT  NOT NULL    Pages

Tablesf_dynamic_content

Status: Updated

Description: New columns

Name Type Allow nulls Description Affects
was_published TINYINT NULL Module builder
item_default_url NVARCHAR (510) NULL Module builder

Tablesf_ec_product

Status: Updated

Description: New column

New column:

Name Type Allow nulls Description Affects
rating NUMERIC (20, 10) NULL eCommerce module

Tablesf_ec_product_type

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
has_customer_defined_price TINYINT NOT NULL eCommerce module

Table: sf_events

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL Events module

Tablesf_form_description

Status: Updated

Description: New column

 Name Type  Allow nulls  Description  Affects 
 include_in_sitemap TINYINT NOT NULL
Forms module

Table:  sf_forums

Status: Updated

Description: New column

 Name Type  Allow nulls  Description  Affects 
 include_in_sitemap  TINYINT  NOT NULL    Forums module

Tablesf_libraries

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL
Videos, Images, Documents

Tablesf_list_items

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL
Lists module

Table: sf_lists

Status: Updated

Description: New column.

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL
Listsmodule

Tablesf_media_content

Status: Updated

Description: New column

Name Type Allow nulls Description Affects
include_in_sitemap TINYINT NOT NULL
Images, Videos, Documents
 was_published TINYINT NULL  

Images, Videos, Documents

Tablesf_meta_types

Status: Updated

Description: New column

 Name Type  Allow nulls  Description  Affects 
parent_type_id UNIQUEIDENTIER NULL    

Tablesf_news_items

Status: Updated

Description: New columns

Name  Type  Allow nulls  Description  Affects 
include_in_sitemap TINYINT NOT NULL    
was_published TINYINT NULL    

Tablesf_object_data

Status: Updated

Description: New column

Name Type  Allow nulls  Description Affects
vrsn INT NOT NULL    

Tablesf_page_data

Status: Updated

Description: New column

Name  Type  Allow nulls  Description  Affects 
flags INT NOT NULL   Pages

Tablesf_page_node

Status: Updated

Description: New columns

Name Type  Allow nulls  Description  Affects 
priority REAL NOT NULL   Pages
previous_parent_id UNIQUEIDENTIFIER NULL   Pages
is_deleted TINYINT NOT NULL   Pages
include_in_sitemap TINYINT NULL   Pages

Database changes between 6.3 and 7.0

Table: sf_events

Status: Updated

Description: Added a new column

New Column:

Name

Type
Allow nulls
Description
Affects
timezone_id
VARCHAR  (255)
NULL
Added new column Events module 

Table: OAImportConfigurations

Status: Updated

Description: Max characters of the types are increased from VARCHAR (255) to VARCHAR (2000).

Name Type Allow nulls  Description  Affects 
BaseConnectionString VARCHAR (2000) NULL

SourceConnectionString VARCHAR (2000) NULL    
DestinationConnectionString VARCHAR (2000) NULL    

Table: OASyncImportSummary

Status: Updated

Description: Deleted columns

Deleted columns:

 Name Type  Allow nulls  Description  Affects 
 Reads  INT  NOT NULL    
 Inserts  INT  NOT NULL    
 Updates  INT  NOT NULL    
 Deletes  INT  NOT NULL    

Table: OASyncListSummary

Status: Updated

Description: New columns and new index are added

New columns:

Name  Type  Allow nulls  Description  Affects 
 SourceDeletes   INT  NOT NULL    
 SourceInserts  INT  NOT NULL    
 SourceReads  INT  NOT NULL    
 SourceUpdates  INT  NOT NULL    
 DestinationDeletes  INT  NOT NULL    
 DestinationInserts  INT  NOT NULL    
 DestinationReads  INT  NOT NULL    
 DestinationUpdates  INT  NOT NULL    
 BaseDeletes  INT  NOT NULL    
 BaseInserts  INT  NOT NULL    
 BaseReads  INT  NOT NULL    
 BaseUpdates  INT  NOT NULL    

New index:

GO
CREATE NONCLUSTERED INDEX [idx_OASyncLstSmmry_ImprtSmmary]
ON [dbo].[OASyncListSummary]([ImportSummary] ASC);
GO

Table: sf_content_link

Status: Updated

Description: New columns

New columns:

 Name Type  Allow nulls  Description  Affects 
 available_for_temp TINYINT   NOT NULL Indicates whether a particular link is available for the temp version of the of the related item. Related data
 available_for_master  TINYINT  NOT NULL Indicates whether a particular link is available for the temp version of the of the related item.
Realated data
 available_for_live  TINYINT  NOT NULL Indicates whether a particular link is available for the temp version of the of the related item.
Related data

Table: sf_ec_cart_order

Status: Updated

Description: New column

New column:

 Name Type  Allow nulls  Description  Affects 
 user_id  UNIQUEIDENTIFIER  NULL    Ecommerce module

Table: sf_ec_product

Status: Updated

Description: Deleted column

Deleted column:

 Name Type  Allow nulls  Description  Affects 
 voa_class  INT  NOT NULL    Ecommerce module

Table: sf_form_entry

Status: Updated

Description: New columns

New columns:

 Name Type  Allow nulls  Description  Affects 
 source_site_name  VARCHAR (255)  NULL    Forms module
 source_site_id  UNIQUEIDENTIFIER  NULL    Forms module

Table: sf_mb_dynamic_module_field

Status: Updated

Description: New columns

New columns:

 Name Type  Allow nulls  Description  Affects 
 related_content_type  VARCHAR (255) NULL     Module builder
 related_content_provider  VARCHAR (255) NULL     Module builder
 frontend_widget_type_name  VARCHAR (255)  NULL    Module builder
 frontend_widget_label  VARCHAR (255) NULL     Module builder

Table: sf_object_data

Status: Updated

Description: New columns

New columns:

 Name Type  Allow nulls  Description  Affects 
 is_overrided_control  TINYINT  NULL    
 editable  TINYINT  NULL    
 base_control_id  UNIQUEIDENTIFIER  NULL    
 enable_override_for_control  TINYINT  NULL    
 enable_override_for_control2  TINYINT  NULL    

Table: sf_page_data

Status: Updated

Description: Deleted several columns and added new one. Fix page node - page data relationship; move metadata properties from page data to page node.

Deleted columns:

 Name Type  Allow nulls  Description   Affects
 ui_culture  VARCHAR (255)  NULL      Pages
 translation_initialized  TINYINT  NOT NULL     Pages
 require_ssl  TINYINT  NOT NULL     Pages
 page_languagelink_id  UNIQUEIDENTIFIER  NULL     Pages
 localization_strategy  SMALLINT  NULL     Pages
 keywords  NVARCHAR (500)  NULL     Pages
 html_title_  NVARCHAR (500)  NULL     Pages
 crawlable  TINYINT  NOT NULL     Pages
 voa_version  SMALLINT  NOT NULL     Pages

Removed query to create index:

CREATE NONCLUSTERED INDEX [idx_sf_pg_dt_pg_lnguagelink_id]
ON [dbo].[sf_page_data]([page_languagelink_id] ASC);
GO

New column:

 Name Type  Allow nulls   Description Affects 
 page_node_id UNIQUEIDENTIFIER   NULL    

Added new index:

CREATE NONCLUSTERED INDEX [idx_sf_page_data_page_node_id]
ON [dbo].[sf_page_data]([page_node_id] ASC);
GO

Table: sf_page_node

Status: Updated

Description: Deleted index and added new columns. Fix page node - page data relationship; move metadata properties from page data to page node. Add the ability to configure if the page should be included in the internal search index (different configuration from crawl-able by external search engines)

Deleted index:

CREATE NONCLUSTERED INDEX [idx_sf_page_node_content_id]
ON [dbo].[sf_page_node]([content_id] ASC);
GO

New columns:

 Name Type  Allow nulls  Description   Affects
 require_ssl TINYINT   NOT NULL    Pages
 loc_strtgy  SMALLINT  NULL    Pages
 keywords_  NVARCHAR (500)  NULL     Pages
 inc_in_srch_idx  TINYINT  NOT NULL    Pages
 html_title_  NVARCHAR (500)  NULL    Pages
 crawlable_  TINYINT  NOT NULL    Pages

Table: sf_taxonomy_statistic

Status: Updated

Description: Added new index to improve performance for taxonomy statistics.

GO
CREATE NONCLUSTERED INDEX [idx_sf_taxonomy_statistic]
ON [dbo].[sf_taxonomy_statistic]([data_item_type] ASC, [taxon_id] ASC, [statistic_type] ASC, [item_provider_name] ASC);
GO

Removed table

[sf_page_language_link] - Used for multilingual split pages to maintain the relation between split page data items. It is not used anymore.

Site Sync Module

Table:  sf_site_sync_server

Status: New

Tablesf_site_sync_log_entry

Status: Updated

Description: Added new index to improve performance.

CREATE NONCLUSTERED INDEX [sf_site_sync_log_entry] ON [dbo].[sf_site_sync_log_entry]
(
    [type_name] ASC,
    [serverId] ASC,
    [provider] ASC,
    [item_id] ASC
)

Tablesf_site_sync_summary

Status: Updated

Description: Added new index to improve performance.

CREATE NONCLUSTERED INDEX [sf_site_sync_summary] ON [dbo].[sf_site_sync_summary]
(
    [server_id] ASC
)

Dashboard

Tablesf_dashboard_log

Status: Updated

Description: Added new index to improve performance.

CREATE NONCLUSTERED INDEX [sf_dashboard_log] ON [sf_dashboard_log]
(
    [timestamp] ASC,
    [item_type] ASC,
    [item_id] ASC
)

Tablesf_dashboard_watchlist

Status: Updated

Description: Added new index to improve performance.

CREATE NONCLUSTERED INDEX [sf_dashboard_watchlist] ON [dbo].[sf_dashboard_watchlist]
(
    [user_id] ASC,
    [dashboard_log_entry_id] ASC
)

Database changes between 6.2 and 6.3

Tables: sf_content_link_attrbutes, sf_taxa_attrbutes, sf_page_node_attrbutes, sf_page_data_attrbutes, sf_form_description_attrbutes

Status: Updated

Description: The value of the custom attribute for storing additional data

Name Type Allow nulls Description  Affects
Value  VARCHAR (1000)  NULL changed the size of a column(Value)  the length of the attribute value that can be stored 

Table: sf_cnt_location_filters

Status: Updated

Description: The value of the filter for the content location

Name Type Allow nulls  Description Affects
Value  VARCHAR (MAX)  NULL changed the size of a column(Value)  the length of the filter that can be stored 

Table: sf_cnt_location_filters

Status: Updated

Description: The value of the filter for the content location

Name  Type  Allow nulls  Description  Affects 
Value  VARCHAR (MAX)
NULL Added index on column (parent_id performance 

Tablesf_meta_types

Status: Updated

Description: added new columns

New columns:

Name   Type   Allow nulls Description    Affects  
sf_meta_types[is_deleted]  TINYINT NOT NULL  Flag for marking if meta type should be deleted. If marked, the mapping for the meta type is dropped and the meta type itself is deleted when OA schema is upgraded.    all modules that have mappings for artificial types 

Tablesf_meta_fields

Status: Updated

Description: added new column 

New columns

Name   Type   Allow nulls   Description  Affects  
sf_meta_fields[is_deleted]  TINYINT NOT NULL Flag for marking if meta field should be deleted. If marked, the mapping for the meta field is dropped and the meta field itself is deleted when OA schema is upgraded.  all modules that have mappings for 
artificial fields 

Tablesf_control_properties

Status: Updated

Description:  added new column 

New columns:

Name   Type  Allow nulls   Description    Affects  
sf_control_properties[ordinal]  REAL NOT NULL  Column for storing the order in which control properties are loaded. It should be the same as the order in which they are saved.  the order in which control properties are loaded 

TableOAConflicts

Status: Updated

Changed columns:

Name   Type   Allow nulls  
Occured DATETIMEOFFSET (7)  NOT NULL 

TableOAImportConfigurations

Status: Updated

Description: added new columns

New columns:

Name   Type   Allow nulls  
BaseIsUpdateRequired  TINYINT  NOT NULL 
SourceIsForwardMapped TINYINT  NOT NULL 
SourceIsUpdateRequired  TINYINT  NOT NULL 
DestinationIsForwardMapped  TINYINT  NOT NULL 
DestinationIsUpdateRequired  TINYINT  NOT NULL 

TableOASyncImportSummary

Status: Updated

Description: added new columns

New columns:

Name   Type   Allow nulls  
ImportStart
DATETIMEOFFSET (7)  NOT NULL 
ImportEnd  DATETIMEOFFSET (7)  NULL 

TableOASyncListSummary

Status: Updated

Description:  added new columns

New columns

Name   Type   Allow nulls  
ImportStart   DATETIMEOFFSET (7)    NOT NULL  
ImportEnd    DATETIMEOFFSET (7)   NULL   

TableOASyncLog

Status: Updated

Description: added new columns

New columns

Name   Type   Allow nulls  
Executed  DATETIMEOFFSET (7)    NOT NULL  

Tablef_delivery_entry

Status: Updated

Description: removed column voa_version

Tablesf_dynamic_content

Status: Updated

Description: added index

Changed column:

Name   Description   
system_parent_id  added index 

Tablesf_dynamic_content

Status: Updated 

Description: added index 

Changed column:

Name   Description   
parent_item_id  added index 

Comments Module

Table: sf_cs_threads

Status: Updated

Description: This table contains data for comments parent threads and their relation with [sf_cs_groups] by parent_group_id.

New columns:

Name   Type   Allow nulls   Description    Affects  
data_source  NVARCHAR(255)  NULL  The default implementation uses the provider name of the item associated with the thread. For example the provider name of a news item.   Comments module 

Table: sf_cs_comments

Status: Updated

Description: This table contains data for the comments and their relation with [sf_cs_threads] by parent_thread_id.

Changed columns:

Name   Type   Allow nulls   Description    Affects  
last_modified DATETIME NULL  Changed to allow NULL values   Comments module   

New columns:

Name   Type   Allow nulls   Description    Affects  
last_modified_by  UNIQUEIDENTIFIRE  NULL  This column stores the ID of the author that made the last modification of the comment. In the current implementation, it is populated only for authenticated Sitefinity CMS users. Comments module  
last_modified_by_name
VARCHAR(255)   NULL  This column stores the Name of the author that made the last modification of the comment. In the current implementation, it is populated only for unauthenticated users  Comments module  
last_modified_by_email
VARCHAR(255)   NULL  This column stores the Email of the author that made the last modification of the comment. In the current implementation, it is populated only for unauthenticated users
Comments module  
custom_data  NVARCHAR(1024)   NULL  This custom data is an extensibility point that can be used to store custom data for the comment  Comments module  

Tablesf_ec_prices

Status: New

Description: created to hold product specific prices like tier prices

Columns:

Name   Type   Allow nulls   Description    Affects  
val  NUMERIC(10,20)  NOT NULL  Holds the value of this price row  Ecommerce module   
quantity  BIGINT  NOT NULL
Holds the quantity for which this price row is applicable  Ecommerce module   
last_modified  DATETIME  NOT NULL   When this price row has been updated for last time.  Ecommerce module 
id  UNIQUEIDENTIFIRE    NOT NULL   The primary key for the record  Ecommerce module 
application_name  VARCHAR(255)  NOT NULL   The provider for which this price is defined  Ecommerce module 
parent_id UNIQUEIDENTIFIRE    NOT NULL   The parent object this price is defined for.  Ecommerce module 
voa_class
INT  NOT NULL   Telerik OpenAccess specific column  Ecommerce module 
voa_version  SMALLINT  NOT NULL   Telerik OpenAccess specific column  Ecommerce module

Table: sf_ec_cart_detail

Status: Updated

Description: added new column 

New or updated columns:

Name   Type   Allow nulls   Description    Affects  
vat_tax_id  UNIQUEIDENTIFIER  NULL  Marked as deprecated and not used because of that made NULL  Ecommerce module   
is_vat_taxable   TINYINT    NULL    Marked as deprecated and not used because of that made NULL  Ecommerce module   
is_us_canada_taxable  TINYINT    NULL 
Marked as deprecated and not used because of that made NULL  Ecommerce module   
description  NVARCHAR (MAX)     Holds a description for this cart detail for example applied tier price name and etc  Ecommerce module 

Table: sf_ec_order_detail

Status: Updated

New or updated columns:

Name   Type   Description    Affects  
vat_tax_id  UNIQUEIDENTIFIER  NULL    Marked asdeprecatedand not used because of that made NULL  Ecommerce module 
 is_vat_taxable  TINYINT  NULL    Marked asdeprecatedand not used because of that made NULL  Ecommerce module 
description  NVARCHAR (MAX)  NULL Holds a description for this cart detail for example applied tier price name and etc  Ecommerce module   

Table: sf_ec_tax_class

Status: Updated Description: added new column 

New columns:

Name  Type   Allow nulls   Description    Affects  
nme  NVARCHAR (255)   NOT NULL  The name of the tax class  Ecommerce  module  

Table: sf_ec_wishlist_detail

Status: Updated

Description: added new column 

New columns:

Name   Type   Allow nulls   Description    Affects  
description  NVARCHAR (MAX)  NULL  Holds a description for this cart detail for example applied tier price name and etc  Ecommerce module  

Forums module

Table: sf_forums

Description: added new column Status: Updated

New columns:

Name   Type   Allow nulls   Description    Affects  
allowed_attachment_extensions  VARCHAR (MAX)  NULL  A comma separated list of allowed attachment file extensions; when NULL inherits the global settings.  Forums module  

Removed tables

TableSyncSchedulerExecution

Status: Removed

TableSyncTaskLock

Status: Removed


Database changes between 6.0 and 6.2


Connector for Sharepoint

Tablesync_sourceSharepointListName_DestinationSitefinityDocumentLibraryName

Status: Updated

New columns:

Name

Type

Allow nulls

Description

voa_version

int

NULL

Maintains the version of a row in this table

 Updated Fields:

Name

Type

Allow nulls

Update Description

sf_last_modified

datettimeoffset(7)

NULL

The type of the column is changed to datettimeoffset(7) and the column allows null value

sp_last_modified

datettimeoffset(7)

NULL

The type of the column is changed to datettimeoffset(7) and the column allows null value

TableImportWarnings

Status: New

Description:  The import summary now has a collection of warnings. This collection (SynchronizationLog instances) is maintained by the ImportWarnings table.

Tablesf_ec_product

Status: Updated

New columns:

Name

Type

Allow nulls

Description

original_owner

uniqueidentifier

NULL

Added in order for keep the real initial owner or author of the product.

New indexes:

Name

Type

Description

idx_sf_products_app_name

Nonclustered

Added for optimization purpose

idx_sf_products_org_cnt_id

Nonclustered

Added for optimization purpose

idx_sf_products_pub_date

Nonclustered

Added for optimization purpose

idx_sf_products_clr_type

Nonclustered

Added for optimization purpose

Tablesf_ec_product_attribute

Status: Updated

New columns:

Name

Type

Allow nulls

Description

ordinal

real

NOT NULL

Added in order for keep the order of the attributes used in the backend and frontend when showing attributes.

Table: sf_ec_cart_order

Status: Updated

New columns:

Name  Type  Allow Nulls  Description 
shipping_service_code nvarchar NULL Added in order for keep the real code of the service chosen and not using only the title/name of it as before. 

Removed columns:

Name  Type  Allow Nulls  Description 
shipping_service_code  nvarchar  NULL  Added in order for keep the real code of the service chosen and not using only the title/name of it as before. 

Table:  sf_ec_cart_detail

Status: Updated

Removed columns:

Name  Type  Allow Nulls  Description 
voa_version  smallint  NULL  Because of removing the optimistic locking check for concurrentchanges on this table. 

Table:  sf_ec_cart_discount

Status: Updated

Removed columns:

Name  Type  Allow Nulls  Description 
voa_version  smallint  NULL  Because of removing the optimistic locking check forconcurrentchanges on this table. 
Table:  sf_ec_wishlist

Status: Updated

Removed columns:

Name  Type  Allow Nulls  Description 
voa_version  smallint  NULL  Because of removing the optimistic locking check forconcurrentchanges on this table. 

Table:  sf_ec_wishlist_detail

Status: Updated

Removed columns:

Name  Type  Allow Nulls  Description 
voa_version  smallint  NULL  Because of removing the optimistic locking check forconcurrentchanges on this table. 

Forums Module

Table: sf_forums

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

icon_id

uniqueidentifier

NULL

Holds the iconId of the forum.

is_locked

tinyint

NOT NULL

Indicates whether the forum is locked for new posts.

Table: sf_forum_groups

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

url_name_

uniqueidentifier

NULL

Holds the url of the forum group.

is_locked

tinyint

NOT NULL

Indicates whether the thread is locked for new posts

Libraries module

Tablesf_lbraries_thumbnail_profiles

Status: New

Description:  Holds thumbnail profiles related to each library

Tablesf_media_content

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

lgcy_tmb_strg

tinyint

NOT NULL

Indicates if the media content is using the old legacy way use for loading thumbnails. Used by items stored in exterbal blob storage with not regenerated thumbnails after upgrade.

tmb_regen

tinyint

NOT NULL

Indicates that the thumbnails for this media content need to be regenerated.

Tablesf_libraries

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

tmb_regen

tinyint

NOT NULL

Indicates that the thumbnails for this library need to be regenerated. Set to true when a regenerate thumbnails task is started, or after upgrade for libraries using blob storage different than Database.

Table: sf_media_thumbnails

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

id

uniqueidentifier

Primary key

nme

varchar(10)

NULL

Holds the name of the thumbnail corresponding to the name of the thumbnail profile set for the library

file_id

uniqueidentifier

NULL

Holds the id of the blob data

total_size

bigint

NOT NULL

The total size of the thumbnail blob data in bytes

typ

int

NOT NULL

The type of the thumbnail:
0-Custom (for the furute usage for custom uploaded thumbnails),
1-System (Always generated regardless of thumbnal profiles selected for the library),
3-Autogenerated (generated based on the profiles selected for the library)

number_of_chunks

int

NOT NULL

Stored number of chunks. Used only when the blob data is stored in ChunkedBlobStorageProvider

uploaded

tinyint

NOT NULL

Stores flag if uploade. Used only when the blob data is stored in ChunkedBlobStorageProvider

chunk_size

int

NOT NULL

Stores the size of the chunk. Used only when the blob data is stored in ChunkedBlobStorageProvider

width

int

NULL

The width in the thumbnail image in pixels

height

int

NULL

The height of the thumbnail image in pixels

Removed columns:

Name

Reason

sf_media_thumbnails_id

Primary key changed from int to guid

size

Obsolete.Use the nme instead.

Notification Service

Tablesf_ntf_msg_jb_xcldd_rslvd_kys_

Status: New

Description:  Handles the excluded subscribers list functionality

Tablesf_notif_msg_job

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

dyn_subsription_list_id

uniqueidentifier

NULL

This column is related to the excluded subscribers list functionality

Pages functionality

Tablesf_page_node

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

enable_default_canonical_url

tinyint

NULL

Indicates if the canonical URL tag will be added on this page; if there are no widgets on it that will add it automatically. If not set - the global settings will take place.

Tablesf_page_data

Status: Updated

New indexes:

Name

Type

Description

idx_sf_pd_pers_master_id

Nonclustered

Added for optimization purpose

Tablesf_object_data

Status: Updated

New indexes:

Name

Type

Description

idx_sf_bjct_dta_sibling_id

Nonclustered

Added for optimization purpose

Tablesf_presentation_data

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

name_for_developers

varchar (255)

NULL

Keeps the Developer name value of the template. It is used to get the template by name instead of GUID ID.

Permissions functionality

Tablesf_permissions

Status: Updated

Updated indexes:

Name

Type

Description

idx_sf_permissions

Nonclustered

Added for optimization purpose

Resposnive Design module

Tablesf_rdsgn_nav_trnsfrmtn

Status: New

Description:  Table for many to many relationship between MediaQuery and Navigation Transformations config elements.

Site Sync module

Tablesf_site_sync_log_entry

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

timestamp

datetime

NULL

Log entry modification time.

user_id

uniqueidentifier

NULL

The ID of the user causing the logged event.

Table: sf_site_sync_summary

Status: Updated

New columns:

Name

Type

Allow Nulls

Description

server_id

varchar(255)

NULL

The ID of the target server.


Dashboard Module

Table: sf_dashboard_log

Status: New

Description: Stores information about items that are shown on the dashboard.

Table: sf_dashboard_watchlist

Status: New
Description: Keeps track which user (user_id) is subscribed for which dashboard log entry (dashboard_log_entry_id).

Comments Module

Table: sf_cs_comments

Status: New

Description: Stores information about comments.

Table: sf_cs_threads

Status: New

Description: Stores information about threads.

Table: sf_cs_groups 

Status: New

Description: Stores information about groups.

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?