-- Graham O'Neale -- Custom Software Updater Database Script v1.0 -- http://goneale.com/2009/08/18/rolling-out-a-custom-software-updater-for-win-forms-wpf/ -- 20090922 23:21 -- ****************** -- REPLACE ME! CREATE DATABASE [test2] GO USE [test2] GO -- ****************** /****** Object: Table [dbo].[Status] Script Date: 09/22/2009 23:20:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Status]( [ID] [int] IDENTITY(1,1) NOT NULL, [Name] [varchar](50) NULL, [UpdatedAt] [datetime] NULL, [CreatedAt] [datetime] NOT NULL, CONSTRAINT [PK_Status] PRIMARY KEY CLUSTERED ( [ID] 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 SET IDENTITY_INSERT [dbo].[Status] ON INSERT [dbo].[Status] ([ID], [Name], [UpdatedAt], [CreatedAt]) VALUES (1, N'Active', NULL, CAST(0x00009C8C014485D5 AS DateTime)) INSERT [dbo].[Status] ([ID], [Name], [UpdatedAt], [CreatedAt]) VALUES (2, N'Inactive', NULL, CAST(0x00009C8C0144887D AS DateTime)) SET IDENTITY_INSERT [dbo].[Status] OFF /****** Object: Table [dbo].[Application] Script Date: 09/22/2009 23:20:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[Application]( [ID] [int] IDENTITY(1,1) NOT NULL, [StatusID] [int] NOT NULL, [Name] [varchar](255) NOT NULL, [Description] [varchar](max) NULL, [UpdatedAt] [datetime] NULL, [CreatedAt] [datetime] NOT NULL, CONSTRAINT [PK_Application] PRIMARY KEY CLUSTERED ( [ID] 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 SET IDENTITY_INSERT [dbo].[Application] ON INSERT [dbo].[Application] ([ID], [StatusID], [Name], [Description], [UpdatedAt], [CreatedAt]) VALUES (1, 1, N'My Application', N'Test', NULL, CAST(0x00009C8C01448C61 AS DateTime)) SET IDENTITY_INSERT [dbo].[Application] OFF /****** Object: Table [dbo].[ApplicationVersion] Script Date: 09/22/2009 23:20:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[ApplicationVersion]( [ID] [int] IDENTITY(1,1) NOT NULL, [StatusID] [int] NOT NULL, [ApplicationID] [int] NOT NULL, [Version] [varchar](50) NULL, [Obsolete] [bit] NOT NULL, [UpdatedAt] [datetime] NULL, [CreatedAt] [datetime] NOT NULL, CONSTRAINT [PK_ApplicationVersion] PRIMARY KEY CLUSTERED ( [ID] 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 SET IDENTITY_INSERT [dbo].[ApplicationVersion] ON INSERT [dbo].[ApplicationVersion] ([ID], [StatusID], [ApplicationID], [Version], [Obsolete], [UpdatedAt], [CreatedAt]) VALUES (1, 1, 1, N'1.0.0.0', 1, NULL, CAST(0x00009C8C0145459F AS DateTime)) INSERT [dbo].[ApplicationVersion] ([ID], [StatusID], [ApplicationID], [Version], [Obsolete], [UpdatedAt], [CreatedAt]) VALUES (2, 1, 1, N'1.0.0.1', 0, NULL, CAST(0x00009C8C014555DC AS DateTime)) SET IDENTITY_INSERT [dbo].[ApplicationVersion] OFF /****** Object: Table [dbo].[ApplicationUpdate] Script Date: 09/22/2009 23:20:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[ApplicationUpdate]( [ID] [int] IDENTITY(1,1) NOT NULL, [StatusID] [int] NOT NULL, [ApplicationVersionID] [int] NOT NULL, [RollbackApplicationUpdateID] [int] NULL, [Title] [varchar](255) NULL, [Description] [varchar](max) NULL, [Compulsory] [bit] NOT NULL, [UpdatedAt] [datetime] NULL, [CreatedAt] [datetime] NOT NULL, CONSTRAINT [PK_ApplicationUpdate] PRIMARY KEY CLUSTERED ( [ID] 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 SET IDENTITY_INSERT [dbo].[ApplicationUpdate] ON INSERT [dbo].[ApplicationUpdate] ([ID], [StatusID], [ApplicationVersionID], [RollbackApplicationUpdateID], [Title], [Description], [Compulsory], [UpdatedAt], [CreatedAt]) VALUES (1, 1, 2, NULL, N'New update', N'Testing updater.', 0, NULL, CAST(0x00009C8C01457D83 AS DateTime)) SET IDENTITY_INSERT [dbo].[ApplicationUpdate] OFF /****** Object: Table [dbo].[ApplicationUpdateFile] Script Date: 09/22/2009 23:20:55 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[ApplicationUpdateFile]( [ID] [int] IDENTITY(1,1) NOT NULL, [StatusID] [int] NOT NULL, [ApplicationUpdateID] [int] NOT NULL, [Filename] [varchar](255) NULL, [Location] [varchar](max) NOT NULL, [FileSizeInBytes] [int] NOT NULL, [UpdatedAt] [datetime] NULL, [CreatedAt] [datetime] NOT NULL, CONSTRAINT [PK_ApplicationUpdateFile] PRIMARY KEY CLUSTERED ( [ID] 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 SET IDENTITY_INSERT [dbo].[ApplicationUpdateFile] ON INSERT [dbo].[ApplicationUpdateFile] ([ID], [StatusID], [ApplicationUpdateID], [Filename], [Location], [FileSizeInBytes], [UpdatedAt], [CreatedAt]) VALUES (1, 1, 1, N'iview425_setup.exe', N'http://www.filehippo.com/download/file/b09e8f3cf1f0fd34692794b521fe59a739ed05e5cc42b12955fcee6d260917c8/', 1345024, NULL, CAST(0x00009C8C0145B2DA AS DateTime)) SET IDENTITY_INSERT [dbo].[ApplicationUpdateFile] OFF /****** Object: Default [DF_Application_StatusID] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[Application] ADD CONSTRAINT [DF_Application_StatusID] DEFAULT ((1)) FOR [StatusID] GO /****** Object: Default [DF_Application_CreatedAt] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[Application] ADD CONSTRAINT [DF_Application_CreatedAt] DEFAULT (getdate()) FOR [CreatedAt] GO /****** Object: Default [DF_ApplicationUpdate_StatusID] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] ADD CONSTRAINT [DF_ApplicationUpdate_StatusID] DEFAULT ((1)) FOR [StatusID] GO /****** Object: Default [DF_ApplicationUpdate_Compulsory] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] ADD CONSTRAINT [DF_ApplicationUpdate_Compulsory] DEFAULT ((1)) FOR [Compulsory] GO /****** Object: Default [DF_ApplicationUpdate_CreatedAt] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] ADD CONSTRAINT [DF_ApplicationUpdate_CreatedAt] DEFAULT (getdate()) FOR [CreatedAt] GO /****** Object: Default [DF_ApplicationUpdateFile_StatusID] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdateFile] ADD CONSTRAINT [DF_ApplicationUpdateFile_StatusID] DEFAULT ((1)) FOR [StatusID] GO /****** Object: Default [DF_Table_1_Compulsory] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdateFile] ADD CONSTRAINT [DF_Table_1_Compulsory] DEFAULT ((0)) FOR [FileSizeInBytes] GO /****** Object: Default [DF_ApplicationUpdateFile_CreatedAt] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdateFile] ADD CONSTRAINT [DF_ApplicationUpdateFile_CreatedAt] DEFAULT (getdate()) FOR [CreatedAt] GO /****** Object: Default [DF_ApplicationVersion_StatusID] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] ADD CONSTRAINT [DF_ApplicationVersion_StatusID] DEFAULT ((1)) FOR [StatusID] GO /****** Object: Default [DF_ApplicationVersion_Version] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] ADD CONSTRAINT [DF_ApplicationVersion_Version] DEFAULT ('1.0.0.0') FOR [Version] GO /****** Object: Default [DF_ApplicationVersion_Obsolete] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] ADD CONSTRAINT [DF_ApplicationVersion_Obsolete] DEFAULT ((0)) FOR [Obsolete] GO /****** Object: Default [DF_ApplicationVersion_CreatedAt] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] ADD CONSTRAINT [DF_ApplicationVersion_CreatedAt] DEFAULT (getdate()) FOR [CreatedAt] GO /****** Object: Default [DF_Status_CreatedAt] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[Status] ADD CONSTRAINT [DF_Status_CreatedAt] DEFAULT (getdate()) FOR [CreatedAt] GO /****** Object: ForeignKey [FK_Application_Status] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[Application] WITH CHECK ADD CONSTRAINT [FK_Application_Status] FOREIGN KEY([StatusID]) REFERENCES [dbo].[Status] ([ID]) GO ALTER TABLE [dbo].[Application] CHECK CONSTRAINT [FK_Application_Status] GO /****** Object: ForeignKey [FK_ApplicationUpdate_ApplicationUpdate] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] WITH CHECK ADD CONSTRAINT [FK_ApplicationUpdate_ApplicationUpdate] FOREIGN KEY([RollbackApplicationUpdateID]) REFERENCES [dbo].[ApplicationUpdate] ([ID]) GO ALTER TABLE [dbo].[ApplicationUpdate] CHECK CONSTRAINT [FK_ApplicationUpdate_ApplicationUpdate] GO /****** Object: ForeignKey [FK_ApplicationUpdate_ApplicationVersion] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] WITH CHECK ADD CONSTRAINT [FK_ApplicationUpdate_ApplicationVersion] FOREIGN KEY([ApplicationVersionID]) REFERENCES [dbo].[ApplicationVersion] ([ID]) GO ALTER TABLE [dbo].[ApplicationUpdate] CHECK CONSTRAINT [FK_ApplicationUpdate_ApplicationVersion] GO /****** Object: ForeignKey [FK_ApplicationUpdate_Status] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdate] WITH CHECK ADD CONSTRAINT [FK_ApplicationUpdate_Status] FOREIGN KEY([StatusID]) REFERENCES [dbo].[Status] ([ID]) GO ALTER TABLE [dbo].[ApplicationUpdate] CHECK CONSTRAINT [FK_ApplicationUpdate_Status] GO /****** Object: ForeignKey [FK_ApplicationUpdateFile_ApplicationUpdate] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdateFile] WITH CHECK ADD CONSTRAINT [FK_ApplicationUpdateFile_ApplicationUpdate] FOREIGN KEY([ApplicationUpdateID]) REFERENCES [dbo].[ApplicationUpdate] ([ID]) GO ALTER TABLE [dbo].[ApplicationUpdateFile] CHECK CONSTRAINT [FK_ApplicationUpdateFile_ApplicationUpdate] GO /****** Object: ForeignKey [FK_ApplicationUpdateFile_Status] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationUpdateFile] WITH CHECK ADD CONSTRAINT [FK_ApplicationUpdateFile_Status] FOREIGN KEY([StatusID]) REFERENCES [dbo].[Status] ([ID]) GO ALTER TABLE [dbo].[ApplicationUpdateFile] CHECK CONSTRAINT [FK_ApplicationUpdateFile_Status] GO /****** Object: ForeignKey [FK_ApplicationVersion_Application] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] WITH CHECK ADD CONSTRAINT [FK_ApplicationVersion_Application] FOREIGN KEY([ApplicationID]) REFERENCES [dbo].[Application] ([ID]) GO ALTER TABLE [dbo].[ApplicationVersion] CHECK CONSTRAINT [FK_ApplicationVersion_Application] GO /****** Object: ForeignKey [FK_ApplicationVersion_Status] Script Date: 09/22/2009 23:20:55 ******/ ALTER TABLE [dbo].[ApplicationVersion] WITH CHECK ADD CONSTRAINT [FK_ApplicationVersion_Status] FOREIGN KEY([StatusID]) REFERENCES [dbo].[Status] ([ID]) GO ALTER TABLE [dbo].[ApplicationVersion] CHECK CONSTRAINT [FK_ApplicationVersion_Status] GO