2013-01-10 45 views
1

我知道SimpleMembership会自动创建认证所需的表,但我宁愿在某些时候运行sql脚本,而不是运行应用程序。是否有SimpleMembership脚本的下载页面?SimpleMembership Sql脚本

+0

怎么样[包括它们与您的上下文(http://blog.spontaneouspublicity.com/including-asp-net-simple-membership-tables-as-part-你的实体框架模型)(然后你可以调用'update-database ... -script') –

回答

1

我发现了一个script on github

CREATE TABLE [dbo].[UserProfile] (
    [UserId] INT   IDENTITY (1, 1) NOT NULL, 
    [UserName] NVARCHAR (MAX) NULL, 
    PRIMARY KEY CLUSTERED ([UserId] ASC) 
); 

CREATE TABLE [dbo].[webpages_Membership] (
    [UserId]         INT   NOT NULL, 
    [CreateDate]        DATETIME  NULL, 
    [ConfirmationToken]      NVARCHAR (128) NULL, 
    [IsConfirmed]        BIT   DEFAULT ((0)) NULL, 
    [LastPasswordFailureDate]     DATETIME  NULL, 
    [PasswordFailuresSinceLastSuccess]  INT   DEFAULT ((0)) NOT NULL, 
    [Password]        NVARCHAR (128) NOT NULL, 
    [PasswordChangedDate]      DATETIME  NULL, 
    [PasswordSalt]       NVARCHAR (128) NOT NULL, 
    [PasswordVerificationToken]    NVARCHAR (128) NULL, 
    [PasswordVerificationTokenExpirationDate] DATETIME  NULL, 
    PRIMARY KEY CLUSTERED ([UserId] ASC) 
); 


CREATE TABLE [dbo].[webpages_OAuthMembership] (
    [Provider]  NVARCHAR (30) NOT NULL, 
    [ProviderUserId] NVARCHAR (100) NOT NULL, 
    [UserId]   INT   NOT NULL, 
    PRIMARY KEY CLUSTERED ([Provider] ASC, [ProviderUserId] ASC) 
); 

CREATE TABLE [dbo].[webpages_Roles] (
    [RoleId] INT   IDENTITY (1, 1) NOT NULL, 
    [RoleName] NVARCHAR (256) NOT NULL, 
    PRIMARY KEY CLUSTERED ([RoleId] ASC), 
    UNIQUE NONCLUSTERED ([RoleName] ASC) 
); 

CREATE TABLE [dbo].[webpages_UsersInRoles] (
    [UserId] INT NOT NULL, 
    [RoleId] INT NOT NULL, 
    PRIMARY KEY CLUSTERED ([UserId] ASC, [RoleId] ASC), 
    CONSTRAINT [fk_UserId] FOREIGN KEY ([UserId]) REFERENCES [dbo].[UserProfile] ([UserId]), 
    CONSTRAINT [fk_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [dbo].[webpages_Roles] ([RoleId]) 
);