Добавил сущности role и user

feature/task-15-add_db
L_DelOff 2023-08-10 22:21:30 +03:00
parent 047502916a
commit 4974796f0a
9 changed files with 73 additions and 9 deletions

View File

@ -55,8 +55,10 @@
<groupId>org.liquibase</groupId> <groupId>org.liquibase</groupId>
<artifactId>liquibase-core</artifactId> <artifactId>liquibase-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@ -0,0 +1,17 @@
package ru.ldeloff.servermonitorbot.model;
import jakarta.persistence.*;
import lombok.Data;
@Entity
@Data
@Table(name = "roles")
public class Role {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "role")
private String role;
}

View File

@ -0,0 +1,21 @@
package ru.ldeloff.servermonitorbot.model;
import jakarta.persistence.*;
import lombok.Data;
@Entity
@Data
@Table(name = "users")
public class User {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "login")
private Long login;
@ManyToOne
@JoinColumn(name = "id_role")
private Role role;
}

View File

@ -5,5 +5,8 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd"> xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
<include file="scripts/01_create_table_users.sql" relativeToChangelogFile="true"/> <include file="scripts/01_create_table_users.sql" relativeToChangelogFile="true"/>
<include file="scripts/02_create_table_roles.sql" relativeToChangelogFile="true"/>
<include file="scripts/03_add_FK_users_to_roles.sql" relativeToChangelogFile="true"/>
<include file="scripts/04_add_roles.sql" relativeToChangelogFile="true"/>
</databaseChangeLog> </databaseChangeLog>

View File

@ -2,14 +2,16 @@
--changeset L_DelOff:create_table_users rollbackSplitStatements:true --changeset L_DelOff:create_table_users rollbackSplitStatements:true
--comment: Создание таблицы пользователей --comment: Создание таблицы пользователей
CREATE TABLE USERS CREATE TABLE users
( (
ID VARCHAR(36) PRIMARY KEY, id integer PRIMARY KEY,
NAME VARCHAR(128) login VARCHAR(128),
id_role integer
); );
COMMENT ON TABLE USERS IS 'Пользователи'; COMMENT ON TABLE users IS 'Пользователи';
COMMENT ON COLUMN USERS.ID IS 'Идентификатор пользователя'; COMMENT ON COLUMN users.id IS 'Идентификатор пользователя';
COMMENT ON COLUMN USERS.NAME IS 'Логин пользователя'; COMMENT ON COLUMN users.login IS 'Логин пользователя';
COMMENT ON COLUMN users.id_role IS 'Ссылка на роль пользователя';
--rollback DROP TABLE RELEASES; --rollback DROP TABLE users;

View File

@ -0,0 +1,15 @@
--liquibase formatted sql
--changeset L_DelOff:create_table_roles rollbackSplitStatements:true
--comment: Создание таблицы ролей
CREATE TABLE roles
(
id integer PRIMARY KEY,
role VARCHAR(128)
);
COMMENT ON TABLE roles IS 'Пользователи';
COMMENT ON COLUMN roles.id IS 'Идентификатор пользователя';
COMMENT ON COLUMN roles.role IS 'Логин пользователя';
--rollback DROP TABLE roles;

View File

@ -0,0 +1,2 @@
ALTER TABLE users
ADD COLUMN role_id INT NOT NULL REFERENCES roles(id);

View File

@ -0,0 +1,2 @@
INSERT INTO roles (id, role) VALUES (1, 'ADMIN');
INSERT INTO roles (id, role) VALUES (2, 'USER');