Package net.java.ao.schema.helper
Interface DatabaseMetaDataReader
- All Known Implementing Classes:
DatabaseMetaDataReaderImpl
public interface DatabaseMetaDataReader
-
Method Summary
Modifier and TypeMethodDescriptiongetFields
(DatabaseMetaData databaseMetaData, String tableName) Iterable<? extends ForeignKey>
getForeignKeys
(DatabaseMetaData databaseMetaData, String tableName) Gets the list of foreign keys for a given tablegetIndexes
(DatabaseMetaData databaseMetaData, String tableName) Gets the list of simple indexes for a given table.getTableNames
(DatabaseMetaData databaseMetaData) Gets the names of the existing tables in the DBboolean
isTablePresent
(DatabaseMetaData databaseMetaData, Class<? extends RawEntity<?>> type) Checks if the table corresponding to given type exists in the database.
-
Method Details
-
isTablePresent
Checks if the table corresponding to given type exists in the database.- Parameters:
databaseMetaData
- of the database to be checkedtype
- to check against- Returns:
- true if the table exists, false otherwise
-
getTableNames
Gets the names of the existing tables in the DB -
getFields
- Parameters:
databaseMetaData
-tableName
-- Returns:
-
getForeignKeys
Gets the list of foreign keys for a given table- Parameters:
databaseMetaData
- the database metadata to read the information fromtableName
- the name of the table from which to read the foreign keys- Returns:
- an
Iterable
of foreign keys
-
getIndexes
Gets the list of simple indexes for a given table. AO only supports single column indexes, and as such composite indexes will not be returned by this method even if they exist in the table. Prior to AO v1.1.4 this method returned fragments of composite indexes and it was then possible for the migration code to crash because it would try to delete the same index multiple times.- Parameters:
databaseMetaData
- the database metadata to read the information fromtableName
- the name of the table from which to read the indexes- Returns:
- an
Iterable
of simple indexes
-