Added a method to make it easier to insert schema migration calls.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@1726 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -66,6 +66,22 @@ public class SimpleRepository extends Repository
|
|||||||
{
|
{
|
||||||
super(provider);
|
super(provider);
|
||||||
_dbident = dbident;
|
_dbident = dbident;
|
||||||
|
|
||||||
|
// give the repository a chance to do any schema migration before
|
||||||
|
// things get further underway
|
||||||
|
try {
|
||||||
|
execute(new Operation() {
|
||||||
|
public Object invoke (Connection conn, DatabaseLiaison liaison)
|
||||||
|
throws SQLException, PersistenceException
|
||||||
|
{
|
||||||
|
migrateSchema();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (PersistenceException pe) {
|
||||||
|
Log.warning("Failure migrating schema [dbident=" + _dbident + "].");
|
||||||
|
Log.logStackTrace(pe);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -299,6 +315,19 @@ public class SimpleRepository extends Repository
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Derived classes can override this method and perform any schema
|
||||||
|
* migration they might need (using the idempotent {@link JDBCUtil} schema
|
||||||
|
* migration methods). This is called during the repository's constructor
|
||||||
|
* and will thus take place before derived classes (like the {@link
|
||||||
|
* JORARepository} introspect on the schema to match it up to associated
|
||||||
|
* Java classes).
|
||||||
|
*/
|
||||||
|
protected void migrateSchema ()
|
||||||
|
throws SQLException, PersistenceException
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when we fetch a connection from the provider. This gives
|
* Called when we fetch a connection from the provider. This gives
|
||||||
* derived classes an opportunity to configure whatever internals they
|
* derived classes an opportunity to configure whatever internals they
|
||||||
|
|||||||
Reference in New Issue
Block a user