CREATE TABLE "auth_user" (
"id" integer NOT NULL PRIMARY KEY,
"username" varchar(100) NOT NULL,
"first_name" varchar(100),
"last_name" varchar(100),
"email" varchar(100),
"password" varchar(100) NOT NULL,
"is_staff" bool NOT NULL,
"is_active" bool NOT NULL,
"is_superuser" bool NOT NULL,
"last_login" date NOT NULL,
"date_joined" date NOT NULL
)
;
CREATE TABLE "accounts_userprofile" (
"id" integer NOT NULL PRIMARY KEY,
"user_id" integer NOT NULL UNIQUE REFERENCES "auth_user" ("id"),
"contact_data_id" integer NOT NULL REFERENCES "accounts_contactdata" ("id"),
"activation_key" varchar(40) NOT NULL
)
;
CREATE TABLE "accounts_contactdata" (
"id" integer NOT NULL PRIMARY KEY,
"city" varchar(100),
"street" varchar(100),
"flat_number" varchar(10),
"pna" varchar(6),
"phone" varchar(12)
)
;
CREATE TABLE "accounts_comment" (
"id" integer NOT NULL PRIMARY KEY,
"user_comment" text NOT NULL,
"ratio" integer unsigned NOT NULL,
"user_id" integer NOT NULL REFERENCES "accounts_userprofile" ("id"),
"restaurant_id" integer NOT NULL REFERENCES "restaurants_restaurant" ("id"),
"dish_id" integer NOT NULL REFERENCES "restaurants_dish" ("id")
)
;
CREATE TABLE "accounts_basket" (
"id" integer NOT NULL PRIMARY KEY,
"user_id" integer REFERENCES "accounts_userprofile" ("id"),
"session" varchar(32)
)
;
CREATE INDEX "accounts_userprofile_57de721" ON "accounts_userprofile" ("contact_data_id");
CREATE INDEX "accounts_comment_403f60f" ON "accounts_comment" ("user_id");
CREATE INDEX "accounts_comment_3325d4d1" ON "accounts_comment" ("restaurant_id");
CREATE INDEX "accounts_comment_5a8f5ebc" ON "accounts_comment" ("dish_id");
CREATE INDEX "accounts_basket_403f60f" ON "accounts_basket" ("user_id");
COMMIT;
CREATE TABLE "restaurants_restaurant" (
"id" integer NOT NULL PRIMARY KEY,
"user_id" integer NOT NULL UNIQUE REFERENCES "auth_user" ("id"),
"is_promo" bool NOT NULL,
"activation_key" varchar(40) NOT NULL,
"contact_data_id" integer NOT NULL UNIQUE REFERENCES "accounts_contactdata" ("id"),
"description_id" integer NOT NULL
)
;
CREATE TABLE "restaurants_dish" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(100) NOT NULL,
"description" varchar(500) NOT NULL,
"price" varchar(7) NOT NULL,
"category_id" integer NOT NULL,
"restaurant_id" integer NOT NULL REFERENCES "restaurants_restaurant" ("id")
)
;
CREATE TABLE "restaurants_category" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(200) NOT NULL
)
;
CREATE TABLE "restaurants_description" (
"id" integer NOT NULL PRIMARY KEY,
"name" varchar(200) NOT NULL,
"description" text,
"img" varchar(100) NOT NULL
)
;
CREATE TABLE "restaurants_orderingdish" (
"id" integer NOT NULL PRIMARY KEY,
"count" integer unsigned NOT NULL,
"dish_id" integer NOT NULL REFERENCES "restaurants_dish" ("id"),
"basket_id" integer REFERENCES "accounts_basket" ("id"),
"order_id" integer
)
;
CREATE TABLE "restaurants_order" (
"id" integer NOT NULL PRIMARY KEY,
"state" varchar(1) NOT NULL,
"order_date" date NOT NULL,
"contact_data_id" integer NOT NULL REFERENCES "accounts_contactdata" ("id")
)
;
CREATE INDEX "restaurants_restaurant_6fd36975" ON "restaurants_restaurant" ("description_id");
CREATE INDEX "restaurants_dish_42dc49bc" ON "restaurants_dish" ("category_id");
CREATE INDEX "restaurants_dish_3325d4d1" ON "restaurants_dish" ("restaurant_id");
CREATE INDEX "restaurants_orderingdish_5a8f5ebc" ON "restaurants_orderingdish" ("dish_id");
CREATE INDEX "restaurants_orderingdish_7e9d6c10" ON "restaurants_orderingdish" ("basket_id");
CREATE INDEX "restaurants_orderingdish_7cc8fcf5" ON "restaurants_orderingdish" ("order_id");
CREATE INDEX "restaurants_order_57de721" ON "restaurants_order" ("contact_data_id");