|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectedu.internet2.middleware.grouper.ddl.GrouperDdlUtils
public class GrouperDdlUtils
Nested Class Summary | |
---|---|
static class |
GrouperDdlUtils.DbMetadataBean
bean |
Field Summary | |
---|---|
static boolean |
compareFromDbDllVersion
true to compare ddl from db version to the current java version, false to start over and find all diffs (without deleting existing) |
static boolean |
deepCheck
if check from scratch |
static boolean |
everythingRightVersion
if everything is the right version |
static boolean |
internal_printDdlUpdateMessage
set this to false for testing |
Constructor Summary | |
---|---|
GrouperDdlUtils()
|
Method Summary | |
---|---|
static boolean |
assertColumnThere(boolean expectTrue,
java.lang.String tableName,
java.lang.String columnName)
see if tables are there (at least the grouper groups one) |
static boolean |
assertTablesThere(boolean expectRecords,
boolean expectTrue)
see if tables are there (at least the grouper groups one) |
static boolean |
assertTablesThere(boolean expectRecords,
boolean expectTrue,
java.lang.String tableName,
boolean falseIfDropBeforeCreate)
see if tables are there (at least the grouper groups one) |
static void |
bootstrap(boolean callFromCommandLine,
boolean installDefaultGrouperData,
boolean promptUser)
startup the process, if the version table is not there, print out that ddl |
static boolean |
bootstrapHelper(boolean callFromCommandLine,
boolean fromUnitTest,
boolean theCompareFromDbVersion,
boolean theDropBeforeCreate,
boolean theWriteAndRunScript,
boolean dropOnly,
boolean installDefaultGrouperData,
java.util.Map<java.lang.String,DdlVersionable> maxVersions,
boolean promptUser)
helper method which is more easily testable |
static java.lang.String |
changeDatabase(java.lang.String objectName,
DdlUtilsChangeDatabase ddlUtilsChangeDatabase)
helper method to run custom db ddl, which is more easily testable TODO consolidate this code with the bootstrap code in the DdlVersionBean or somewhere Here is an example: GrouperDdlUtils.changeDatabase(GrouperDdl.V1.getObjectName(), new DdlUtilsChangeDatabase() { public void changeDatabase(DdlVersionBean ddlVersionBean) { Database database = ddlVersionBean.getDatabase(); { Table attributesTable = database.findTable(Attribute.TABLE_GROUPER_ATTRIBUTES); Column attributesFieldIdColumn = attributesTable.findColumn(Attribute.COLUMN_FIELD_ID); attributesTable.removeColumn(attributesFieldIdColumn); } { Table membershipsTable = database.findTable(Membership.TABLE_GROUPER_MEMBERSHIPS); Column membershipsFieldIdColumn = membershipsTable.findColumn(Membership.COLUMN_FIELD_ID); membershipsTable.removeColumn(membershipsFieldIdColumn); } } }); |
static java.lang.String |
convertUrlToDriverClassIfNeeded(java.lang.String connectionUrl,
java.lang.String driverClassName)
if there is no driver class specified, then try to derive it from the URL |
static java.lang.String |
convertUrlToHibernateDialectIfNeeded(java.lang.String connectionUrl,
java.lang.String hibernateDialect)
if there is no driver class specified, then try to derive it from the URL |
static java.lang.String |
convertUrlToQuartzDriverDelegateClassIfNeeded(java.lang.String connectionUrl,
java.lang.String driverClassName)
if there is no quartz driver class specified, then try to derive it from the URL |
static void |
ddlutilsBackupTable(DdlVersionBean ddlVersionBean,
java.lang.String tableName,
java.lang.String backupTableName)
backup a table into another table (which should not exist) |
static void |
ddlutilsColumnComment(DdlVersionBean ddlVersionBean,
java.lang.String objectName,
java.lang.String columnName,
java.lang.String comment)
add a table or view column comment if the DB supports it COMMENT ON COLUMN zip_code.zip_code IS '5 Digit Zip Code'; |
static void |
ddlutilsCreateOrReplaceView(DdlVersionBean ddlVersionBean,
java.lang.String viewName,
java.lang.String viewComment,
java.util.Set<java.lang.String> aliases,
java.util.Set<java.lang.String> columnComments,
java.lang.String sql)
add a view if the DB supports it |
static void |
ddlutilsDropColumn(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
java.lang.String columnName,
DdlVersionBean ddlVersionBean)
find and drop a column if it is there. |
static void |
ddlutilsDropColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
DdlVersionBean ddlVersionBean)
find and drop a column if it is there also drop all related indexes |
static void |
ddlutilsDropIndexes(org.apache.ddlutils.model.Table table,
java.lang.String columnName)
drop all indexes by column name (e.g. if removing column) |
static void |
ddlutilsDropTable(DdlVersionBean ddlVersionBean,
java.lang.String tableName,
boolean falseIfDropBeforeCreate)
find and drop a table if it is there |
static void |
ddlutilsDropViewIfExists(DdlVersionBean ddlVersionBean,
java.lang.String viewName,
boolean falseIfDropBeforeCreate)
drop a view if it is detected as existing |
static org.apache.ddlutils.model.Column |
ddlutilsFindColumn(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
java.lang.String columnName,
boolean exceptionIfNotFound)
find table, if not exist, throw exception |
static org.apache.ddlutils.model.Column |
ddlutilsFindColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
boolean exceptionOnNotFound)
find column, if not exist, throw exception |
static org.apache.ddlutils.model.Column |
ddlutilsFindOrCreateColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
int typeCode,
java.lang.String size,
boolean primaryKey,
boolean required)
find or create column with various properties |
static org.apache.ddlutils.model.Column |
ddlutilsFindOrCreateColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
int typeCode,
java.lang.String size,
boolean primaryKey,
boolean required,
java.lang.String defaultValue)
find or create column with various properties |
static org.apache.ddlutils.model.ForeignKey |
ddlutilsFindOrCreateForeignKey(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
java.lang.String foreignKeyName,
java.lang.String foreignTableName,
java.util.List<java.lang.String> localColumnNames,
java.util.List<java.lang.String> foreignColumnNames)
add a foreign key on a table. |
static org.apache.ddlutils.model.ForeignKey |
ddlutilsFindOrCreateForeignKey(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
java.lang.String foreignKeyName,
java.lang.String foreignTableName,
java.lang.String localColumnName,
java.lang.String foreignColumnName)
add a foreign key on a table. |
static org.apache.ddlutils.model.Index |
ddlutilsFindOrCreateIndex(org.apache.ddlutils.model.Database database,
DdlVersionBean ddlVersionBean,
java.lang.String tableName,
java.lang.String indexName,
java.lang.String customScript,
boolean unique,
java.lang.String... columnNames)
add an index on a table. |
static org.apache.ddlutils.model.Index |
ddlutilsFindOrCreateIndex(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
java.lang.String indexName,
boolean unique,
java.lang.String... columnNames)
add an index on a table. |
static org.apache.ddlutils.model.Table |
ddlutilsFindOrCreateTable(org.apache.ddlutils.model.Database database,
java.lang.String tableName)
find or create table |
static org.apache.ddlutils.model.Table |
ddlutilsFindTable(org.apache.ddlutils.model.Database database,
java.lang.String tableName,
boolean exceptionOnNotFound)
find table, if not exist, throw exception |
static org.apache.ddlutils.model.Column |
ddlutilsFixSizeColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
int typeCode,
java.lang.String size,
boolean primaryKey,
boolean required)
find or create column with various properties |
static org.apache.ddlutils.model.Column |
ddlutilsFixSizeColumn(org.apache.ddlutils.model.Table table,
java.lang.String columnName,
int typeCode,
java.lang.String size,
boolean primaryKey,
boolean required,
java.lang.String defaultValue)
find or create column with various properties |
static void |
ddlutilsTableComment(DdlVersionBean ddlVersionBean,
java.lang.String tableName,
java.lang.String tableComment)
add a table comment if the DB supports it |
static void |
ddlutilsViewComment(DdlVersionBean ddlVersionBean,
java.lang.String viewName,
java.lang.String tableComment)
add a view comment if the DB supports it |
static void |
deleteDdlById(java.lang.String id)
|
static void |
deleteUtfDdls()
delete all utf ddls |
static void |
dropAllForeignKeys(org.apache.ddlutils.model.Database database)
drop all foreign keys from a ddlutils database object |
static void |
dropAllForeignKeysScript(GrouperDdlUtils.DbMetadataBean dbMetadataBean,
DdlVersionBean ddlVersionBean)
drop all foreign keys (database dependent), and generate the script |
static GrouperDdlUtils.DbMetadataBean |
findDbMetadataBean(DdlVersionable ddlVersionable)
find the correct metadata for the DB |
static java.lang.String |
findScriptOverride(DdlVersionable dbObjectVersion,
java.lang.String dbname)
File name must be objectName.V#.dbname.sql e.g. |
static java.lang.String |
findScriptOverride(java.lang.String objectName,
int version,
java.lang.String dbNameExact)
get an override file (exact, dont look for the all ones like oracleall) File name must be objectName.V#.dbname.sql e.g. |
static int |
getTableCount(java.lang.String tableName,
boolean exceptionIfTableDoesNotExist)
Get the number of records in a table |
static boolean |
isHsql()
see if the config file seems to be hsql |
static boolean |
isHsql(java.lang.String connectionUrl)
see if the config file seems to be hsql |
static boolean |
isMysql()
see if the config file seems to be mysql |
static boolean |
isMysql(java.lang.String connectionUrl)
see if the config file seems to be mysql |
static boolean |
isOracle()
see if the config file seems to be oracle |
static boolean |
isOracle(java.lang.String connectionUrl)
see if the config file seems to be oracle |
static boolean |
isPostgres()
see if the config file seems to be postgres |
static boolean |
isPostgres(java.lang.String connectionUrl)
see if the config file seems to be postgres |
static boolean |
isSQLServer()
see if the config file seems to be sql server |
static boolean |
isSQLServer(java.lang.String connectionUrl)
see if the config file seems to be sql server |
static void |
main(java.lang.String[] args)
kick off bootstrap |
static java.lang.String |
objectName(java.lang.Enum dbObjectVersion)
find the object name from the db object version |
static boolean |
okToUseHibernate()
if we are inside the bootstrap, or if everything is ok, we are good to go |
static void |
removeAllTables(org.apache.ddlutils.model.Database database)
remove all objects, the foreign keys, then the tables |
static DdlVersionable |
retieveVersion(java.lang.String objectName,
int version)
retrieve a version of a ddl object versionable |
static Hib3GrouperDdl |
retrieveDdlByIdFromDatabase(java.lang.String id)
|
static Hib3GrouperDdl |
retrieveDdlByNameFromDatabase(java.lang.String objectName)
retrieve a DDL by name |
static int |
retrieveDdlDbVersion(java.lang.String objectName)
get the version of a ddl object in the DB |
static java.lang.Class<java.lang.Enum> |
retrieveDdlEnum(java.lang.String objectName)
the relationship between object name and the enum is as follows. |
static int |
retrieveDdlJavaVersion(java.lang.String objectName)
get the version of a ddl object in the DB |
static java.util.List<Hib3GrouperDdl> |
retrieveDdlsFromDb()
get all the ddls, put grouper at the front |
static java.lang.StringBuilder |
retrieveHistory(java.lang.String objectName)
find history for a certain object name |
static java.util.List<java.lang.String> |
retrieveObjectNames()
get the object names from the |
static org.apache.ddlutils.Platform |
retrievePlatform()
retrieve the ddl utils platform |
static org.apache.ddlutils.Platform |
retrievePlatform(boolean useCache)
retrieve the ddl utils platform |
static java.lang.String |
sqlConcatenation(java.lang.String field1,
java.lang.String field2)
Returns the sql to concatenate these two fields separated by the separator |
static java.lang.String |
sqlConcatenation(java.lang.String field1,
java.lang.String field2,
java.lang.String separator)
Returns the sql to concatenate these two fields separated by the separator |
static java.lang.String |
sqlRun(java.io.File scriptFile,
boolean fromUnitTest,
boolean printErrorToStdOut)
run a script file against the default database |
static java.lang.String |
sqlRun(java.io.File scriptFile,
java.lang.String driver,
java.lang.String url,
java.lang.String user,
java.lang.String pass,
boolean fromUnitTest,
boolean printErrorToStdOut)
run some sql |
static Hib3GrouperDdl |
storeAndReadUtfString(java.lang.String someUtfString,
java.lang.String id,
java.lang.String name)
store and read a utf string, but dont commit it so its doesnt stay in the database |
static Hib3GrouperDdl |
storeDdl(HibernateSession hibernateSession,
java.lang.String id,
java.lang.String name,
java.lang.String someUtfString)
|
static boolean |
tableExists(java.lang.String tableName)
see if tables are there (at least the grouper groups one) |
static void |
upgradeDatabaseVersion(org.apache.ddlutils.model.Database baseVersion,
org.apache.ddlutils.model.Database oldVersion,
int baseDatabaseVersion,
java.lang.String objectName,
int requestedVersion,
int upgradeToVersion,
java.lang.StringBuilder additionalScripts,
java.lang.StringBuilder fullScript,
org.apache.ddlutils.Platform platform,
java.sql.Connection connection,
java.lang.String schema,
org.apache.ddlutils.platform.SqlBuilder sqlBuilder)
get a database object of a certain version based on the existing database, and tack on all the enums up to the version we want (if any) |
static int |
versionIntFromEnum(java.lang.Enum ddlVersion)
find a version from an enum version int |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static boolean compareFromDbDllVersion
public static boolean everythingRightVersion
public static boolean internal_printDdlUpdateMessage
public static boolean deepCheck
Constructor Detail |
---|
public GrouperDdlUtils()
Method Detail |
---|
public static boolean isHsql()
public static boolean isHsql(java.lang.String connectionUrl)
connectionUrl
- url to check against
public static boolean isPostgres()
public static boolean isPostgres(java.lang.String connectionUrl)
connectionUrl
-
public static boolean isOracle()
public static boolean isOracle(java.lang.String connectionUrl)
connectionUrl
-
public static boolean isMysql()
public static boolean isMysql(java.lang.String connectionUrl)
connectionUrl
-
public static boolean isSQLServer()
public static boolean isSQLServer(java.lang.String connectionUrl)
connectionUrl
-
public static boolean okToUseHibernate()
public static org.apache.ddlutils.Platform retrievePlatform()
public static org.apache.ddlutils.Platform retrievePlatform(boolean useCache)
useCache
- if we should get from cache if it is available
public static void main(java.lang.String[] args)
args
- public static void bootstrap(boolean callFromCommandLine, boolean installDefaultGrouperData, boolean promptUser)
callFromCommandLine
- installDefaultGrouperData
- promptUser
- prompt user to see if they really want to do thispublic static boolean bootstrapHelper(boolean callFromCommandLine, boolean fromUnitTest, boolean theCompareFromDbVersion, boolean theDropBeforeCreate, boolean theWriteAndRunScript, boolean dropOnly, boolean installDefaultGrouperData, java.util.Map<java.lang.String,DdlVersionable> maxVersions, boolean promptUser)
callFromCommandLine
- fromUnitTest
- true if just testing this methodtheCompareFromDbVersion
- theDropBeforeCreate
- theWriteAndRunScript
- dropOnly
- just drop stuff, e.g. for unit testinstallDefaultGrouperData
- if registry install should be called afterwardsmaxVersions
- if unit testing, and not going to max, then associate object name
with max versionpromptUser
- promptUser to see if they want to do this...
public static java.lang.String sqlRun(java.io.File scriptFile, boolean fromUnitTest, boolean printErrorToStdOut)
scriptFile
- fromUnitTest
- printErrorToStdOut
-
public static java.lang.String convertUrlToDriverClassIfNeeded(java.lang.String connectionUrl, java.lang.String driverClassName)
connectionUrl
- driverClassName
-
public static java.lang.String convertUrlToQuartzDriverDelegateClassIfNeeded(java.lang.String connectionUrl, java.lang.String driverClassName)
connectionUrl
- driverClassName
-
public static java.lang.String convertUrlToHibernateDialectIfNeeded(java.lang.String connectionUrl, java.lang.String hibernateDialect)
connectionUrl
- hibernateDialect
-
public static java.lang.String sqlRun(java.io.File scriptFile, java.lang.String driver, java.lang.String url, java.lang.String user, java.lang.String pass, boolean fromUnitTest, boolean printErrorToStdOut)
scriptFile
- driver
- url
- user
- pass
- fromUnitTest
- printErrorToStdOut
-
public static java.lang.String changeDatabase(java.lang.String objectName, DdlUtilsChangeDatabase ddlUtilsChangeDatabase)
helper method to run custom db ddl, which is more easily testable TODO consolidate this code with the bootstrap code in the DdlVersionBean or somewhere Here is an example: GrouperDdlUtils.changeDatabase(GrouperDdl.V1.getObjectName(), new DdlUtilsChangeDatabase() { public void changeDatabase(DdlVersionBean ddlVersionBean) { Database database = ddlVersionBean.getDatabase(); { Table attributesTable = database.findTable(Attribute.TABLE_GROUPER_ATTRIBUTES); Column attributesFieldIdColumn = attributesTable.findColumn(Attribute.COLUMN_FIELD_ID); attributesTable.removeColumn(attributesFieldIdColumn); } { Table membershipsTable = database.findTable(Membership.TABLE_GROUPER_MEMBERSHIPS); Column membershipsFieldIdColumn = membershipsTable.findColumn(Membership.COLUMN_FIELD_ID); membershipsTable.removeColumn(membershipsFieldIdColumn); } } });
objectName
- (from enum of ddl utils type)ddlUtilsChangeDatabase
- is the callback to change the database
public static void dropAllForeignKeysScript(GrouperDdlUtils.DbMetadataBean dbMetadataBean, DdlVersionBean ddlVersionBean)
dbMetadataBean
- ddlVersionBean
- public static void removeAllTables(org.apache.ddlutils.model.Database database)
database
- public static java.lang.StringBuilder retrieveHistory(java.lang.String objectName)
objectName
-
public static DdlVersionable retieveVersion(java.lang.String objectName, int version)
objectName
- version
-
public static int retrieveDdlJavaVersion(java.lang.String objectName)
objectName
-
public static java.lang.Class<java.lang.Enum> retrieveDdlEnum(java.lang.String objectName)
objectName
-
public static void ddlutilsDropViewIfExists(DdlVersionBean ddlVersionBean, java.lang.String viewName, boolean falseIfDropBeforeCreate)
ddlVersionBean
- viewName
- falseIfDropBeforeCreate
- public static void ddlutilsBackupTable(DdlVersionBean ddlVersionBean, java.lang.String tableName, java.lang.String backupTableName)
ddlVersionBean
- tableName
- backupTableName
- public static void ddlutilsCreateOrReplaceView(DdlVersionBean ddlVersionBean, java.lang.String viewName, java.lang.String viewComment, java.util.Set<java.lang.String> aliases, java.util.Set<java.lang.String> columnComments, java.lang.String sql)
ddlVersionBean
- viewName
- viewComment
- aliases
- columnComments
- sql
- should not have a semicolon at endpublic static void ddlutilsTableComment(DdlVersionBean ddlVersionBean, java.lang.String tableName, java.lang.String tableComment)
ddlVersionBean
- tableName
- tableComment
- public static void ddlutilsViewComment(DdlVersionBean ddlVersionBean, java.lang.String viewName, java.lang.String tableComment)
ddlVersionBean
- viewName
- tableComment
- public static void ddlutilsColumnComment(DdlVersionBean ddlVersionBean, java.lang.String objectName, java.lang.String columnName, java.lang.String comment)
add a table or view column comment if the DB supports it COMMENT ON COLUMN zip_code.zip_code IS '5 Digit Zip Code';
ddlVersionBean
- objectName
- comment
- columnName
- public static java.util.List<java.lang.String> retrieveObjectNames()
public static int retrieveDdlDbVersion(java.lang.String objectName)
objectName
-
public static Hib3GrouperDdl retrieveDdlByIdFromDatabase(java.lang.String id)
id
-
public static void deleteDdlById(java.lang.String id)
id
- public static void deleteUtfDdls()
public static Hib3GrouperDdl retrieveDdlByNameFromDatabase(java.lang.String objectName)
objectName
-
public static Hib3GrouperDdl storeAndReadUtfString(java.lang.String someUtfString, java.lang.String id, java.lang.String name)
someUtfString
- id
- name
-
public static Hib3GrouperDdl storeDdl(HibernateSession hibernateSession, java.lang.String id, java.lang.String name, java.lang.String someUtfString)
someUtfString
- id
- name
- hibernateSession
-
public static java.util.List<Hib3GrouperDdl> retrieveDdlsFromDb()
public static java.lang.String findScriptOverride(DdlVersionable dbObjectVersion, java.lang.String dbname)
File name must be objectName.V#.dbname.sql e.g. Grouper.5.oracle10.sql The dbname must be a valid ddlutils dbname: axion, cloudscape, db2, db2v8, derby, firebird, hsqldb, interbase, maxdb, mckoi, mssql, mysql, mysql5, oracle, oracle10, oracle9, postgresql, sapdb, sybase, sybasease15 Also the following catchalls are acceptable: oracleall, mysqlall, db2all, sybaseall
dbObjectVersion
- e.g. Grouper or GrouperLoaderdbname
- e.g. oracle10 or mysql5
public static java.lang.String findScriptOverride(java.lang.String objectName, int version, java.lang.String dbNameExact)
get an override file (exact, dont look for the all ones like oracleall) File name must be objectName.V#.dbname.sql e.g. Grouper.5.oracle10.sql
objectName
- version
- dbNameExact
-
public static int versionIntFromEnum(java.lang.Enum ddlVersion)
ddlVersion
-
public static java.lang.String objectName(java.lang.Enum dbObjectVersion)
dbObjectVersion
-
public static void upgradeDatabaseVersion(org.apache.ddlutils.model.Database baseVersion, org.apache.ddlutils.model.Database oldVersion, int baseDatabaseVersion, java.lang.String objectName, int requestedVersion, int upgradeToVersion, java.lang.StringBuilder additionalScripts, java.lang.StringBuilder fullScript, org.apache.ddlutils.Platform platform, java.sql.Connection connection, java.lang.String schema, org.apache.ddlutils.platform.SqlBuilder sqlBuilder)
baseVersion
- oldVersion
- old version if there is one, null if notbaseDatabaseVersion
- objectName
- requestedVersion
- upgradeToVersion
- eventual upgrade versionadditionalScripts
- fullScript
- so farplatform
- connection
- schema
- sqlBuilder
- public static org.apache.ddlutils.model.Table ddlutilsFindOrCreateTable(org.apache.ddlutils.model.Database database, java.lang.String tableName)
database
- tableName
-
public static org.apache.ddlutils.model.Index ddlutilsFindOrCreateIndex(org.apache.ddlutils.model.Database database, java.lang.String tableName, java.lang.String indexName, boolean unique, java.lang.String... columnNames)
database
- tableName
- indexName
- unique
- columnNames
-
public static org.apache.ddlutils.model.Index ddlutilsFindOrCreateIndex(org.apache.ddlutils.model.Database database, DdlVersionBean ddlVersionBean, java.lang.String tableName, java.lang.String indexName, java.lang.String customScript, boolean unique, java.lang.String... columnNames)
database
- ddlVersionBean
- can be null unless custom scripttableName
- indexName
- customScript
- use this script to create the index, not ddlutilsunique
- columnNames
-
public static org.apache.ddlutils.model.ForeignKey ddlutilsFindOrCreateForeignKey(org.apache.ddlutils.model.Database database, java.lang.String tableName, java.lang.String foreignKeyName, java.lang.String foreignTableName, java.lang.String localColumnName, java.lang.String foreignColumnName)
database
- tableName
- foreignKeyName
- foreignTableName
- localColumnName
- foreignColumnName
-
public static org.apache.ddlutils.model.ForeignKey ddlutilsFindOrCreateForeignKey(org.apache.ddlutils.model.Database database, java.lang.String tableName, java.lang.String foreignKeyName, java.lang.String foreignTableName, java.util.List<java.lang.String> localColumnNames, java.util.List<java.lang.String> foreignColumnNames)
database
- tableName
- foreignKeyName
- foreignTableName
- localColumnNames
- foreignColumnNames
-
public static void dropAllForeignKeys(org.apache.ddlutils.model.Database database)
database
- public static org.apache.ddlutils.model.Table ddlutilsFindTable(org.apache.ddlutils.model.Database database, java.lang.String tableName, boolean exceptionOnNotFound)
database
- tableName
- exceptionOnNotFound
-
public static org.apache.ddlutils.model.Column ddlutilsFindColumn(org.apache.ddlutils.model.Database database, java.lang.String tableName, java.lang.String columnName, boolean exceptionIfNotFound)
database
- tableName
- columnName
- exceptionIfNotFound
-
public static org.apache.ddlutils.model.Column ddlutilsFindColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, boolean exceptionOnNotFound)
table
- table to get column fromcolumnName
- column name of column (case insensitive)exceptionOnNotFound
-
public static org.apache.ddlutils.model.Column ddlutilsFindOrCreateColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, int typeCode, java.lang.String size, boolean primaryKey, boolean required)
table
- columnName
- typeCode
- from java.sql.Typessize
- string, can be a simple int, or comma separated, see ddlutils docsprimaryKey
- this should only be true for new tablesrequired
- this should probably only be true for new tables (since ddlutils will copy to temp table)
public static org.apache.ddlutils.model.Column ddlutilsFindOrCreateColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, int typeCode, java.lang.String size, boolean primaryKey, boolean required, java.lang.String defaultValue)
table
- columnName
- typeCode
- from java.sql.Typessize
- string, can be a simple int, or comma separated, see ddlutils docsprimaryKey
- this should only be true for new tablesrequired
- this should probably only be true for new tables (since ddlutils will copy to temp table)defaultValue
- is null for none, or something for default value
public static org.apache.ddlutils.model.Column ddlutilsFixSizeColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, int typeCode, java.lang.String size, boolean primaryKey, boolean required)
table
- columnName
- typeCode
- from java.sql.Typessize
- string, can be a simple int, or comma separated, see ddlutils docsprimaryKey
- this should only be true for new tablesrequired
- this should probably only be true for new tables (since ddlutils will copy to temp table)
public static org.apache.ddlutils.model.Column ddlutilsFixSizeColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, int typeCode, java.lang.String size, boolean primaryKey, boolean required, java.lang.String defaultValue)
table
- columnName
- typeCode
- from java.sql.Typessize
- string, can be a simple int, or comma separated, see ddlutils docsprimaryKey
- this should only be true for new tablesrequired
- this should probably only be true for new tables (since ddlutils will copy to temp table)defaultValue
- is null for none, or something for default value
public static void ddlutilsDropColumn(org.apache.ddlutils.model.Database database, java.lang.String tableName, java.lang.String columnName, DdlVersionBean ddlVersionBean)
database
- tableName
- ddlVersionBean
- columnName
- public static void ddlutilsDropTable(DdlVersionBean ddlVersionBean, java.lang.String tableName, boolean falseIfDropBeforeCreate)
ddlVersionBean
- tableName
- falseIfDropBeforeCreate
- public static void ddlutilsDropColumn(org.apache.ddlutils.model.Table table, java.lang.String columnName, DdlVersionBean ddlVersionBean)
table
- columnName
- ddlVersionBean
- public static void ddlutilsDropIndexes(org.apache.ddlutils.model.Table table, java.lang.String columnName)
table
- columnName
- public static boolean assertTablesThere(boolean expectRecords, boolean expectTrue)
expectRecords
- expectTrue
- pritn exception if expecting true
public static boolean assertTablesThere(boolean expectRecords, boolean expectTrue, java.lang.String tableName, boolean falseIfDropBeforeCreate)
expectRecords
- expectTrue
- pritn exception if expecting truetableName
- falseIfDropBeforeCreate
-
public static boolean assertColumnThere(boolean expectTrue, java.lang.String tableName, java.lang.String columnName)
expectTrue
- throw exception if expecting true and not there or vice versatableName
- columnName
-
public static boolean tableExists(java.lang.String tableName)
tableName
-
public static GrouperDdlUtils.DbMetadataBean findDbMetadataBean(DdlVersionable ddlVersionable)
ddlVersionable
-
public static java.lang.String sqlConcatenation(java.lang.String field1, java.lang.String field2, java.lang.String separator)
field1
- field2
- separator
-
public static java.lang.String sqlConcatenation(java.lang.String field1, java.lang.String field2)
field1
- field2
-
public static int getTableCount(java.lang.String tableName, boolean exceptionIfTableDoesNotExist)
tableName
- exceptionIfTableDoesNotExist
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |