Add base migration and Entitty and Dto
This commit is contained in:
parent
f52378a1c7
commit
a8d7eeea56
17
pom.xml
17
pom.xml
@ -33,15 +33,14 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.flywaydb</groupId>-->
|
||||
<!-- <artifactId>flyway-core</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>org.flywaydb</groupId>-->
|
||||
<!-- <artifactId>flyway-database-postgresql</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.flywaydb</groupId>
|
||||
<artifactId>flyway-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.flywaydb</groupId>
|
||||
<artifactId>flyway-database-postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.postgresql</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
|
||||
15
src/main/java/ru/tubryansk/tdms/dto/DiplomaTopicDTO.java
Normal file
15
src/main/java/ru/tubryansk/tdms/dto/DiplomaTopicDTO.java
Normal file
@ -0,0 +1,15 @@
|
||||
package ru.tubryansk.tdms.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class DiplomaTopicDTO {
|
||||
private Integer id;
|
||||
private String name;
|
||||
}
|
||||
15
src/main/java/ru/tubryansk/tdms/dto/RoleDTO.java
Normal file
15
src/main/java/ru/tubryansk/tdms/dto/RoleDTO.java
Normal file
@ -0,0 +1,15 @@
|
||||
package ru.tubryansk.tdms.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RoleDTO {
|
||||
private Integer id;
|
||||
private String name;
|
||||
}
|
||||
30
src/main/java/ru/tubryansk/tdms/dto/StudentDTO.java
Normal file
30
src/main/java/ru/tubryansk/tdms/dto/StudentDTO.java
Normal file
@ -0,0 +1,30 @@
|
||||
package ru.tubryansk.tdms.dto;
|
||||
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class StudentDTO {
|
||||
private Integer id;
|
||||
private Boolean form;
|
||||
private Integer protectionOrder;
|
||||
private String magistracy;
|
||||
private Boolean digitalFormatPresent;
|
||||
private Integer markComment;
|
||||
private Integer markPractice;
|
||||
private String predefenceComment;
|
||||
private String normalControl;
|
||||
private Integer antiPlagiarism;
|
||||
private String note;
|
||||
private Boolean recordBookReturned;
|
||||
private String work;
|
||||
private Integer userId;
|
||||
private Integer diplomaTopicId;
|
||||
private Integer mentorUserId;
|
||||
private Integer groupId;
|
||||
}
|
||||
26
src/main/java/ru/tubryansk/tdms/dto/UserDTO.java
Normal file
26
src/main/java/ru/tubryansk/tdms/dto/UserDTO.java
Normal file
@ -0,0 +1,26 @@
|
||||
package ru.tubryansk.tdms.dto;
|
||||
|
||||
|
||||
import jakarta.persistence.Column;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class UserDTO {
|
||||
private Integer id;
|
||||
private String login;
|
||||
private String password;
|
||||
private String fullName;
|
||||
private String mail;
|
||||
private String numberPhone;
|
||||
private ZonedDateTime createAt;
|
||||
private ZonedDateTime updateAt;
|
||||
List<Integer> roleId;
|
||||
}
|
||||
24
src/main/java/ru/tubryansk/tdms/entity/DiplomaTopic.java
Normal file
24
src/main/java/ru/tubryansk/tdms/entity/DiplomaTopic.java
Normal file
@ -0,0 +1,24 @@
|
||||
package ru.tubryansk.tdms.entity;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "diploma_topic", schema = "vkr")
|
||||
public class DiplomaTopic {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Integer id;
|
||||
@Column(name = "name", nullable = false)
|
||||
private String name;
|
||||
}
|
||||
27
src/main/java/ru/tubryansk/tdms/entity/Group.java
Normal file
27
src/main/java/ru/tubryansk/tdms/entity/Group.java
Normal file
@ -0,0 +1,27 @@
|
||||
package ru.tubryansk.tdms.entity;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "group", schema = "vkr")
|
||||
public class Group {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Integer id;
|
||||
@Column(name = "name", nullable = false)
|
||||
private String name;
|
||||
@ManyToOne()
|
||||
@JoinColumn(name = "principal_user_id", nullable = false)
|
||||
private User principalUser;
|
||||
}
|
||||
24
src/main/java/ru/tubryansk/tdms/entity/Role.java
Normal file
24
src/main/java/ru/tubryansk/tdms/entity/Role.java
Normal file
@ -0,0 +1,24 @@
|
||||
package ru.tubryansk.tdms.entity;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "role", schema = "vkr")
|
||||
public class Role {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Integer id;
|
||||
@Column(name = "name", nullable = false)
|
||||
private String name;
|
||||
}
|
||||
53
src/main/java/ru/tubryansk/tdms/entity/Student.java
Normal file
53
src/main/java/ru/tubryansk/tdms/entity/Student.java
Normal file
@ -0,0 +1,53 @@
|
||||
package ru.tubryansk.tdms.entity;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
@Entity
|
||||
@Table(name = "student", schema = "vkr")
|
||||
public class Student {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Integer id;
|
||||
@Column(name = "form")
|
||||
private Boolean form;
|
||||
@Column(name = "protection_order" , nullable = false)
|
||||
private Integer protectionOrder;
|
||||
@Column(name = "magistracy" )
|
||||
private String magistracy;
|
||||
@Column(name = "digital_format_present")
|
||||
private Boolean digitalFormatPresent;
|
||||
@Column(name = "mark_comment")
|
||||
private Integer markComment;
|
||||
@Column(name = "mark_practice")
|
||||
private Integer markPractice;
|
||||
@Column(name = "predefence_comment")
|
||||
private String predefenceComment;
|
||||
@Column(name = "normal_control")
|
||||
private String normalControl;
|
||||
@Column(name = "anti_plagiarism")
|
||||
private Integer antiPlagiarism;
|
||||
@Column(name = "note")
|
||||
private String note;
|
||||
@Column(name = "record_book_returned")
|
||||
private Boolean recordBookReturned;
|
||||
@Column(name = "work")
|
||||
private String work;
|
||||
@OneToOne
|
||||
@JoinColumn(name = "user_id", nullable = false)
|
||||
private User user;
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "diploma_topic_id", nullable = false)
|
||||
private DiplomaTopic diplomaTopic;
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "mentor_user_id", nullable = false)
|
||||
private User mentorUser;
|
||||
@ManyToOne
|
||||
@JoinColumn(name = "group_id", nullable = false)
|
||||
private Group group;
|
||||
|
||||
}
|
||||
45
src/main/java/ru/tubryansk/tdms/entity/User.java
Normal file
45
src/main/java/ru/tubryansk/tdms/entity/User.java
Normal file
@ -0,0 +1,45 @@
|
||||
package ru.tubryansk.tdms.entity;
|
||||
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.time.ZonedDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table(name = "user", schema = "vkr")
|
||||
public class User {
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@GeneratedValue(strategy = GenerationType.SEQUENCE)
|
||||
private Integer id;
|
||||
@Column(name = "login", nullable = false, unique = true)
|
||||
private String login;
|
||||
@Column(name = "password", nullable = false)
|
||||
private String password;
|
||||
@Column(name = "full_name", nullable = false)
|
||||
private String fullName;
|
||||
@Column(name = "mail", nullable = false, unique = true)
|
||||
private String mail;
|
||||
@Column(name = "number_phone", nullable = false, unique = true)
|
||||
private String numberPhone;
|
||||
@Column(name = "create_at", nullable = false)
|
||||
private ZonedDateTime createAt;
|
||||
@Column(name = "update_at")
|
||||
private ZonedDateTime updateAt;
|
||||
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||
@JoinTable(name = "user_role",schema = "vkr",
|
||||
joinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id"),
|
||||
inverseJoinColumns = @JoinColumn(name = "role_id", referencedColumnName = "id"))
|
||||
private List<Role> userLoyaltyLevels;
|
||||
|
||||
}
|
||||
@ -6,7 +6,6 @@ spring:
|
||||
username: root
|
||||
password: root
|
||||
driver-class-name: org.postgresql.Driver
|
||||
|
||||
jpa:
|
||||
open-in-view: false
|
||||
show-sql: true
|
||||
@ -14,3 +13,9 @@ spring:
|
||||
properties.hibernate:
|
||||
pretty_print: true
|
||||
format_sql: true
|
||||
flyway:
|
||||
user: root
|
||||
password: root
|
||||
schemas: vkr
|
||||
locations: db.migration
|
||||
url: jdbc:postgresql://localhost:5432/db
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
create table vkr.role
|
||||
(
|
||||
id integer primary key generated by default as identity,
|
||||
name text not null unique
|
||||
)
|
||||
@ -0,0 +1,12 @@
|
||||
create table vkr.user
|
||||
(
|
||||
id integer primary key generated by default as identity,
|
||||
login text not null unique,
|
||||
password text not null,
|
||||
full_name text not null,
|
||||
mail text not null unique,
|
||||
number_phone text not null unique,
|
||||
create_at timestamp(6) with time zone not null,
|
||||
update_at timestamp(6) with time zone
|
||||
|
||||
)
|
||||
@ -0,0 +1,9 @@
|
||||
create table vkr.user_role
|
||||
(
|
||||
user_id integer not null,
|
||||
role_id integer not null,
|
||||
foreign key (user_id) references vkr.user (id)
|
||||
on delete cascade,
|
||||
foreign key (role_id) references vkr.role (id)
|
||||
on delete cascade
|
||||
)
|
||||
@ -0,0 +1,5 @@
|
||||
create table vkr.diploma_topic
|
||||
(
|
||||
id integer primary key generated by default as identity,
|
||||
name text not null unique
|
||||
)
|
||||
@ -0,0 +1,9 @@
|
||||
create table vkr.group
|
||||
(
|
||||
id integer primary key generated by default as identity,
|
||||
name text not null unique,
|
||||
principal_user_id integer not null,
|
||||
foreign key (principal_user_id) references vkr.user (id)
|
||||
on delete cascade
|
||||
|
||||
)
|
||||
@ -0,0 +1,24 @@
|
||||
create table vkr.student
|
||||
(
|
||||
id integer primary key generated by default as identity,
|
||||
form boolean,
|
||||
protection_order integer not null,
|
||||
magistracy text,
|
||||
digital_format_present boolean,
|
||||
mark_comment integer,
|
||||
mark_practice integer,
|
||||
predefence_comment text,
|
||||
normal_control text,
|
||||
anti_plagiarism int,
|
||||
note text,
|
||||
record_book_returned boolean,
|
||||
work text,
|
||||
user_id integer not null,
|
||||
diploma_topic_id integer not null,
|
||||
mentor_user_id integer not null,
|
||||
group_id integer not null,
|
||||
foreign key (user_id) references vkr.user (id) on delete cascade,
|
||||
foreign key (diploma_topic_id) references vkr.diploma_topic (id) on delete cascade,
|
||||
foreign key (mentor_user_id) references vkr.user (id) on delete cascade,
|
||||
foreign key (group_id) references vkr.group (id) on delete cascade
|
||||
)
|
||||
Loading…
Reference in New Issue
Block a user