diff --git a/pom.xml b/pom.xml
index ca8d61a..fbc64ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -55,8 +55,10 @@
org.liquibase
liquibase-core
-
-
+
+ org.postgresql
+ postgresql
+
diff --git a/src/main/java/ru/ldeloff/servermonitorbot/model/Role.java b/src/main/java/ru/ldeloff/servermonitorbot/model/Role.java
new file mode 100644
index 0000000..bdbbccf
--- /dev/null
+++ b/src/main/java/ru/ldeloff/servermonitorbot/model/Role.java
@@ -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;
+}
diff --git a/src/main/java/ru/ldeloff/servermonitorbot/model/User.java b/src/main/java/ru/ldeloff/servermonitorbot/model/User.java
new file mode 100644
index 0000000..b4a0ddd
--- /dev/null
+++ b/src/main/java/ru/ldeloff/servermonitorbot/model/User.java
@@ -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;
+}
diff --git a/src/main/resources/db/scripts/release_0_0_1/changelog.xml b/src/main/resources/db/scripts/release_0_0_1/changelog.xml
index 38031e7..9607261 100644
--- a/src/main/resources/db/scripts/release_0_0_1/changelog.xml
+++ b/src/main/resources/db/scripts/release_0_0_1/changelog.xml
@@ -5,5 +5,8 @@
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/db/scripts/release_0_0_1/scripts/00_create_schema_servermonitorbot.sql b/src/main/resources/db/scripts/release_0_0_1/scripts/00_create_schema_servermonitorbot.sql
new file mode 100644
index 0000000..e69de29
diff --git a/src/main/resources/db/scripts/release_0_0_1/scripts/01_create_table_users.sql b/src/main/resources/db/scripts/release_0_0_1/scripts/01_create_table_users.sql
index 540868e..8d5f188 100644
--- a/src/main/resources/db/scripts/release_0_0_1/scripts/01_create_table_users.sql
+++ b/src/main/resources/db/scripts/release_0_0_1/scripts/01_create_table_users.sql
@@ -2,14 +2,16 @@
--changeset L_DelOff:create_table_users rollbackSplitStatements:true
--comment: Создание таблицы пользователей
-CREATE TABLE USERS
+CREATE TABLE users
(
- ID VARCHAR(36) PRIMARY KEY,
- NAME VARCHAR(128)
+ id integer PRIMARY KEY,
+ login VARCHAR(128),
+ id_role integer
);
-COMMENT ON TABLE USERS IS 'Пользователи';
-COMMENT ON COLUMN USERS.ID IS 'Идентификатор пользователя';
-COMMENT ON COLUMN USERS.NAME IS 'Логин пользователя';
+COMMENT ON TABLE users IS 'Пользователи';
+COMMENT ON COLUMN users.id IS 'Идентификатор пользователя';
+COMMENT ON COLUMN users.login IS 'Логин пользователя';
+COMMENT ON COLUMN users.id_role IS 'Ссылка на роль пользователя';
---rollback DROP TABLE RELEASES;
\ No newline at end of file
+--rollback DROP TABLE users;
\ No newline at end of file
diff --git a/src/main/resources/db/scripts/release_0_0_1/scripts/02_create_table_roles.sql b/src/main/resources/db/scripts/release_0_0_1/scripts/02_create_table_roles.sql
new file mode 100644
index 0000000..d09119d
--- /dev/null
+++ b/src/main/resources/db/scripts/release_0_0_1/scripts/02_create_table_roles.sql
@@ -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;
\ No newline at end of file
diff --git a/src/main/resources/db/scripts/release_0_0_1/scripts/03_add_FK_users_to_roles.sql b/src/main/resources/db/scripts/release_0_0_1/scripts/03_add_FK_users_to_roles.sql
new file mode 100644
index 0000000..6225766
--- /dev/null
+++ b/src/main/resources/db/scripts/release_0_0_1/scripts/03_add_FK_users_to_roles.sql
@@ -0,0 +1,2 @@
+ALTER TABLE users
+ADD COLUMN role_id INT NOT NULL REFERENCES roles(id);
\ No newline at end of file
diff --git a/src/main/resources/db/scripts/release_0_0_1/scripts/04_add_roles.sql b/src/main/resources/db/scripts/release_0_0_1/scripts/04_add_roles.sql
new file mode 100644
index 0000000..65c0cbf
--- /dev/null
+++ b/src/main/resources/db/scripts/release_0_0_1/scripts/04_add_roles.sql
@@ -0,0 +1,2 @@
+INSERT INTO roles (id, role) VALUES (1, 'ADMIN');
+INSERT INTO roles (id, role) VALUES (2, 'USER');
\ No newline at end of file