mirror of
https://github.com/Sheldan/abstracto.git
synced 2026-04-14 03:45:57 +00:00
[AB-103] adding triggers to update created and updating attributes on tables
fixing error handling in installer merging change sets to larger operations adding check constraints fixing suggestion id handling applying naming conventions to various columns adding indices to tables adding user in server and user locking
This commit is contained in:
@@ -50,8 +50,8 @@ public interface UserExperienceRepository extends JpaRepository<AUserExperience
|
||||
*/
|
||||
@Query(value = "WITH user_experience_ranked AS" +
|
||||
"( " +
|
||||
" SELECT us.id, us.experience, us.experience_role_id, us.level_id, us.message_count, ROW_NUMBER() OVER ( ORDER BY experience DESC ) " +
|
||||
" FROM user_experience us INNER JOIN user_in_server uis ON us.id = uis.user_in_server_id INNER JOIN server s ON s.id = uis.server_reference WHERE s.id = :serverId" +
|
||||
" SELECT us.id, us.experience, us.role_id, us.level_id, us.message_count, ROW_NUMBER() OVER ( ORDER BY experience DESC ) " +
|
||||
" FROM user_experience us INNER JOIN user_in_server uis ON us.id = uis.user_in_server_id INNER JOIN server s ON s.id = uis.server_id WHERE s.id = :serverId" +
|
||||
") " +
|
||||
"SELECT rank.id as \"id\", rank.experience as \"experience\", rank.message_count as \"messageCount\", rank.level_id as \"level\", rank.row_number as \"rank\" " +
|
||||
"FROM user_experience_ranked rank " +
|
||||
|
||||
@@ -91,6 +91,7 @@ public class ExperienceRoleManagementServiceBean implements ExperienceRoleManage
|
||||
} else {
|
||||
experienceRole = AExperienceRole
|
||||
.builder()
|
||||
.id(role.getId())
|
||||
.level(level)
|
||||
.roleServer(role.getServer())
|
||||
.role(role)
|
||||
|
||||
@@ -6,19 +6,25 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/dbchangelog-ext ../../dbchangelog-3.8.xsd
|
||||
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
|
||||
<changeSet author="Sheldan" id="disabled_experience_roles-table">
|
||||
<createTable tableName="disabled_experience_roles">
|
||||
<changeSet author="Sheldan" id="disabled_experience_role-table">
|
||||
<createTable tableName="disabled_experience_role">
|
||||
<column autoIncrement="true" name="id" type="BIGINT">
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="disabled_experience_roles_pkey"/>
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="disabled_experience_role_pkey"/>
|
||||
</column>
|
||||
<column name="role_id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="Sheldan" id="disabled_experience_roles-fk_disabled_experience_role_role">
|
||||
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="disabled_experience_roles" constraintName="fk_disabled_experience_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||
<addForeignKeyConstraint baseColumnNames="id" baseTableName="disabled_experience_role" constraintName="fk_disabled_experience_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS disabled_experience_role_update_trigger ON disabled_experience_role;
|
||||
CREATE TRIGGER disabled_experience_role_update_trigger BEFORE UPDATE ON disabled_experience_role FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||
</sql>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS disabled_experience_role_insert_trigger ON disabled_experience_role;
|
||||
CREATE TRIGGER disabled_experience_role_insert_trigger BEFORE INSERT ON disabled_experience_role FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
@@ -11,9 +11,22 @@
|
||||
<column name="level" type="INTEGER">
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="experience_level_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="experience_needed" type="BIGINT"/>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="experience_needed" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</createTable>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS experience_level_update_trigger ON experience_level;
|
||||
CREATE TRIGGER experience_level_update_trigger BEFORE UPDATE ON experience_level FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||
</sql>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS experience_level_insert_trigger ON experience_level;
|
||||
CREATE TRIGGER experience_level_insert_trigger BEFORE INSERT ON experience_level FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
</databaseChangeLog>
|
||||
@@ -8,30 +8,30 @@
|
||||
http://www.liquibase.org/xml/ns/pro ../../dbchangelog-3.8.xsd" >
|
||||
<changeSet author="Sheldan" id="experience_role-table">
|
||||
<createTable tableName="experience_role">
|
||||
<column autoIncrement="true" name="id" type="BIGINT">
|
||||
<column name="id" type="BIGINT">
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="experience_role_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="level_id" type="INTEGER">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="role_id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="server_id" type="BIGINT">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="experience_role-fk_experience_role_level">
|
||||
<addForeignKeyConstraint baseColumnNames="level_id" baseTableName="experience_role" constraintName="fk_experience_role_level" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="level" referencedTableName="experience_level" validate="true"/>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="experience_role-fk_experience_role_role">
|
||||
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="experience_role" constraintName="fk_experience_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="Sheldan" id="experience_role-fk_experience_role_server">
|
||||
<addForeignKeyConstraint baseColumnNames="id" baseTableName="experience_role" constraintName="fk_experience_role_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="role" validate="true"/>
|
||||
<addForeignKeyConstraint baseColumnNames="server_id" baseTableName="experience_role" constraintName="fk_experience_role_server" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="server" validate="true"/>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS experience_role_update_trigger ON experience_role;
|
||||
CREATE TRIGGER experience_role_update_trigger BEFORE UPDATE ON experience_role FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||
</sql>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS experience_role_insert_trigger ON experience_role;
|
||||
CREATE TRIGGER experience_role_insert_trigger BEFORE INSERT ON experience_role FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
||||
</sql>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -11,22 +11,34 @@
|
||||
<column name="id" type="BIGINT">
|
||||
<constraints nullable="false" primaryKey="true" primaryKeyName="user_experience_pkey"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="experience" type="BIGINT"/>
|
||||
<column name="experience_gain_disabled" type="BOOLEAN"/>
|
||||
<column name="message_count" type="BIGINT"/>
|
||||
<column name="experience" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="experience_gain_disabled" type="BOOLEAN">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="message_count" type="BIGINT">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="created" type="TIMESTAMP WITHOUT TIME ZONE">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
<column name="updated" type="TIMESTAMP WITHOUT TIME ZONE"/>
|
||||
<column name="experience_role_id" type="BIGINT"/>
|
||||
<column name="role_id" type="BIGINT"/>
|
||||
<column name="level_id" type="INTEGER">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
</createTable>
|
||||
<addForeignKeyConstraint baseColumnNames="level_id" baseTableName="user_experience" constraintName="fk_user_experience_level" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="level" referencedTableName="experience_level" validate="true"/>
|
||||
<addForeignKeyConstraint baseColumnNames="role_id" baseTableName="user_experience" constraintName="fk_user_experience_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="experience_role" validate="true"/>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS user_experience_update_trigger ON user_experience;
|
||||
CREATE TRIGGER user_experience_update_trigger BEFORE UPDATE ON user_experience FOR EACH ROW EXECUTE PROCEDURE update_trigger_procedure();
|
||||
</sql>
|
||||
<sql>
|
||||
DROP TRIGGER IF EXISTS user_experience_insert_trigger ON user_experience;
|
||||
CREATE TRIGGER user_experience_insert_trigger BEFORE INSERT ON user_experience FOR EACH ROW EXECUTE PROCEDURE insert_trigger_procedure();
|
||||
</sql>
|
||||
</changeSet>
|
||||
|
||||
<changeSet author="Sheldan" id="user_experience-fk_user_experience_level">
|
||||
<addForeignKeyConstraint baseColumnNames="level_id" baseTableName="user_experience" constraintName="fk_user_experience_level" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="level" referencedTableName="experience_level" validate="true"/>
|
||||
</changeSet>
|
||||
<changeSet author="Sheldan" id="user_experience-fk_user_experience_role">
|
||||
<addForeignKeyConstraint baseColumnNames="experience_role_id" baseTableName="user_experience" constraintName="fk_user_experience_role" deferrable="false" initiallyDeferred="false" onDelete="NO ACTION" onUpdate="NO ACTION" referencedColumnNames="id" referencedTableName="experience_role" validate="true"/>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
Reference in New Issue
Block a user