All Downloads are FREE. Search and download functionalities are using the official Maven repository.

liquibase.template-changeLog.yml Maven / Gradle / Ivy

databaseChangeLog:

- changeSet:
    id:               application-blocks-security-1506594404000-1
    author:           mobreza
    comment:          Rename 'clientrole' to  'oauthclientrole'
    changes:
    - renameTable:
        oldTableName: clientrole
        newTableName: oauthclientrole

- changeSet:
    id:                                application-blocks-security-1506594404000-2
    author:                            matijaobreza
    comment:                           Create 'oauthclientrole'
    changes:
    - createTable:
        tableName:                     oauthclientrole
        remarks:                       OAuth Client role list
        columns:
        - column:
            name:                      client_id
            type:                      bigint
            constraints:
              nullable:                false
        - column:
            name:                      oauthclientrole
            type:                      varchar(200)
            constraints:
              nullable:                false
    - addForeignKeyConstraint:
        constraintName:  FK_m2da63y1tfs7mmuv9rht8udt7
        baseTableName:   oauthclientrole
        baseColumnNames: client_id
        referencedTableName: oauthclient
        referencedColumnNames: id
        onDelete: CASCADE
        onUpdate: CASCADE


# appblocks-1.3-SNAPSHOT

- changeSet:
    id:                                application-blocks-security-1506594404000-3
    author:                            matijaobreza
    comment:                           Add title, description
    changes:
    - addColumn:
        tableName:                     oauthclient
        columns:
        - column:
            name:                      title
            type:                      varchar(200)
            constraints:
              nullable:                false
        - column:
            name:                      description
            type:                      clob


- changeSet:
    id:                                application-blocks-security-1507137884-1
    author:                            matijaobreza
    comment:                           Add refreshToken#clientId
    changes:
    - addColumn:
        tableName:                     oauthrefreshtoken
        columns:
        - column:
            name:                      clientId
            type:                      varchar(100)
            constraints:
              nullable:                false


- changeSet:
    id:                                application-blocks-security-1507137884-2
    author:                            matijaobreza
    comment:                           Extend OAuth Tokens
    changes:
    - addColumn:
        tableName:                     oauthaccesstoken
        columns:
        - column:
            name:                      expiration
            type:                      datetime
    - addColumn:
        tableName:                     oauthrefreshtoken
        columns:
        - column:
            name:                      expiration
            type:                      datetime
        - column:
            name:                      username
            type:                      varchar(100)


