Skip to content

Commit 18c5e14

Browse files
committed
Move core-specific handling to core MigrationHandler
1 parent 793e2e0 commit 18c5e14

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

api/src/org/labkey/api/data/DatabaseMigrationService.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ default void registerHandler(DbSchema schema, MigrationHandler handler) {}
4040

4141
interface MigrationHandler
4242
{
43+
void beforeVerification(DbSchema targetSchema);
44+
4345
void beforeSchema(DbSchema targetSchema);
4446

4547
List<TableInfo> getTablesToCopy(DbSchema targetSchema);
@@ -49,6 +51,11 @@ interface MigrationHandler
4951

5052
class DefaultMigrationHandler implements MigrationHandler
5153
{
54+
@Override
55+
public void beforeVerification(DbSchema targetSchema)
56+
{
57+
}
58+
5259
@Override
5360
public void beforeSchema(DbSchema targetSchema)
5461
{

core/src/org/labkey/core/CoreModule.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,6 +1270,18 @@ public void moduleStartupComplete(ServletContext servletContext)
12701270

12711271
DatabaseMigrationService.get().registerHandler(CoreSchema.getInstance().getSchema(), new DefaultMigrationHandler()
12721272
{
1273+
@Override
1274+
public void beforeVerification(DbSchema targetSchema)
1275+
{
1276+
super.beforeVerification(targetSchema);
1277+
1278+
// Delete root and shared containers that were needed for bootstrapping
1279+
TableInfo containers = CoreSchema.getInstance().getTableInfoContainers();
1280+
Table.delete(containers);
1281+
DbScope targetScope = DbScope.getLabKeyScope();
1282+
new SqlExecutor(targetScope).execute("ALTER SEQUENCE core.containers_rowid_seq RESTART"); // Reset Containers sequence
1283+
}
1284+
12731285
@Override
12741286
public List<TableInfo> getTablesToCopy(DbSchema targetSchema)
12751287
{

0 commit comments

Comments
 (0)