Commerce Server 2009 Schema Changes
This topic details the schema differences between the Commerce Server 2009 out-of-the-box Default Site and the Commerce Server 2007 Starter Site.
Profiles System Objects
This section detail the schema changes implemented to the Profiles System in Commerce Server 2009.
UserObject
Property |
Type |
Description |
---|---|---|
GeneralInfo.user_live_id |
String, searchable, Unique Key |
Required for integration with Windows Live logon. If this property does not exist, an exception will be thrown if an attempt is made to retrieve a UserProfile entity by LiveId, or if an attempt is made to retrieve or modify the LiveId property of a UserProfile entity. |
GeneralInfo.default_shopper_list |
String |
Required to retrieve the default ShopperList for a user. If this property does not exist, an exception will be thrown if an attempt is made to retrieve or modify the DefaultShopperList property of a UserProfile entity. |
GeneralInfo.preferred_shipping_method |
String |
Required to retrieve the PreferredShippingMethod relationship of the UserProfile entity. If this property does not exist, an exception will be thrown if a CommerceQueryRelatedItem<ShippingMethod> (PreferredShippingMethod) is executed when retrieving a UserProfile entity. To completely remove the dependency on this property/relationship, remove the UserProfileShippingMethodsResponseBuilder and UserProfileShippingMethodsProcessor components from ChannelConfiguration.config. |
CreditCard
Property |
Type |
Description |
---|---|---|
GeneralInfo.expiration_month |
Number, Required |
Required to support copying credit card information from a UserProfile entity to a Basket entity. If these properties do not exist, an exception will be thrown if an attempt to execute a CommerceCopyRelatedItem<CreditCard> (PaymentAccount) to copy credit card information from a UserProfile entity to the Payment of a Basket entity. These replace the GeneralInfo.expiration_date property of the CS2007 CreditCard profile schema. |
GeneralInfo.expiration_year |
Number, Required |
Required to support copying credit card information from a UserProfile entity to a Basket entity. If these properties do not exist, an exception will be thrown if an attempt to execute a CommerceCopyRelatedItem<CreditCard> (PaymentAccount) to copy credit card information from a UserProfile entity to the Payment of a Basket entity. These replace the GeneralInfo.expiration_date property of the CS2007 CreditCard profile schema. |
TargetingContext
Property |
Type |
Description |
---|---|---|
Channel |
String |
Required to create marketing content that is targeted to a specific Commerce Server 2009 sales channel. |
User_locale |
String |
Required to create marketing content that is targeted to the locale of a shopper. |
User_ui_locale |
String |
Required to create a marketing context that is targeted to the UI locale of a shopper. |
StoreObject
This new profile is required for all operations targeting a StoreProfile entity.
Property |
Type |
Description |
---|---|---|
GeneralInfo.store_id |
String, PRIMARYJOIN key |
Required as the unique Id of the store. |
GeneralInfo.store_name |
String, required, UNIQUE key |
Required to support integration with Virtual Earth. Holds the name of the store. If this field does not exist, any attempts to upload stores to Virtual Earth and search for nearby stores will throw an exception. |
GeneralInfo.preferred_address |
String |
List of applicable addresses for the Store. This reflects the store information in different languages. |
GeneralInfo.address_list |
Profile, references Profile Definitions.Address, multi-valued |
List of applicable addresses for the store. This reflects the store information in different languages. |
GeneralInfo.store_latitude |
String |
Holds the latitude of the store if available. |
GeneralInfo..store_longitude |
String |
Holds the longitude of the store if available. |
ProfileSystem.date_created |
DateTime? |
Required to support access by Customer and Orders Manager business tool. |
ProfileSystem.date_last_changed |
DateTime? |
Required to support access by Customer and Orders Manager business tool. |
ProfileSystem.user_id_changed_by |
String |
Required to support access by Customer and Orders Manager business tool. |
Marketing System Objects
This section detail the schema changes implemented to the Marketing System in Commerce Server 2009.
VirtualEarthConfig
This profile is required for all operations targeting a VENearbyStore or VEClientToken entity.
Property |
Type |
Description |
---|---|---|
GeneralInfo.config_id |
Number, PRIMARYJOIN key |
Required as Entity primary key. |
GeneralInfo.account_id |
String |
Required as part of user's Virtual Earth account credentials. If this field does not exist, an exception will be thrown in any attempt to perform a nearby store query or getting Virtual Earth token. |
GeneralInfo.password |
String, Asymmetric encryption |
Required to support Virtual Earth integration. This fieled holds the password value of user's Virtual Earth account credentials. If this field does not exist, an exception will be thrown in any attempt to perform a nearby store query or getting virtual earth token. |
GeneralInfo.data_source_name |
String |
Required to support Virtual Earth integration. This field holds the data source name of user's Virtual Earth account. If this field does not exist, an exception will be thrown in any attempt to perform a nearby store query or getting virtual earth token. |
GeneralInfo.ve_token_staging_url |
String, required |
Required to support Virtual Earth integration. Holds a URL to Staging version of map point API. If this field does not exist, an exception will be thrown in any attempt for getting virtual earth token. |
GeneralInfo.ve_token_production_url |
String, required |
Required to support Virtual Earth integration. Holds a URL to production version of map point API. If this field does not exist, an exception will be thrown in any attempt to perform a near by store search. |
GeneralInfo.mp_find_staging_url |
String, required |
Required to support Virtual Earth integration. Holds a URL to Staging version of map point API. If this field does not exist, an exception will be thrown in any attempt to perform a near by store search. |
GeneralInfo.mp_find_production_url |
String, required |
Required to support Virtual Earth integration. Holds a URL to production version of map point API. If this field does not exist, an exception will be thrown in any attempt to perform a near by store search. |
ProfileSystem.KeyIndex |
Number |
Required to support access from Customer and Order manager tool. |
ProfileSystem.user_id_changed_by |
String |
Required to support access from Customer and Order manager tool. |
ProfileSystem.date_last_changed |
DateTime? |
Required to support access from Customer and Order manager tool. |
ProfileSystem.date_created |
DateTime? |
Required to support access from Customer and Order manager tool. |
Profiles System SQL
This section describes the SQL changes implemented for the schema changes to the Profiles System in Commerce Server 2009.
Modified Tables
[dbo].[UserObject]
Added columns:
[u_live_id] [nvarchar] (50) NULL
[u_live_id_make_unique] AS case when u_live_id is null then u_user_id else null end
[u_preferred_shipping_method] [nvarchar] (50) NULL
[u_default_shopper_list] [nvarchar] (50) NULL
Added index:
- UNIQUE NONCLUSTERED INDEX [Idx_UserObject_liveid] ON [dbo].[UserObject]([u_live_id], [u_live_id_make_unique]) ON [PRIMARY]
[dbo].[CreditCards]
Added columns:
[i_expiration_month] [int] NOT NULL
[i_expiration_year] [int] NOT NULL
Removed columns:
- [u_expiration_date] [nvarchar] (12) NOT NULL
Added Tables
[dbo].[StoreObject]
Columns:
[u_store_id] [nvarchar](50) NOT NULL
[u_store_name] [nvarchar](100) NOT NULL
[u_preferred_address] [nvarchar](50) NULL
[u_addresses] [nvarchar](500) NULL
[u_latitude] [nvarchar](20) NULL
[u_longitude] [nvarchar](20) NULL
[u_user_id_changed_by] [nvarchar](50) NULL
[dt_date_last_changed] [datetime] NULL DEFAULT GETDATE()
[dt_date_created] [datetime] NULL DEFAULT GETDATE()
Indexes:
CONSTRAINT [PK_StoreObject] PRIMARY KEY CLUSTERED ( [u_store_id] ) ON [PRIMARY]
UNIQUE NONCLUSTERED INDEX [Idx_StoreObject_name] ON [dbo].[StoreObject]([u_store_name]) ON [PRIMARY]
NONCLUSTERED INDEX [Idx_StoreObject_datecreated] ON [dbo].[StoreObject]([dt_date_created]) ON [PRIMARY]
NONCLUSTERED INDEX [Idx_StoreObject_datelastchanged] ON [dbo].[StoreObject]([dt_date_last_changed]) ON [PRIMARY]
[dbo].[VirtualEarthConfig]
Columns:
[i_config_id] [int] NOT NULL
[u_account_id] [nvarchar](50) NULL
[u_password] [nvarchar](512) NULL
[u_data_source_name] [nvarchar](255) NULL
[u_ve_token_staging_url] [nvarchar](255) NOT NULL
[u_ve_token_production_url] [nvarchar](255) NOT NULL
[u_mp_find_staging_url] [nvarchar](255) NOT NULL
[u_mp_find_production_url] [nvarchar](255) NOT NULL
[i_keyindex] [int] NULL
[u_user_id_changed_by] [nvarchar](50) NULL
[dt_date_last_changed] [datetime] NULL
[dt_date_created] [datetime] NULL
Indexes:
CONSTRAINT [PK_VirtualEarthConfig] PRIMARY KEY CLUSTERED ( [i_config_id] ) ON [PRIMARY]
NONCLUSTERED INDEX [Idx_VirtualEarthConfig_datecreated] ON [dbo].[VirtualEarthConfig]([dt_date_created]) ON [PRIMARY]
NONCLUSTERED INDEX [Idx_VirtualEarthConfig_datelastchanged] ON [dbo].[VirtualEarthConfig]([dt_date_last_changed]) ON [PRIMARY]