Fase 3: Implementación de Listings (Avisos) - Entidades, Repositorio, API y Frontend Wizard integración
This commit is contained in:
@@ -123,6 +123,37 @@ BEGIN
|
||||
FOREIGN KEY (CategoryId) REFERENCES Categories(Id) ON DELETE CASCADE
|
||||
);
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'Listings')
|
||||
BEGIN
|
||||
CREATE TABLE Listings (
|
||||
Id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
CategoryId INT NOT NULL,
|
||||
OperationId INT NOT NULL,
|
||||
Title NVARCHAR(200) NOT NULL,
|
||||
Description NVARCHAR(MAX) NULL,
|
||||
Price DECIMAL(18,2) NOT NULL DEFAULT 0,
|
||||
Currency NVARCHAR(3) DEFAULT 'ARS',
|
||||
CreatedAt DATETIME2 DEFAULT GETUTCDATE(),
|
||||
Status NVARCHAR(20) DEFAULT 'Draft',
|
||||
UserId INT NULL,
|
||||
FOREIGN KEY (CategoryId) REFERENCES Categories(Id),
|
||||
FOREIGN KEY (OperationId) REFERENCES Operations(Id),
|
||||
FOREIGN KEY (UserId) REFERENCES Users(Id)
|
||||
);
|
||||
END
|
||||
|
||||
IF NOT EXISTS (SELECT * FROM sys.tables WHERE name = 'ListingAttributeValues')
|
||||
BEGIN
|
||||
CREATE TABLE ListingAttributeValues (
|
||||
Id INT IDENTITY(1,1) PRIMARY KEY,
|
||||
ListingId INT NOT NULL,
|
||||
AttributeDefinitionId INT NOT NULL,
|
||||
Value NVARCHAR(MAX) NOT NULL,
|
||||
FOREIGN KEY (ListingId) REFERENCES Listings(Id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (AttributeDefinitionId) REFERENCES AttributeDefinitions(Id) ON DELETE NO ACTION
|
||||
);
|
||||
END
|
||||
";
|
||||
await connection.ExecuteAsync(schemaSql);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user