Pre ERP Multimedios
This commit is contained in:
@@ -1,69 +0,0 @@
|
|||||||
-- Run this script to update the database schema
|
|
||||||
|
|
||||||
-- Update Listings table
|
|
||||||
ALTER TABLE Listings ADD PublicationStartDate DATETIME2 NULL;
|
|
||||||
ALTER TABLE Listings ADD ApprovedAt DATETIME2 NULL;
|
|
||||||
ALTER TABLE Listings ADD IsFeatured BIT NOT NULL DEFAULT 0;
|
|
||||||
ALTER TABLE Listings ADD FeaturedExpiry DATETIME2 NULL;
|
|
||||||
ALTER TABLE Listings ADD AllowContact BIT NOT NULL DEFAULT 1;
|
|
||||||
|
|
||||||
-- Update Users table
|
|
||||||
ALTER TABLE Users ADD BillingName NVARCHAR(200) NULL;
|
|
||||||
ALTER TABLE Users ADD BillingAddress NVARCHAR(500) NULL;
|
|
||||||
ALTER TABLE Users ADD BillingTaxId NVARCHAR(50) NULL;
|
|
||||||
ALTER TABLE Users ADD BillingTaxType NVARCHAR(50) NULL;
|
|
||||||
ALTER TABLE Users ADD ClientId INT NULL;
|
|
||||||
ALTER TABLE Users ADD FailedLoginAttempts INT NOT NULL DEFAULT 0;
|
|
||||||
ALTER TABLE Users ADD LockoutEnd DATETIME NULL;
|
|
||||||
ALTER TABLE Users ADD MustChangePassword BIT NOT NULL DEFAULT 1;
|
|
||||||
ALTER TABLE Users ADD IsActive BIT NOT NULL DEFAULT 1;
|
|
||||||
ALTER TABLE Users ADD LastLogin DATETIME NULL;
|
|
||||||
ALTER TABLE Users ADD GoogleId NVARCHAR(255) NULL;
|
|
||||||
ALTER TABLE Users ADD IsMfaEnabled BIT NOT NULL DEFAULT 0;
|
|
||||||
ALTER TABLE Users ADD MfaSecret NVARCHAR(255) NULL;
|
|
||||||
ALTER TABLE Users ADD Phone NVARCHAR(50) NULL;
|
|
||||||
|
|
||||||
-- Create Coupons table
|
|
||||||
IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='Coupons' and xtype='U')
|
|
||||||
BEGIN
|
|
||||||
CREATE TABLE Coupons (
|
|
||||||
Id INT IDENTITY(1,1) PRIMARY KEY,
|
|
||||||
Code NVARCHAR(50) NOT NULL,
|
|
||||||
DiscountType NVARCHAR(20) NOT NULL,
|
|
||||||
DiscountValue DECIMAL(18,2) NOT NULL,
|
|
||||||
ExpiryDate DATETIME2 NULL,
|
|
||||||
UsageCount INT NOT NULL DEFAULT 0,
|
|
||||||
MaxUsages INT NULL,
|
|
||||||
IsActive BIT NOT NULL DEFAULT 1,
|
|
||||||
CreatedAt DATETIME2 NOT NULL DEFAULT GETUTCDATE()
|
|
||||||
);
|
|
||||||
CREATE UNIQUE INDEX IX_Coupons_Code ON Coupons(Code);
|
|
||||||
END
|
|
||||||
|
|
||||||
-- Data Migration and Consolidation
|
|
||||||
-- Copy clients to users if they don't exist
|
|
||||||
INSERT INTO Users (Username, PasswordHash, Role, Email, BillingName, BillingTaxId, BillingAddress, Phone, MustChangePassword, IsActive)
|
|
||||||
SELECT
|
|
||||||
ISNULL(DniOrCuit, Name), 'N/A', 'Client', Email, Name, DniOrCuit, Address, Phone, 0, 1
|
|
||||||
FROM Clients
|
|
||||||
WHERE DniOrCuit NOT IN (SELECT BillingTaxId FROM Users WHERE BillingTaxId IS NOT NULL);
|
|
||||||
|
|
||||||
-- Update Listings to point to new User IDs
|
|
||||||
UPDATE l
|
|
||||||
SET l.ClientId = u.Id
|
|
||||||
FROM Listings l
|
|
||||||
JOIN Clients c ON l.ClientId = c.Id
|
|
||||||
JOIN Users u ON c.DniOrCuit = u.BillingTaxId;
|
|
||||||
|
|
||||||
-- Drop foreign keys referencing Clients
|
|
||||||
DECLARE @sql NVARCHAR(MAX) = N'';
|
|
||||||
SELECT @sql += 'ALTER TABLE ' + QUOTENAME(OBJECT_SCHEMA_NAME(parent_object_id)) + '.' + QUOTENAME(OBJECT_NAME(parent_object_id)) +
|
|
||||||
' DROP CONSTRAINT ' + QUOTENAME(name) + ';'
|
|
||||||
FROM sys.foreign_keys
|
|
||||||
WHERE referenced_object_id = OBJECT_ID('Clients');
|
|
||||||
|
|
||||||
IF @sql <> '' EXEC sp_executesql @sql;
|
|
||||||
|
|
||||||
-- DROP obsolete table
|
|
||||||
IF EXISTS (SELECT * FROM sysobjects WHERE name='Clients' and xtype='U')
|
|
||||||
DROP TABLE Clients;
|
|
||||||
Reference in New Issue
Block a user