python_data_lineage/samples/sqlserver_er.sql

83 lines
2.9 KiB
SQL

CREATE TABLE "users"(
"id" INT NOT NULL,
"name" NVARCHAR(255) NOT NULL,
"email" NVARCHAR(255) NOT NULL,
"email_verified_at" DATETIME NULL,
"password" NVARCHAR(255) NOT NULL,
"remember_token" NVARCHAR(255) NULL,
"created_at" DATETIME NOT NULL,
"updated_at" DATETIME NOT NULL,
"phone_number" NVARCHAR(255) NOT NULL,
"description" NVARCHAR(255) NOT NULL,
"profile_image" NVARCHAR(255) NOT NULL
);
ALTER TABLE
"users" ADD CONSTRAINT "users_id_primary" PRIMARY KEY("id");
CREATE UNIQUE INDEX "users_email_unique" ON
"users"("email");
CREATE TABLE "rooms"(
"id" INT NOT NULL,
"home_type" NVARCHAR(255) NOT NULL,
"room_type" NVARCHAR(255) NOT NULL,
"total_occupancy" INT NOT NULL,
"total_bedrooms" INT NOT NULL,
"total_bathrooms" INT NOT NULL,
"summary" NVARCHAR(255) NOT NULL,
"address" NVARCHAR(255) NOT NULL,
"has_tv" BIT NOT NULL,
"has_kitchen" BIT NOT NULL,
"has_air_con" BIT NOT NULL,
"has_heating" BIT NOT NULL,
"has_internet" BIT NOT NULL,
"price" INT NOT NULL,
"published_at" DATETIME NOT NULL,
"owner_id" INT NOT NULL,
"created_at" DATETIME NOT NULL,
"updated_at" DATETIME NOT NULL,
"latitude" FLOAT NOT NULL,
"longitude" FLOAT NOT NULL
);
ALTER TABLE
"rooms" ADD CONSTRAINT "rooms_id_primary" PRIMARY KEY("id");
CREATE TABLE "reservations"(
"id" INT NOT NULL,
"user_id" INT NOT NULL,
"room_id" INT NOT NULL,
"start_date" DATETIME NOT NULL,
"end_date" DATETIME NOT NULL,
"price" INT NOT NULL,
"total" INT NOT NULL,
"created_at" DATETIME NOT NULL,
"updated_at" DATETIME NOT NULL
);
ALTER TABLE
"reservations" ADD CONSTRAINT "reservations_id_primary" PRIMARY KEY("id");
CREATE TABLE "media"(
"id" INT NOT NULL,
"model_id" INT NOT NULL,
"model_type" NVARCHAR(255) NOT NULL,
"file_name" NVARCHAR(255) NOT NULL,
"mime_type" NVARCHAR(255) NULL
);
ALTER TABLE
"media" ADD CONSTRAINT "media_id_primary" PRIMARY KEY("id");
CREATE TABLE "reviews"(
"id" INT NOT NULL,
"reservation_id" INT NOT NULL,
"rating" INT NOT NULL,
"comment" NVARCHAR(255) NOT NULL
);
ALTER TABLE
"reviews" ADD CONSTRAINT "reviews_id_primary" PRIMARY KEY("id");
ALTER TABLE
"rooms" ADD CONSTRAINT "rooms_published_at_foreign" FOREIGN KEY("published_at") REFERENCES "users"("id");
ALTER TABLE
"reservations" ADD CONSTRAINT "reservations_user_id_foreign" FOREIGN KEY("user_id") REFERENCES "users"("id");
ALTER TABLE
"reservations" ADD CONSTRAINT "reservations_room_id_foreign" FOREIGN KEY("room_id") REFERENCES "rooms"("id");
ALTER TABLE
"reviews" ADD CONSTRAINT "reviews_reservation_id_foreign" FOREIGN KEY("reservation_id") REFERENCES "reservations"("id");
ALTER TABLE
"media" ADD CONSTRAINT "media_model_id_foreign" FOREIGN KEY("model_id") REFERENCES "reviews"("id");
ALTER TABLE
"media" ADD CONSTRAINT "media_model_id_foreign" FOREIGN KEY("model_id") REFERENCES "rooms"("id");