Class PlatformConfig

    • Constructor Detail

      • PlatformConfig

        public PlatformConfig​(PlatformConfig platformConfig)
        Construct based on given config - typically for DbMigration generation with many platforms.
    • Method Detail

      • isAllQuotedIdentifiers

        public boolean isAllQuotedIdentifiers()
        Return true if all DB column and table names should use quoted identifiers.
      • setAllQuotedIdentifiers

        public void setAllQuotedIdentifiers​(boolean allQuotedIdentifiers)
        Set to true if all DB column and table names should use quoted identifiers.
      • setCaseSensitiveCollation

        public void setCaseSensitiveCollation​(boolean caseSensitiveCollation)
        Set to false to indicate that the collation is case insensitive.
      • isForUpdateNoKey

        public boolean isForUpdateNoKey()
        Return true if Postgres FOR UPDATE should use the NO KEY option.
      • setForUpdateNoKey

        public void setForUpdateNoKey​(boolean forUpdateNoKey)
        Set to true such that Postgres FOR UPDATE should use the NO KEY option.
      • getDatabaseBooleanTrue

        public String getDatabaseBooleanTrue()
        Return a value used to represent TRUE in the database.

        This is used for databases that do not support boolean natively.

        The value returned is either a Integer or a String (e.g. "1", or "T").

      • setDatabaseBooleanTrue

        public void setDatabaseBooleanTrue​(String databaseBooleanTrue)
        Set the value to represent TRUE in the database.

        This is used for databases that do not support boolean natively.

        The value set is either a Integer or a String (e.g. "1", or "T").

      • setDatabaseBooleanFalse

        public void setDatabaseBooleanFalse​(String databaseBooleanFalse)
        Set the value used to represent FALSE in the database.
      • getDatabaseSequenceBatchSize

        public int getDatabaseSequenceBatchSize()
        Return the number of DB sequence values that should be preallocated.
      • setDatabaseSequenceBatchSize

        public void setDatabaseSequenceBatchSize​(int databaseSequenceBatchSize)
        Set the number of DB sequence values that should be preallocated.
      • setGeometrySRID

        public void setGeometrySRID​(int geometrySRID)
        Set the Geometry SRID.
      • getIdType

        public IdType getIdType()
        Return the IdType to use (or null for the default choice).
      • setIdType

        public void setIdType​(IdType idType)
        Set the IdType to use (when the DB supports both SEQUENCE and IDENTITY and the default is not desired).
      • isDatabaseInetAddressVarchar

        public boolean isDatabaseInetAddressVarchar()
        Return true if InetAddress should map to varchar column (rather than Postgres INET).
      • setDatabaseInetAddressVarchar

        public void setDatabaseInetAddressVarchar​(boolean databaseInetAddressVarchar)
        Set to true to force InetAddress to map to varchar column.
      • addCustomMapping

        public void addCustomMapping​(DbType type,
                                     String columnDefinition,
                                     io.ebean.annotation.Platform platform)
        Add a custom type mapping.
        
        
           // set the default mapping for BigDecimal.class/decimal
           config.addCustomMapping(DbType.DECIMAL, "decimal(18,6)");
        
           // set the default mapping for String.class/varchar but only for Postgres
           config.addCustomMapping(DbType.VARCHAR, "text", Platform.POSTGRES);
        
         
        Parameters:
        type - The DB type this mapping should apply to
        columnDefinition - The column definition that should be used
        platform - Optionally specify the platform this mapping should apply to.
      • addCustomMapping

        public void addCustomMapping​(DbType type,
                                     String columnDefinition)
        Add a custom type mapping that applies to all platforms.
        
        
           // set the default mapping for BigDecimal/decimal
           config.addCustomMapping(DbType.DECIMAL, "decimal(18,6)");
        
           // set the default mapping for String/varchar
           config.addCustomMapping(DbType.VARCHAR, "text");
        
         
        Parameters:
        type - The DB type this mapping should apply to
        columnDefinition - The column definition that should be used