到目前为止,我们还未涉及任何数据库的配置工作。本章节将简单介绍基于Apworks的应用程序的数据库配置。在SQL Server中(目前的Apworks版本仅支持SQL Server)创建两个数据库:TinyLibraryEventDB和TinyLibraryQueryDB,然后分别执行如下SQL脚本:
- TinyLibraryEventDB
USE TinyLibraryEventDB;/****** Object: Table [dbo].[DomainEvents] Script Date: 12/24/2010 20:27:20 ******/'U'))TABLE [dbo].[DomainEvents]GO/****** Object: Table [dbo].[Snapshots] Script Date: 12/24/2010 20:27:20 ******/'U'))TABLE [dbo].[Snapshots]GO/****** Object: Table [dbo].[Snapshots] Script Date: 12/24/2010 20:27:20 ******/ONGOONGO'U'))BEGINTABLE [dbo].[Snapshots](NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CLUSTERED27: (ASCON)30: )ENDGO/****** Object: Table [dbo].[DomainEvents] Script Date: 12/24/2010 20:27:20 ******/ONGOONGO'U'))BEGINTABLE [dbo].[DomainEvents](NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CLUSTERED50: (ASCON)53: )END55: GO - TinyLibraryQueryDB
USE TinyLibraryQueryDB;/****** Object: Table [dbo].[Books] Script Date: 12/14/2010 14:12:31 ******/'U'))TABLE [dbo].[Books]GO/****** Object: Table [dbo].[Readers] Script Date: 12/14/2010 14:12:31 ******/'U'))TABLE [dbo].[Readers]GO/****** Object: Table [dbo].[Registrations] Script Date: 12/14/2010 14:12:31 ******/'U'))TABLE [dbo].[Registrations]GO/****** Object: Table [dbo].[Registrations] Script Date: 12/14/2010 14:12:31 ******/ONGOONGO'U'))BEGINTABLE [dbo].[Registrations](NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CLUSTERED37: (ASCON)40: )ENDGO/****** Object: Table [dbo].[Readers] Script Date: 12/14/2010 14:12:31 ******/ONGOONGO'U'))BEGINTABLE [dbo].[Readers](NULL,NULL,NULL,NULL,CLUSTERED56: (ASCON)59: )ENDGO/****** Object: Table [dbo].[Books] Script Date: 12/14/2010 14:12:31 ******/ONGOONGO'U'))BEGINTABLE [dbo].[Books](NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,CLUSTERED80: (ASCON)83: )END85: GO
由于我们所使用的数据库系统是SQL Server,对于上面的TinyLibraryEventDB而言,它就是直接使用的Apworks应用开发框架中自带的SQL脚本。开发人员可以在Apworks的安装目录中找到该脚本文件。
就关系型数据库而言,我们需要一个额外的步骤去维护对象与数据表的映射关系。Apworks采用的是XML Storage Mapping Schema来维护这样的关系。
- 向TinyLibrary.Services项目添加一个新的XML文件,将其更名为DomainEventStorageMappings.xml,然后输入下面的内容
>>>>>/>>>>>/>>>>> - 向TinyLibrary.Services项目添加一个新的XML文件,将其更名为QueryObjectStorageMappings.xml,然后输入下面的内容
>>>>>/>>>>>/>>>>>/>/>/>>>>>
以下是这些XML文件的XSD结构,这个XSD Schema也被包含在Apworks应用开发框架的安装目录中。
>
<!-- edited with XMLSpy v2009 (http://www.altova.com) by Administrator (EMBRACE) -->
>
>
>
>
>
>
>
/>
>
>
>
>
>
>
/>
>
>
>
>
>
>
/>
>
/>
/>
>
>
>
>
>
/>
>
>
>
>
>
/>
/>
/>
/>
>
>
>