Class AbstractProjectUpdater

java.lang.Object
org.pgcodekeeper.core.database.base.project.AbstractProjectUpdater
All Implemented Interfaces:
IProjectUpdater
Direct Known Subclasses:
ChProjectUpdater, MsProjectUpdater, PgProjectUpdater

public abstract class AbstractProjectUpdater extends Object implements IProjectUpdater
Abstract base class for database project updaters that provides common update functionality for different database types (PostgreSQL, MS SQL, ClickHouse).

Handles partial and full updates of database projects with safe backup and restore functionality. Supports overrides-only updates and manages temporary directories for safe atomic operations.

Subclasses must implement database-specific methods for directory structure and model exporters.

  • Method Details

    • updatePartial

      public void updatePartial() throws IOException
      Description copied from interface: IProjectUpdater
      Performs partial update of database project. Updates only changed objects with safe backup and restore on failure.
      Specified by:
      updatePartial in interface IProjectUpdater
      Throws:
      IOException - if update operation fails
    • updateFull

      public void updateFull(boolean projectOnly) throws IOException
      Description copied from interface: IProjectUpdater
      Performs full update of database project. Completely regenerates project structure with optional overrides preservation.
      Specified by:
      updateFull in interface IProjectUpdater
      Parameters:
      projectOnly - whether to preserve overrides directory during update
      Throws:
      IOException - if update operation fails