IF COL_LENGTH('[dbo].[User]', 'ReferenceId') IS NOT NULL BEGIN ALTER TABLE [dbo].[User] DROP COLUMN [ReferenceId]; END GO IF COL_LENGTH('[dbo].[Organization]', 'ReferenceId') IS NOT NULL BEGIN ALTER TABLE [dbo].[Organization] DROP COLUMN [ReferenceId]; END GO IF COL_LENGTH('[dbo].[User]', 'ReferenceData') IS NULL BEGIN ALTER TABLE [dbo].[User] ADD [ReferenceData] NVARCHAR (MAX) NULL; END GO IF COL_LENGTH('[dbo].[Organization]', 'ReferenceData') IS NULL BEGIN ALTER TABLE [dbo].[Organization] ADD [ReferenceData] NVARCHAR (MAX) NULL; END GO IF EXISTS(SELECT * FROM sys.views WHERE [Name] = 'UserView') BEGIN DROP VIEW [dbo].[UserView]; END GO CREATE VIEW [dbo].[UserView] AS SELECT * FROM [dbo].[User] GO IF EXISTS(SELECT * FROM sys.views WHERE [Name] = 'OrganizationView') BEGIN DROP VIEW [dbo].[OrganizationView]; END GO CREATE VIEW [dbo].[OrganizationView] AS SELECT * FROM [dbo].[Organization] GO IF OBJECT_ID('[dbo].[User_Create]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[User_Create] END GO CREATE PROCEDURE [dbo].[User_Create] @Id UNIQUEIDENTIFIER, @Name NVARCHAR(50), @Email NVARCHAR(50), @EmailVerified BIT, @MasterPassword NVARCHAR(300), @MasterPasswordHint NVARCHAR(50), @Culture NVARCHAR(10), @SecurityStamp NVARCHAR(50), @TwoFactorProviders NVARCHAR(MAX), @TwoFactorRecoveryCode NVARCHAR(32), @EquivalentDomains NVARCHAR(MAX), @ExcludedGlobalEquivalentDomains NVARCHAR(MAX), @AccountRevisionDate DATETIME2(7), @Key NVARCHAR(MAX), @PublicKey NVARCHAR(MAX), @PrivateKey NVARCHAR(MAX), @Premium BIT, @PremiumExpirationDate DATETIME2(7), @RenewalReminderDate DATETIME2(7), @Storage BIGINT, @MaxStorageGb SMALLINT, @Gateway TINYINT, @GatewayCustomerId VARCHAR(50), @GatewaySubscriptionId VARCHAR(50), @ReferenceData VARCHAR(MAX), @LicenseKey VARCHAR(100), @Kdf TINYINT, @KdfIterations INT, @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS BEGIN SET NOCOUNT ON INSERT INTO [dbo].[User] ( [Id], [Name], [Email], [EmailVerified], [MasterPassword], [MasterPasswordHint], [Culture], [SecurityStamp], [TwoFactorProviders], [TwoFactorRecoveryCode], [EquivalentDomains], [ExcludedGlobalEquivalentDomains], [AccountRevisionDate], [Key], [PublicKey], [PrivateKey], [Premium], [PremiumExpirationDate], [RenewalReminderDate], [Storage], [MaxStorageGb], [Gateway], [GatewayCustomerId], [GatewaySubscriptionId], [ReferenceData], [LicenseKey], [Kdf], [KdfIterations], [CreationDate], [RevisionDate] ) VALUES ( @Id, @Name, @Email, @EmailVerified, @MasterPassword, @MasterPasswordHint, @Culture, @SecurityStamp, @TwoFactorProviders, @TwoFactorRecoveryCode, @EquivalentDomains, @ExcludedGlobalEquivalentDomains, @AccountRevisionDate, @Key, @PublicKey, @PrivateKey, @Premium, @PremiumExpirationDate, @RenewalReminderDate, @Storage, @MaxStorageGb, @Gateway, @GatewayCustomerId, @GatewaySubscriptionId, @ReferenceData, @LicenseKey, @Kdf, @KdfIterations, @CreationDate, @RevisionDate ) END GO IF OBJECT_ID('[dbo].[User_Update]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[User_Update] END GO CREATE PROCEDURE [dbo].[User_Update] @Id UNIQUEIDENTIFIER, @Name NVARCHAR(50), @Email NVARCHAR(50), @EmailVerified BIT, @MasterPassword NVARCHAR(300), @MasterPasswordHint NVARCHAR(50), @Culture NVARCHAR(10), @SecurityStamp NVARCHAR(50), @TwoFactorProviders NVARCHAR(MAX), @TwoFactorRecoveryCode NVARCHAR(32), @EquivalentDomains NVARCHAR(MAX), @ExcludedGlobalEquivalentDomains NVARCHAR(MAX), @AccountRevisionDate DATETIME2(7), @Key NVARCHAR(MAX), @PublicKey NVARCHAR(MAX), @PrivateKey NVARCHAR(MAX), @Premium BIT, @PremiumExpirationDate DATETIME2(7), @RenewalReminderDate DATETIME2(7), @Storage BIGINT, @MaxStorageGb SMALLINT, @Gateway TINYINT, @GatewayCustomerId VARCHAR(50), @GatewaySubscriptionId VARCHAR(50), @ReferenceData VARCHAR(MAX), @LicenseKey VARCHAR(100), @Kdf TINYINT, @KdfIterations INT, @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS BEGIN SET NOCOUNT ON UPDATE [dbo].[User] SET [Name] = @Name, [Email] = @Email, [EmailVerified] = @EmailVerified, [MasterPassword] = @MasterPassword, [MasterPasswordHint] = @MasterPasswordHint, [Culture] = @Culture, [SecurityStamp] = @SecurityStamp, [TwoFactorProviders] = @TwoFactorProviders, [TwoFactorRecoveryCode] = @TwoFactorRecoveryCode, [EquivalentDomains] = @EquivalentDomains, [ExcludedGlobalEquivalentDomains] = @ExcludedGlobalEquivalentDomains, [AccountRevisionDate] = @AccountRevisionDate, [Key] = @Key, [PublicKey] = @PublicKey, [PrivateKey] = @PrivateKey, [Premium] = @Premium, [PremiumExpirationDate] = @PremiumExpirationDate, [RenewalReminderDate] = @RenewalReminderDate, [Storage] = @Storage, [MaxStorageGb] = @MaxStorageGb, [Gateway] = @Gateway, [GatewayCustomerId] = @GatewayCustomerId, [GatewaySubscriptionId] = @GatewaySubscriptionId, [ReferenceData] = @ReferenceData, [LicenseKey] = @LicenseKey, [Kdf] = @Kdf, [KdfIterations] = @KdfIterations, [CreationDate] = @CreationDate, [RevisionDate] = @RevisionDate WHERE [Id] = @Id END GO IF OBJECT_ID('[dbo].[Organization_Create]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[Organization_Create] END GO CREATE PROCEDURE [dbo].[Organization_Create] @Id UNIQUEIDENTIFIER, @Identifier NVARCHAR(50), @Name NVARCHAR(50), @BusinessName NVARCHAR(50), @BusinessAddress1 NVARCHAR(50), @BusinessAddress2 NVARCHAR(50), @BusinessAddress3 NVARCHAR(50), @BusinessCountry VARCHAR(2), @BusinessTaxNumber NVARCHAR(30), @BillingEmail NVARCHAR(50), @Plan NVARCHAR(50), @PlanType TINYINT, @Seats SMALLINT, @MaxCollections SMALLINT, @UsePolicies BIT, @UseGroups BIT, @UseDirectory BIT, @UseEvents BIT, @UseTotp BIT, @Use2fa BIT, @UseApi BIT, @SelfHost BIT, @UsersGetPremium BIT, @Storage BIGINT, @MaxStorageGb SMALLINT, @Gateway TINYINT, @GatewayCustomerId VARCHAR(50), @GatewaySubscriptionId VARCHAR(50), @ReferenceData VARCHAR(MAX), @Enabled BIT, @LicenseKey VARCHAR(100), @ApiKey VARCHAR(30), @TwoFactorProviders NVARCHAR(MAX), @ExpirationDate DATETIME2(7), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS BEGIN SET NOCOUNT ON INSERT INTO [dbo].[Organization] ( [Id], [Identifier], [Name], [BusinessName], [BusinessAddress1], [BusinessAddress2], [BusinessAddress3], [BusinessCountry], [BusinessTaxNumber], [BillingEmail], [Plan], [PlanType], [Seats], [MaxCollections], [UsePolicies], [UseGroups], [UseDirectory], [UseEvents], [UseTotp], [Use2fa], [UseApi], [SelfHost], [UsersGetPremium], [Storage], [MaxStorageGb], [Gateway], [GatewayCustomerId], [GatewaySubscriptionId], [ReferenceData], [Enabled], [LicenseKey], [ApiKey], [TwoFactorProviders], [ExpirationDate], [CreationDate], [RevisionDate] ) VALUES ( @Id, @Identifier, @Name, @BusinessName, @BusinessAddress1, @BusinessAddress2, @BusinessAddress3, @BusinessCountry, @BusinessTaxNumber, @BillingEmail, @Plan, @PlanType, @Seats, @MaxCollections, @UsePolicies, @UseGroups, @UseDirectory, @UseEvents, @UseTotp, @Use2fa, @UseApi, @SelfHost, @UsersGetPremium, @Storage, @MaxStorageGb, @Gateway, @GatewayCustomerId, @GatewaySubscriptionId, @ReferenceData, @Enabled, @LicenseKey, @ApiKey, @TwoFactorProviders, @ExpirationDate, @CreationDate, @RevisionDate ) END GO IF OBJECT_ID('[dbo].[Organization_Update]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[Organization_Update] END GO CREATE PROCEDURE [dbo].[Organization_Update] @Id UNIQUEIDENTIFIER, @Identifier NVARCHAR(50), @Name NVARCHAR(50), @BusinessName NVARCHAR(50), @BusinessAddress1 NVARCHAR(50), @BusinessAddress2 NVARCHAR(50), @BusinessAddress3 NVARCHAR(50), @BusinessCountry VARCHAR(2), @BusinessTaxNumber NVARCHAR(30), @BillingEmail NVARCHAR(50), @Plan NVARCHAR(50), @PlanType TINYINT, @Seats SMALLINT, @MaxCollections SMALLINT, @UsePolicies BIT, @UseGroups BIT, @UseDirectory BIT, @UseEvents BIT, @UseTotp BIT, @Use2fa BIT, @UseApi BIT, @SelfHost BIT, @UsersGetPremium BIT, @Storage BIGINT, @MaxStorageGb SMALLINT, @Gateway TINYINT, @GatewayCustomerId VARCHAR(50), @GatewaySubscriptionId VARCHAR(50), @ReferenceData VARCHAR(MAX), @Enabled BIT, @LicenseKey VARCHAR(100), @ApiKey VARCHAR(30), @TwoFactorProviders NVARCHAR(MAX), @ExpirationDate DATETIME2(7), @CreationDate DATETIME2(7), @RevisionDate DATETIME2(7) AS BEGIN SET NOCOUNT ON UPDATE [dbo].[Organization] SET [Identifier] = @Identifier, [Name] = @Name, [BusinessName] = @BusinessName, [BusinessAddress1] = @BusinessAddress1, [BusinessAddress2] = @BusinessAddress2, [BusinessAddress3] = @BusinessAddress3, [BusinessCountry] = @BusinessCountry, [BusinessTaxNumber] = @BusinessTaxNumber, [BillingEmail] = @BillingEmail, [Plan] = @Plan, [PlanType] = @PlanType, [Seats] = @Seats, [MaxCollections] = @MaxCollections, [UsePolicies] = @UsePolicies, [UseGroups] = @UseGroups, [UseDirectory] = @UseDirectory, [UseEvents] = @UseEvents, [UseTotp] = @UseTotp, [Use2fa] = @Use2fa, [UseApi] = @UseApi, [SelfHost] = @SelfHost, [UsersGetPremium] = @UsersGetPremium, [Storage] = @Storage, [MaxStorageGb] = @MaxStorageGb, [Gateway] = @Gateway, [GatewayCustomerId] = @GatewayCustomerId, [GatewaySubscriptionId] = @GatewaySubscriptionId, [ReferenceData] = @ReferenceData, [Enabled] = @Enabled, [LicenseKey] = @LicenseKey, [ApiKey] = @ApiKey, [TwoFactorProviders] = @TwoFactorProviders, [ExpirationDate] = @ExpirationDate, [CreationDate] = @CreationDate, [RevisionDate] = @RevisionDate WHERE [Id] = @Id END GO