mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-04 00:36:26 +00:00
[AB-263] adding stricter not null checks to database, disabling updates/inserts for created and updated columns to only rely on triggers
This commit is contained in:
@@ -12,7 +12,7 @@
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="disabled_experience_role_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
</createTable>
|
||||
|
||||
@@ -12,11 +12,11 @@
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="experience_level_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="experience_needed" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</createTable>
|
||||
<sql>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="experience_role_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="level_id" type="INTEGER">
|
||||
|
||||
@@ -12,16 +12,16 @@
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="user_experience_pkey"/>
|
||||
</column>
|
||||
<column name="experience" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="experience_gain_disabled" type="BOOLEAN">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="message_count" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="role_id" type="BIGINT"/>
|
||||
|
||||
@@ -24,7 +24,7 @@ public class ADisabledExpRole implements Serializable {
|
||||
* The ID of the {@link ARole role} which is being marked to be used as a marker for {@link net.dv8tion.jda.api.entities.Member} which should not gain experience
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@Column(name = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -37,12 +37,12 @@ public class ADisabledExpRole implements Serializable {
|
||||
/**
|
||||
* The {@link Instant} this entity was created
|
||||
*/
|
||||
@Column(name = "created")
|
||||
@Column(name = "created", nullable = false, insertable = false, updatable = false)
|
||||
private Instant created;
|
||||
|
||||
/**
|
||||
* The {@link Instant} this entity was updated
|
||||
*/
|
||||
@Column(name = "updated")
|
||||
@Column(name = "updated", insertable = false, updatable = false)
|
||||
private Instant updated;
|
||||
}
|
||||
|
||||
@@ -23,25 +23,25 @@ public class AExperienceLevel implements Serializable {
|
||||
* The unique level from 0 to as defined in the configuration. Will be created on startup.
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "level")
|
||||
@Column(name = "level", nullable = false)
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* The total amount of experience needed for this level.
|
||||
*/
|
||||
@Column(name = "experience_needed")
|
||||
@Column(name = "experience_needed", nullable = false)
|
||||
private Long experienceNeeded;
|
||||
|
||||
/**
|
||||
* The {@link Instant} this entity was created
|
||||
*/
|
||||
@Column(name = "created")
|
||||
@Column(name = "created", nullable = false, insertable = false, updatable = false)
|
||||
private Instant created;
|
||||
|
||||
/**
|
||||
* The {@link Instant} this entity was updated
|
||||
*/
|
||||
@Column(name = "updated")
|
||||
@Column(name = "updated", insertable = false, updatable = false)
|
||||
private Instant updated;
|
||||
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ public class AExperienceRole implements Serializable {
|
||||
* The ID of the {@link ARole} to be awarded at a certain experience level
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@Column(name = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -57,13 +57,13 @@ public class AExperienceRole implements Serializable {
|
||||
/**
|
||||
* The {@link Instant} this entity was created
|
||||
*/
|
||||
@Column(name = "created")
|
||||
@Column(name = "created", nullable = false, insertable = false, updatable = false)
|
||||
private Instant created;
|
||||
|
||||
/**
|
||||
* The {@link Instant} this entity was updated
|
||||
*/
|
||||
@Column(name = "updated")
|
||||
@Column(name = "updated", insertable = false, updatable = false)
|
||||
private Instant updated;
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,7 +27,7 @@ public class AUserExperience implements Serializable {
|
||||
* The ID of the {@link AUserInAServer user} which is represented by this object
|
||||
*/
|
||||
@Id
|
||||
@Column(name = "id")
|
||||
@Column(name = "id", nullable = false)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
@@ -44,20 +44,21 @@ public class AUserExperience implements Serializable {
|
||||
/**
|
||||
* The total amount of experience the user has in the guild
|
||||
*/
|
||||
@Column(name = "experience")
|
||||
@Column(name = "experience", nullable = false)
|
||||
private Long experience;
|
||||
|
||||
/**
|
||||
* The total amount of messages the user has written in the guild resulting in the experience.
|
||||
*/
|
||||
@Column(name = "message_count")
|
||||
@Column(name = "message_count", nullable = false)
|
||||
private Long messageCount;
|
||||
|
||||
/**
|
||||
* Whether or not the experience gain has been disabled for this user
|
||||
*/
|
||||
@Column(name = "experience_gain_disabled")
|
||||
private Boolean experienceGainDisabled;
|
||||
@Builder.Default
|
||||
@Column(name = "experience_gain_disabled", nullable = false)
|
||||
private Boolean experienceGainDisabled = false;
|
||||
|
||||
/**
|
||||
* The {@link AExperienceLevel level} which the user currently has.
|
||||
@@ -76,13 +77,13 @@ public class AUserExperience implements Serializable {
|
||||
/**
|
||||
* The {@link Instant} this entity was created
|
||||
*/
|
||||
@Column(name = "created")
|
||||
@Column(name = "created", nullable = false, insertable = false, updatable = false)
|
||||
private Instant created;
|
||||
|
||||
/**
|
||||
* The {@link Instant} this entity was updated
|
||||
*/
|
||||
@Column(name = "updated")
|
||||
@Column(name = "updated", insertable = false, updatable = false)
|
||||
private Instant updated;
|
||||
|
||||
public Integer getLevelOrDefault() {
|
||||
|
||||
Reference in New Issue
Block a user