47 lines
1.4 KiB
SQL
47 lines
1.4 KiB
SQL
|
|
create table [Directory] (
|
|
[FullPath] nvarchar(250) not null,
|
|
[Parent] nvarchar(250),
|
|
constraint [PK_Directory] primary key clustered ([FullPath])
|
|
)
|
|
|
|
create table [File] (
|
|
[Name] nvarchar(200) not null,
|
|
[Directory] nvarchar(250) not null
|
|
constraint [FK_File_Directory] references [Directory]([FullPath])
|
|
on delete cascade on update cascade,
|
|
[Size] bigint not null,
|
|
[Downloads] int not null,
|
|
[LastModified] datetime not null,
|
|
[Data] varbinary(max) not null,
|
|
constraint [PK_File] primary key clustered ([Name], [Directory])
|
|
)
|
|
|
|
create table [Attachment] (
|
|
[Name] nvarchar(200) not null,
|
|
[Page] nvarchar(200) not null,
|
|
[Size] bigint not null,
|
|
[Downloads] int not null,
|
|
[LastModified] datetime not null,
|
|
[Data] varbinary(max) not null,
|
|
constraint[PK_Attachment] primary key clustered ([Name], [Page])
|
|
)
|
|
|
|
if (select count(*) from sys.tables where [Name] = 'Version') = 0
|
|
begin
|
|
create table [Version] (
|
|
[Component] varchar(100) not null,
|
|
[Version] int not null,
|
|
constraint [PK_Version] primary key clustered ([Component])
|
|
)
|
|
end
|
|
|
|
if (select count([Version]) from [Version] where [Component] = 'Files') = 0
|
|
begin
|
|
insert into [Version] ([Component], [Version]) values ('Files', 3000)
|
|
end
|
|
|
|
if (select count([FullPath]) from [Directory] where [FullPath] = '/') = 0
|
|
begin
|
|
insert into [Directory] ([FullPath], [Parent]) values ('/', NULL)
|
|
end
|