# User and OAuthClient extend AclSid
- changeSet:
    id:                        1509390480000-1
    author:                    matijaobreza
    comment:                   Migrate ACL to app-blocks-1.3-SNAPSHOT
    changes:
    - dropForeignKeyConstraint:
        baseTableName:         acl_entry
        constraintName:        FK_fhuoesmjef3mrv0gpja4shvcr
    - dropForeignKeyConstraint:
        baseTableName:         acl_entry
        constraintName:        FK_i6xyfccd4y3wlwhgwpo4a9rm1
    - dropForeignKeyConstraint:
        baseTableName:         acl_object_identity
        constraintName:        FK_nxv5we2ion9fwedbkge7syoc3
    - dropUniqueConstraint:
        tableName:             acl_entry
        constraintName:        UK_gh5egfpe4gaqokya6s0567b0l
    - renameTable:
        oldTableName:          acl_sid
        newTableName:          acl_sid_backup
    - renameTable:
        oldTableName:          acl_entry
        newTableName:          acl_entry_backup
    - createTable:
        columns:
        - column:
            constraints:
              nullable:        true
            name:              type
            type:              INT
        - column:
            autoIncrement:     true
            constraints:
              primaryKey:      true
            name:              id
            type:              BIGINT
        - column:
            constraints:
              nullable:        false
            name:              active
            type:              BIT(1)
            defaultValue:      true
        - column:
            constraints:
              nullable:        false
            name:              version
            type:              INT
        - column:
            name:              createdBy
            type:              BIGINT
        - column:
            name:              createdDate
            type:              datetime(6)
        - column:
            name:              lastModifiedBy
            type:              BIGINT
        - column:
            name:              lastModifiedDate
            type:              datetime(6)
        - column:
            constraints:
              nullable:        false
            name:              principal
            type:              BIT(1)
        - column:
            constraints:
              nullable:        false
            name:              sid
            type:              VARCHAR(100)
        tableName:             acl_sid
    - createTable:
        columns:
        - column:
            autoIncrement:     true
            constraints:
              primaryKey:      true
            name:              id
            type:              BIGINT
        - column:
            constraints:
              nullable:        false
            name:              ace_order
            type:              BIGINT
        - column:
            constraints:
              nullable:        false
            name:              audit_failure
            type:              BIT(1)
        - column:
            constraints:
              nullable:        false
            name:              audit_success
            type:              BIT(1)
        - column:
            constraints:
              nullable:        false
            name:              granting
            type:              BIT(1)
        - column:
            constraints:
              nullable:        false
            name:              mask
            type:              BIGINT
        - column:
            constraints:
              nullable:        false
            name:              acl_object_identity
            type:              BIGINT
        - column:
            constraints:
              nullable:        false
            name:              sid
            type:              BIGINT
        tableName:             acl_entry
    - addUniqueConstraint:
        columnNames:           acl_object_identity, ace_order
        constraintName:        UK_gh5egfpe4gaqokya6s0567b0l
        tableName:             acl_entry
    # Migrate User data to AclSid
    - sql:
        comment:               Migrate all users with their existing IDs to acl_sid
        sql:                   >-
          insert into acl_sid
            (type, id, active, version, createdBy, createdDate, lastModifiedBy,
             lastModifiedDate, principal, sid)
          select
            1, id, active, version, createdBy, createdDate, lastModifiedBy,
            lastModifiedDate, true, uuid
          from user;
    - addForeignKeyConstraint:
        baseColumnNames:       id
        baseTableName:         user
        constraintName:        FK_8qtpnv06elxuryeuv1ac4ximm
        deferrable:            false
        initiallyDeferred:     false
        onDelete:              NO ACTION
        onUpdate:              NO ACTION
        referencedColumnNames: id
        referencedTableName:   acl_sid
    - dropColumn:
        tableName:             user
        columnName:            active
    - dropColumn:
        tableName:             user
        columnName:            version
    - dropColumn:
        tableName:             user
        columnName:            createdBy
    - dropColumn:
        tableName:             user
        columnName:            createdDate
    - dropColumn:
        tableName:             user
        columnName:            lastModifiedBy
    - dropColumn:
        tableName:             user
        columnName:            lastModifiedDate
    # Migrate OAuthClient data to AclSid
    - sql:
        comment:               Migrate OAuthClient to AclSid, they get new IDs, but we can find them with clientId as acl_sid.sid
        sql:                   >-
          insert into acl_sid
            (type, active, version, createdBy, createdDate, lastModifiedBy,
            lastModifiedDate, principal, sid)
          select
            2, active, version, createdBy, createdDate, lastModifiedBy,
            lastModifiedDate, true, clientId
          from oauthclient;
    - sql:
        comment:               Update OAuthClient#id values to their new IDs as per acl_sid
        sql:                   >-
          update oauthclient oa
            join acl_sid sid on sid.sid=oa.clientId
          set oa.id=sid.id
    - addForeignKeyConstraint:
        baseColumnNames:       id
        baseTableName:         oauthclient
        constraintName:        FK_j9t6kj0254t7knyn57orqyaxk
        deferrable:            false
        initiallyDeferred:     false
        onDelete:              NO ACTION
        onUpdate:              NO ACTION
        referencedColumnNames: id
        referencedTableName:   acl_sid
    - dropColumn:
        tableName:             oauthclient
        columnName:            active
    - dropColumn:
        tableName:             oauthclient
        columnName:            version
    - dropColumn:
        tableName:             oauthclient
        columnName:            createdBy
    - dropColumn:
        tableName:             oauthclient
        columnName:            createdDate
    - dropColumn:
        tableName:             oauthclient
        columnName:            lastModifiedBy
    - dropColumn:
        tableName:             oauthclient
        columnName:            lastModifiedDate

    # Migrate acl_object_identity#owner_sid because these have changed
    - sql:
        comment:               Migrate acl_object_identity#owner_sid because these have changed
        sql:                   >-
          update acl_object_identity oid
            join acl_sid_backup oldsid on oldsid.id=oid.owner_sid
            join acl_sid newsid on newsid.sid=oldsid.sid
          set oid.owner_sid=newsid.id
    - addForeignKeyConstraint:
        baseColumnNames:       owner_sid
        baseTableName:         acl_object_identity
        constraintName:        FK_nxv5we2ion9fwedbkge7syoc3
        deferrable:            false
        initiallyDeferred:     false
        onDelete:              NO ACTION
        onUpdate:              NO ACTION
        referencedColumnNames: id
        referencedTableName:   acl_sid
    # Migrate acl_sid_backup data for authorities (roles) -- i.e. everything that has not moved
    - sql:
        comment: Delete invalid authority records from acl_sid_backup (users and oauthclients)
        sql: >-
          delete oldsid from acl_sid_backup oldsid
            inner join acl_sid newsid on newsid.sid=oldsid.sid
          where oldsid.principal = 0;
    - sql:
        comment: Generate new acl_sid for ROLE entries (AclSid.type==0)
        sql: >-
          insert into acl_sid
            (type, active, version, createdBy, createdDate, lastModifiedBy,
            lastModifiedDate, principal, sid)
          select
            0, 1, 0, null, now(), null,
            now(), false, sid
          from acl_sid_backup where principal = 0;
    # Migrate acl_entry data
    - sql:
        comment: Migrate acl_entry_backup data to acl_entry, using new acl_sid#id instead of the old one
        sql: >-
          insert into acl_entry
            (ace_order, audit_failure, audit_success, granting, mask, acl_object_identity, sid)
          select
            e.ace_order, e.audit_failure, e.audit_success, e.granting, e.mask, e.acl_object_identity, newsid.id
          from acl_entry_backup e
            inner join acl_sid_backup oldsid on oldsid.id=e.sid
            inner join acl_sid newsid on newsid.sid=oldsid.sid;
    - dropTable:
        tableName: acl_sid_backup
    - dropTable:
        tableName: acl_entry_backup
    # Activate FK constraints
    - addForeignKeyConstraint:
        baseColumnNames:       acl_object_identity
        baseTableName:         acl_entry
        constraintName:        FK_fhuoesmjef3mrv0gpja4shvcr
        deferrable:            false
        initiallyDeferred:     false
        onDelete:              NO ACTION
        onUpdate:              NO ACTION
        referencedColumnNames: id
        referencedTableName:   acl_object_identity
    - addForeignKeyConstraint:
        baseColumnNames:       sid
        baseTableName:         acl_entry
        constraintName:        FK_i6xyfccd4y3wlwhgwpo4a9rm1
        deferrable:            false
        initiallyDeferred:     false
        onDelete:              NO ACTION
        onUpdate:              NO ACTION
        referencedColumnNames: id
        referencedTableName:   acl_sid

- changeSet:
    id:             1604046426016-1
    author:         mborodenko
    comment:        Add privateRecaptchaKey, publicRecaptchaKey
    changes:
    - addColumn:
        tableName:  oauthclient
        columns:
        - column:
            name:   privateRecaptchaKey
            type:   varchar(50)
        - column:
            name:   publicRecaptchaKey
            type:   varchar(50)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy