Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create table if not exists user_roles
- (
- id bigserial primary key,
- name text not null
- );
- create unique index uq__user_roles__name on user_roles (name);
- create unique index uq__user_roles__name on user_roles (name);
- comment on table user_roles is 'Роли пользователей';
- comment on column user_roles.id is 'Идентификатор роли';
- comment on column user_roles.name is 'Название роли';
- create table if not exists users
- (
- id bigserial primary key,
- email text not null,
- password text not null,
- role_id bigint not null,
- created_at timestamptz default timezone('utc', now())::timestamptz not null,
- updated_at timestamptz default timezone('utc', now())::timestamptz not null,
- constraint fk__users__user_roles foreign key (role_id) references user_roles (id)
- );
- create unique index uq__users__email on users (email);
- comment on table users is 'Пользователи';
- comment on column users.id is 'Идентификатор пользователя';
- comment on column users.email is 'email пользователя';
- comment on column users.password is 'Хеш пароля пользователя';
- comment on column users.role_id is 'Идентификатор роли пользователя';
- comment on column users.created_at is 'Дата и время создания записи';
- comment on column users.updated_at is 'Дата и время обновления записи';
- create table if not exists item_categories
- (
- id bigserial primary key,
- name text not null
- );
- create unique index uq__item_categories__name on item_categories (name);
- comment on table item_categories is 'Категории товаров';
- comment on column item_categories.id is 'Идентификатор категории товаров';
- comment on column item_categories.name is 'Название категории товаров';
- create table if not exists item_types
- (
- id bigserial primary key,
- name text not null
- );
- create unique index uq__item_types__name on item_types (name);
- comment on table item_types is 'Типы товаров';
- comment on column item_types.id is 'Идентификатор типа товаров';
- comment on column item_types.name is 'Название типа товаров';
- create table if not exists item_groups
- (
- id text primary key,
- title text not null,
- item_category_id bigint not null,
- item_type_id bigint not null,
- description text,
- constraint fk__item_groups__item_categories foreign key (item_category_id) references item_categories (id),
- constraint fk__item_groups__item_types foreign key (item_type_id) references item_types (id)
- );
- comment on table item_groups is 'Группы товаров';
- comment on column item_groups.id is 'Идентификатор группы товаров';
- comment on column item_groups.title is 'Наименование группы товаров';
- comment on column item_groups.item_category_id is 'Идентификатор категории товара';
- comment on column item_groups.item_type_id is 'Идентификатор типа товара';
- comment on column item_groups.description is 'Описание группы товаров';
- create table if not exists item_sizes(
- id bigserial primary key,
- name text not null
- );
- create unique index uq__item_sizes__name on item_sizes (name);
- comment on table item_sizes is 'Размеры товаров';
- comment on column item_sizes.id is 'Идентификатор размера';
- comment on column item_sizes.name is 'Название размера';
- create table if not exists items
- (
- id bigserial primary key,
- item_group_id text not null,
- item_size_id bigint not null,
- default_price decimal not null,
- created_at timestamptz default timezone('utc', now())::timestamptz not null,
- updated_at timestamptz default timezone('utc', now())::timestamptz not null,
- constraint fk__items__item_groups foreign key (item_group_id) references item_groups (id),
- constraint fk__items__item_sizes foreign key (item_size_id) references item_sizes (id)
- );
- comment on table items is 'Товары';
- comment on column items.id is 'Идентификатор товара';
- comment on column items.item_group_id is 'Идентификатор группы товаров';
- comment on column items.item_size_id is 'Идентификатор размера';
- comment on column items.default_price is 'Цена товара по умолчанию';
- comment on column items.created_at is 'Дата и время создания записи';
- comment on column items.updated_at is 'Дата и время обновления записи';
- create table if not exists item_balances
- (
- item_id bigint primary key,
- total_qty integer not null,
- reserved_qty integer default 0 not null,
- updated_at timestamptz default timezone('utc', now())::timestamptz not null,
- constraint fk__item_balances__items foreign key (item_id) references items (id)
- );
- comment on table item_balances is 'Балансы товаров';
- comment on column item_balances.item_id is 'Идентификатор товара';
- comment on column item_balances.total_qty is 'Общее количество товара';
- comment on column item_balances.reserved_qty is 'Зарезервированное количество товара';
- comment on column item_balances.updated_at is 'Дата и время обновления записи';
- create table if not exists item_collections
- (
- id bigserial primary key,
- title text not null,
- description text,
- image_url text,
- active_until timestamptz default timezone('utc', now())::timestamptz
- );
- comment on table item_collections is 'Коллекции товаров';
- comment on column item_collections.id is 'Идентификатор коллекции товаров';
- comment on column item_collections.title is 'Название коллекции товаров';
- comment on column item_collections.description is 'Описание коллекции товаров';
- comment on column item_collections.image_url is 'Ссылка на картинку для коллекции товаров';
- comment on column item_collections.active_until is 'Дата и время, до которого коллекция активна';
- create table if not exists item_collection_item_groups
- (
- item_collection_id bigint not null,
- item_group_id text not null,
- primary key (item_collection_id, item_group_id),
- constraint fk__item_collection_item_groups__item_collections foreign key (item_collection_id) references item_collections (id),
- constraint fk__item_collection_item_groups__item_groups foreign key (item_group_id) references item_groups (id)
- );
- comment on table item_collection_item_groups is 'Товары в коллекциях';
- comment on column item_collection_item_groups.item_collection_id is 'Идентификатор коллекции товаров';
- comment on column item_collection_item_groups.item_group_id is 'Идентификатор группы товаров';
- create table if not exists shopping_cart_items
- (
- user_id bigint,
- item_id bigint,
- item_price decimal not null,
- item_qty integer not null,
- primary key (user_id, item_id),
- constraint fk__shopping_cart_items__users foreign key (user_id) references users (id),
- constraint fk__shopping_cart_items__items foreign key (item_id) references items (id)
- );
- comment on table shopping_cart_items is 'Товары в корзине пользователя';
- comment on column shopping_cart_items.user_id is 'Идентификатор пользователя';
- comment on column shopping_cart_items.item_id is 'Идентификатор товара';
- comment on column shopping_cart_items.item_price is 'Цена товара в корзине';
- comment on column shopping_cart_items.item_qty is 'Количество товара в корзине';
- create table if not exists order_statuses
- (
- id bigserial primary key,
- name text not null
- );
- create unique index uq__order_statuses__name on order_statuses (name);
- comment on table order_statuses is 'Статусы заказа';
- comment on column order_statuses.id is 'Идентификатор статуса';
- comment on column order_statuses.name is 'Название статуса';
- create table if not exists orders
- (
- id uuid default gen_random_uuid() primary key,
- user_id bigint not null,
- status_id bigint not null,
- created_at timestamptz default timezone('utc', now())::timestamptz not null,
- updated_at timestamptz default timezone('utc', now())::timestamptz not null,
- constraint fk__orders__users foreign key (user_id) references users (id),
- constraint fk__orders__order_statuses foreign key (status_id) references order_statuses (id)
- );
- comment on table orders is 'Заказы';
- comment on column orders.id is 'Идентификатор заказа';
- comment on column orders.user_id is 'Идентификатор пользоавтеля-заказчика';
- comment on column orders.status_id is 'Идентификатор статуса заказа';
- comment on column orders.created_at is 'Дата и время создания записи';
- comment on column orders.updated_at is 'Дата и время обновления записи';
- create table if not exists order_details
- (
- order_id uuid not null,
- item_id bigint not null,
- item_price decimal not null,
- item_qty integer not null,
- created_at timestamptz default timezone('utc', now())::timestamptz not null,
- updated_at timestamptz default timezone('utc', now())::timestamptz not null,
- primary key (order_id, item_id),
- constraint fk__order_details__orders foreign key (order_id) references orders (id),
- constraint fk__order_details__items foreign key (item_id) references items (id)
- );
- comment on table order_details is 'Детали заказа';
- comment on column order_details.order_id is 'Идентификатор заказа';
- comment on column order_details.item_id is 'Идентификатор товара';
- comment on column order_details.item_price is 'Цена товара в заказе';
- comment on column order_details.item_qty is 'Количество товара в заказе';
- comment on column order_details.created_at is 'Дата и время создания записи';
- comment on column order_details.updated_at is 'Дата и время обновления записи';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement