Skip to content

Commit ce597b4

Browse files
committed
#178: remove VARCHAR limit - check how it looks in db
1 parent 71cf0ea commit ce597b4

File tree

5 files changed

+66
-15
lines changed

5 files changed

+66
-15
lines changed

src/main/java/de/doubleslash/keeptime/model/ExternalProjectMapping.java

Lines changed: 52 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616

1717
package de.doubleslash.keeptime.model;
1818

19-
import de.doubleslash.keeptime.model.persistenceconverter.ColorConverter;
2019
import jakarta.persistence.*;
21-
import javafx.scene.paint.Color;
2220

2321
@Entity
2422
@Table(name = "ExternalProjectMapping")
@@ -29,10 +27,15 @@ public class ExternalProjectMapping {
2927
@Column(name = "id", updatable = false, nullable = false)
3028
private long id;
3129

32-
// TODO maybe add a externalSystem Identifier
30+
@Enumerated(EnumType.STRING)
31+
private ExternalSystem externalSystemId;
3332

33+
private String externalProjectName;
34+
35+
private long externalTaskId;
36+
private String externalTaskName;
3437
@Lob
35-
private String externalProjectData;
38+
private String externalTaskMetadata;
3639

3740
@ManyToOne
3841
private Project project;
@@ -41,24 +44,62 @@ public ExternalProjectMapping() {
4144
// Needed for jpa
4245
}
4346

44-
public ExternalProjectMapping(final String externalProjectData, final Project project) {
45-
this.externalProjectData = externalProjectData;
47+
public ExternalProjectMapping(ExternalSystem externalSystemId, String externalProjectName,
48+
long externalTaskId, String externalTaskName, String externalTaskMetadata,
49+
Project project) {
50+
this.externalSystemId = externalSystemId;
51+
this.externalProjectName = externalProjectName;
52+
this.externalTaskId = externalTaskId;
53+
this.externalTaskName = externalTaskName;
54+
this.externalTaskMetadata = externalTaskMetadata;
4655
this.project = project;
4756
}
4857

49-
public String getExternalProjectData() {
50-
return externalProjectData;
58+
public ExternalSystem getExternalSystemId() {
59+
return externalSystemId;
60+
}
61+
62+
public void setExternalSystemId(ExternalSystem externalSystemId) {
63+
this.externalSystemId = externalSystemId;
64+
}
65+
66+
public String getExternalProjectName() {
67+
return externalProjectName;
68+
}
69+
70+
public void setExternalProjectName(String externalProjectName) {
71+
this.externalProjectName = externalProjectName;
72+
}
73+
74+
public long getExternalTaskId() {
75+
return externalTaskId;
76+
}
77+
78+
public void setExternalTaskId(long externalTaskId) {
79+
this.externalTaskId = externalTaskId;
80+
}
81+
82+
public String getExternalTaskName() {
83+
return externalTaskName;
84+
}
85+
86+
public void setExternalTaskName(String externalTaskName) {
87+
this.externalTaskName = externalTaskName;
88+
}
89+
90+
public String getExternalTaskMetadata() {
91+
return externalTaskMetadata;
5192
}
5293

53-
public void setExternalProjectData(final String externalProjectData) {
54-
this.externalProjectData = externalProjectData;
94+
public void setExternalTaskMetadata(String externalTaskMetadata) {
95+
this.externalTaskMetadata = externalTaskMetadata;
5596
}
5697

5798
public Project getProject() {
5899
return project;
59100
}
60101

61-
public void setProject(final Project project) {
102+
public void setProject(Project project) {
62103
this.project = project;
63104
}
64105
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package de.doubleslash.keeptime.model;
2+
3+
public enum ExternalSystem {
4+
Heimat
5+
}

src/main/java/de/doubleslash/keeptime/model/Setting.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ public class Setting {
1010
@Column(nullable = false, unique = true)
1111
private String setting;
1212

13-
@Lob
1413
private String settingValue;
1514

1615
public Setting(){

src/main/resources/db/migration/V1_1_7__migrate_settings_table_to_key_value.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
CREATE TABLE new_settings(
2-
setting VARCHAR(255) NOT NULL,
3-
setting_value CLOB,
2+
setting VARCHAR NOT NULL,
3+
setting_value VARCHAR NOT NULL,
44
PRIMARY KEY (setting)
55
);
66

src/main/resources/db/migration/V1_1_8__initial_heimat_integration.sql

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
CREATE TABLE external_project_mapping (
22
id BIGINT GENERATED BY DEFAULT AS IDENTITY,
33
project_id BIGINT NOT NULL,
4-
external_project_data CLOB NOT NULL,
4+
5+
external_system_id VARCHAR NOT NULL,
6+
7+
external_project_name VARCHAR NOT NULL,
8+
external_task_id BIGINT NOT NULL,
9+
external_task_name VARCHAR NOT NULL,
10+
external_task_metadata CLOB NOT NULL,
511

612
PRIMARY KEY (id),
713
FOREIGN KEY (project_id) REFERENCES Project(id) ON DELETE CASCADE

0 commit comments

Comments
 (0)