@dbml/cli
Version:
See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information
172 lines (139 loc) • 3.82 kB
Plain Text
CREATE TABLE "staff" (
"id" int PRIMARY KEY,
"first_name" varchar,
"last_name" varchar,
"address_id" int,
"picture" blob,
"email" varchar,
"store_id" int,
"active" boolean,
"user_name" varchar,
"password" varchar,
"last_update" timestamp
);
CREATE TABLE "store" (
"id" int PRIMARY KEY,
"manager_staff_id" int,
"address_id" int,
"last_update" timestamp
);
CREATE TABLE "payment" (
"id" int PRIMARY KEY,
"customer_id" int,
"staff_id" int,
"rental_id" int,
"amount" decimal,
"payment_date" datetime,
"last_update" timestamp
);
CREATE TABLE "rental" (
"id" int PRIMARY KEY,
"rental_date" datetime,
"inventory_id" int,
"customer_id" int,
"return_date" ddatetime,
"staff_id" int,
"last_update" timestamp
);
ALTER TABLE "staff" ADD FOREIGN KEY ("store_id") REFERENCES "store" ("id");
ALTER TABLE "store" ADD FOREIGN KEY ("manager_staff_id") REFERENCES "staff" ("id");
ALTER TABLE "payment" ADD FOREIGN KEY ("staff_id") REFERENCES "staff" ("id");
ALTER TABLE "payment" ADD FOREIGN KEY ("rental_id") REFERENCES "rental" ("id");
ALTER TABLE "rental" ADD FOREIGN KEY ("staff_id") REFERENCES "staff" ("id");
CREATE TABLE "country" (
"id" int PRIMARY KEY,
"country" varchar,
"last_update" timestamp
);
CREATE TABLE "city" (
"id" int PRIMARY KEY,
"city" varchar,
"country_id" int,
"last_update" timestamp
);
CREATE TABLE "address" (
"id" int PRIMARY KEY,
"address" varchar,
"address2" varchar,
"district" varchar,
"city_id" int,
"postal_code" varchar,
"phone" varchar,
"last_update" timestamp
);
CREATE TABLE "customer" (
"id" int PRIMARY KEY,
"store_id" int,
"first_name" varchar,
"last_name" varchar,
"email" varchar,
"address_id" int,
"active" boolean,
"create_Date" timestamp,
"last_update" timestamp
);
CREATE INDEX ON "customer" USING BTREE ("id", "first_name");
ALTER TABLE "city" ADD FOREIGN KEY ("country_id") REFERENCES "country" ("id");
ALTER TABLE "address" ADD FOREIGN KEY ("city_id") REFERENCES "city" ("id");
ALTER TABLE "customer" ADD FOREIGN KEY ("address_id") REFERENCES "address" ("id");
CREATE TABLE "category" (
"id" int PRIMARY KEY,
"name" varchar,
"last_update" timestamp
);
CREATE TABLE "film_category" (
"id" int PRIMARY KEY,
"category_id" int,
"last_update" timestamp
);
CREATE TABLE "language" (
"id" int PRIMARY KEY,
"name" varchar,
"last_update" timestamp
);
CREATE TABLE "film_text" (
"id" int PRIMARY KEY,
"film_id" int,
"title" varchar,
"description" text
);
CREATE TABLE "actor" (
"id" int PRIMARY KEY,
"first_name" varchar,
"last_name" varchar,
"last_update" timestamp
);
CREATE TABLE "film" (
"id" int PRIMARY KEY,
"title" varchar,
"description" text,
"releaase_year" int,
"language_id" int,
"original_language_id" int,
"rental_duration" int,
"rental_rate" decimal,
"length" int,
"replacement_cost" decimal,
"rating" varchar,
"special_feature" varchar,
"last_update" timestamp
);
CREATE TABLE "film_actor" (
"id" int PRIMARY KEY,
"film_id" int,
"actor_id" int,
"last_update" timestamp
);
CREATE TABLE "inventory" (
"id" int PRIMARY KEY,
"film_id" int,
"store_id" int,
"last_update" timestamp
);
ALTER TABLE "film_category" ADD FOREIGN KEY ("category_id") REFERENCES "category" ("id");
ALTER TABLE "film_text" ADD FOREIGN KEY ("film_id") REFERENCES "inventory" ("film_id");
ALTER TABLE "film" ADD FOREIGN KEY ("language_id") REFERENCES "language" ("id");
ALTER TABLE "film" ADD FOREIGN KEY ("original_language_id") REFERENCES "language" ("id");
ALTER TABLE "film_actor" ADD FOREIGN KEY ("film_id") REFERENCES "film" ("id");
ALTER TABLE "film_actor" ADD FOREIGN KEY ("actor_id") REFERENCES "actor" ("id");
ALTER TABLE "inventory" ADD FOREIGN KEY ("film_id") REFERENCES "film" ("id");