{"id":23122864,"url":"https://github.com/wissance/springuu","last_synced_at":"2026-04-24T21:31:46.196Z","repository":{"id":133047539,"uuid":"283185593","full_name":"Wissance/SpringUu","owner":"Wissance","description":"Code first With SpringBoot 2.x and Hibernate using Liquibase","archived":false,"fork":false,"pushed_at":"2021-04-26T19:21:53.000Z","size":59,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-11T09:08:38.544Z","etag":null,"topics":["codefirst","codefirst-hibernate","liquibase-extension","spring-boot"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Wissance.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-28T10:57:45.000Z","updated_at":"2021-04-24T16:04:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"54163e39-4c30-41eb-a6a6-ee6b985d5612","html_url":"https://github.com/Wissance/SpringUu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Wissance/SpringUu","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FSpringUu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FSpringUu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FSpringUu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FSpringUu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Wissance","download_url":"https://codeload.github.com/Wissance/SpringUu/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Wissance%2FSpringUu/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32241591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["codefirst","codefirst-hibernate","liquibase-extension","spring-boot"],"created_at":"2024-12-17T07:31:05.882Z","updated_at":"2026-04-24T21:31:46.181Z","avatar_url":"https://github.com/Wissance.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Description\n   SpringUu is a spring Ultimate Utils that makse easier life and work with Spring Boot 2+.\n\n## Usefull tools:\n    - easily generate migration and include in changelog.xml\n\nCurrently ALL tools are working ONLY with Gradle build system\n\n    1.  Utilities for Code First approach with Spring Boot, JPA, Hibernate using Liquibase\n        this utility was built with native shell scripts:\n        - powershell for Windows\n        - bash for Linux, OSX (not ready)\n\n    ### Requirements:\n        1. Shell script must be located in the same directory as build.gradle\n        2. Gradle script must have special liquibase settings (see full example here: samples/gradleWithLiquibase):\n            liquibase {\n                activities {\n                    main {\n                        changeLogFile \"$projectDir/src/main/resources/db/changelog/changelog.xml\"\n                        outputFile outputLog\n                        driver \"org.postgresql.Driver\"\n                        url \"jdbc:postgresql://localhost:5432/webportal\"\n                        username \"developer\"\n                        password \"123\"\n                        referenceUrl \"hibernate:spring:com.wissance.webportal.application.model.entities?dialect=org.hibernate.dialect.PostgreSQL94Dialect\u0026hibernate.physical_naming_strategy=com.wissance.utils.SnakePhysicalNamingStrategy\"\n                        referenceDriver 'liquibase.ext.hibernate.database.connection.HibernateDriver'\n                    }\n                    changesGen {\n                        changeLogFile \"$projectDir/src/main/resources/db/changelog/newChangelog.xml\"\n                        outputFile outputLog\n                        driver \"org.postgresql.Driver\"\n                        url \"jdbc:postgresql://localhost:5432/webportal\"\n                        username \"developer\"\n                        password \"123\"\n                        referenceUrl \"hibernate:spring:com.wissance.webportal.application.model.entities?dialect=org.hibernate.dialect.PostgreSQL94Dialect\u0026hibernate.physical_naming_strategy=com.wissance.utils.SnakePhysicalNamingStrategy\"\n                        referenceDriver 'liquibase.ext.hibernate.database.connection.HibernateDriver'\n                    }\n                    // changesApply is used for Apply Migrations on Database\n                    changesApply {\n                        changeLogFile \"$projectDir/src/main/resources/db/changelog/changelog.xml\"\n                        outputFile outputLog\n                        driver \"org.postgresql.Driver\"\n                        url \"jdbc:postgresql://localhost:5432/webportal\"\n                        username \"developer\"\n                        password \"123\"\n                        referenceUrl \"hibernate:spring:com.wissance.webportal.application.model.entities?dialect=org.hibernate.dialect.PostgreSQL94Dialect\u0026hibernate.physical_naming_strategy=com.wissance.utils.SnakePhysicalNamingStrategy\"\n                        referenceDriver 'liquibase.ext.hibernate.database.connection.HibernateDriver'\n                    }\n                }\n                runList = project.ext.runList\n            }\n\n        3. You MUST include class SnakePhysicalNamingStrategy in your project and configure path in upper mentioned Gradle script\n        4. See package for models classes, in gradle settings it were set as - com.wissance.webportal.application.model.entities\n        5. In above example we assumed that we works with Postgres SQL and therefore your application.yml should be configured in following manner:\n        spring:\n          jpa:\n            show-sql: true\n            properties:\n              hibernate:\n                format_sql: true\n                enable_lazy_load_no_trans: true\n                naming:\n                  physical-strategy: com.wissance.utils.SnakePhysicalNamingStrategy\n            hibernate:\n              ddl-auto: none\n            database-platform: org.hibernate.dialect.PostgreSQL9Dialect\n    \n    ### Algorythm.\n    To generate migration based on changes between model and database state and include changes as SQL diff (migration) in changelog.xml (located on standard path: src\\main\\resources\\db\\changelog\\changelog.xml)\n    \n    Do following:\n        a. copy appropriate shell script to directory where you build.gradle file is located\n        b. configure your gradle script as was mentiond in Requirements section and copy class SnakePhysicalNamingStrategy into your project\n        c. if it is a first migration prepare database !!!! : .\\gradlew.bat update -PrunList='changesApply'\n        d. run .\\generateMigration.ps1 1 Initial or ./generateMigration.sh 1 Initial\n        e. apply migration manually or at application start with liquibase\n\n        Phase c. will possibly (IN FUTURE) moved inside c.\n\n    ### Future PLANS:\n        1. Create build.gradle for integration in any project\n        2. Create Java package with classes and include it in build.gradle from 1.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwissance%2Fspringuu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwissance%2Fspringuu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwissance%2Fspringuu/lists"}