Fix: Create Schema Migration
All checks were successful
Build and Push Docker Image / build (push) Successful in 2m4s

This commit is contained in:
2026-03-18 01:01:30 +01:00
parent 9cb299706d
commit 1c81d28cfd

View File

@@ -1,69 +1,80 @@
CREATE DATABASE "2025_5bhitn_konstantin_hintermayer_smarter_rentDB"; IF NOT EXISTS (SELECT name FROM sys.databases WHERE name = '2025_5bhitn_konstantin_hintermayer_smarter_rentDB')
GO BEGIN
USE "2025_5bhitn_konstantin_hintermayer_smarter_rentDB"; CREATE DATABASE [2025_5bhitn_konstantin_hintermayer_smarter_rentDB];
END;
GO GO
DROP TABLE IF EXISTS Rental; USE [2025_5bhitn_konstantin_hintermayer_smarter_rentDB];
GO
DROP TABLE IF EXISTS Customer; IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Customer]') AND type = 'U')
BEGIN
CREATE TABLE Customer (
id BIGINT NOT NULL IDENTITY (1, 1),
[name] VARCHAR(50) NOT NULL,
Adress VARCHAR(100) NOT NULL,
driverlicenseid VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
END;
DROP TABLE IF EXISTS [Location]; IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Location]') AND type = 'U')
BEGIN
CREATE TABLE Location (
id BIGINT NOT NULL IDENTITY (1, 1),
[name] VARCHAR(250) NOT NULL,
[address] VARCHAR(250) NOT NULL,
PRIMARY KEY (id)
);
END;
DROP TABLE IF EXISTS Vehicle; IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Rental]') AND type = 'U')
BEGIN
CREATE TABLE Rental (
id BIGINT NOT NULL IDENTITY (1, 1),
rentalStart DATETIME NOT NULL,
rentalEnd DATETIME NOT NULL,
actualEnd DATETIME NULL,
customerID BIGINT NOT NULL,
vehicleID BIGINT NOT NULL,
PRIMARY KEY (id)
);
DROP TABLE IF EXISTS VehicleCategory;
CREATE TABLE Customer ( ALTER TABLE Rental
id BIGINT NOT NULL IDENTITY (1, 1), ADD CONSTRAINT FK_Customer_TO_Rental FOREIGN KEY (customerID) REFERENCES Customer (id);
[name] VARCHAR(50) NOT NULL,
Adress VARCHAR(100) NOT NULL,
driverlicenseid VARCHAR(100) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Location ( ALTER TABLE Rental
id BIGINT NOT NULL IDENTITY (1, 1), ADD CONSTRAINT FK_Vehicle_TO_Rental FOREIGN KEY (vehicleID) REFERENCES Vehicle (id);
[name] VARCHAR(250) NOT NULL, END;
[address] VARCHAR(250) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Rental ( IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Vehicle]') AND type = 'U')
id BIGINT NOT NULL IDENTITY (1, 1), BEGIN
rentalStart DATETIME NOT NULL, CREATE TABLE Vehicle (
rentalEnd DATETIME NOT NULL, id BIGINT NOT NULL IDENTITY (1, 1),
actualEnd DATETIME NULL, brand VARCHAR(50) NOT NULL,
customerID BIGINT NOT NULL, model VARCHAR(50) NOT NULL,
vehicleID BIGINT NOT NULL, licensePlate VARCHAR(8) NOT NULL,
PRIMARY KEY (id) buyDate DATE NOT NULL,
); locationID BIGINT NOT NULL,
vehicleCategoryID BIGINT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Vehicle ( ALTER TABLE Vehicle
id BIGINT NOT NULL IDENTITY (1, 1), ADD CONSTRAINT FK_Location_TO_Vehicle FOREIGN KEY (locationID) REFERENCES Location (id);
brand VARCHAR(50) NOT NULL,
model VARCHAR(50) NOT NULL,
licensePlate VARCHAR(8) NOT NULL,
buyDate DATE NOT NULL,
locationID BIGINT NOT NULL,
vehicleCategoryID BIGINT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE VehicleCategory ( ALTER TABLE Vehicle
id BIGINT NOT NULL IDENTITY (1, 1), ADD CONSTRAINT FK_VehicleCategory_TO_Vehicle FOREIGN KEY (vehicleCategoryID) REFERENCES VehicleCategory (id);
[description] VARCHAR(250) NOT NULL, END;
pricePerDay DECIMAL NOT NULL,
PRIMARY KEY (id)
);
ALTER TABLE Rental IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[VehicleCategory]') AND type = 'U')
ADD CONSTRAINT FK_Customer_TO_Rental FOREIGN KEY (customerID) REFERENCES Customer (id); BEGIN
CREATE TABLE VehicleCategory (
id BIGINT NOT NULL IDENTITY (1, 1),
[description] VARCHAR(250) NOT NULL,
pricePerDay DECIMAL NOT NULL,
PRIMARY KEY (id)
);
END;
ALTER TABLE Rental
ADD CONSTRAINT FK_Vehicle_TO_Rental FOREIGN KEY (vehicleID) REFERENCES Vehicle (id);
ALTER TABLE Vehicle
ADD CONSTRAINT FK_Location_TO_Vehicle FOREIGN KEY (locationID) REFERENCES Location (id);
ALTER TABLE Vehicle
ADD CONSTRAINT FK_VehicleCategory_TO_Vehicle FOREIGN KEY (vehicleCategoryID) REFERENCES VehicleCategory (id);