mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-07-15 17:06:01 +08:00
Fixing SQL exception during automatic migrations in PostgreSql
Fixes #6783 Fixes #7323
This commit is contained in:
parent
bd222908d6
commit
59a9f0bf03
@ -80,12 +80,25 @@ namespace Orchard.Data.Migration {
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// This ensures that the framework migrations have run for the distributed locking feature, as existing Orchard installations will not have the required tables when upgrading.
|
/// This ensures that the framework migrations have run for the distributed locking feature, as existing Orchard installations will not have the required tables when upgrading.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void EnsureDistributedLockSchemaExists() {
|
private void EnsureDistributedLockSchemaExists()
|
||||||
|
{
|
||||||
// Ensure the distributed lock record schema exists.
|
// Ensure the distributed lock record schema exists.
|
||||||
var schemaBuilder = new SchemaBuilder(_dataMigrationInterpreter);
|
var schemaBuilder = new SchemaBuilder(_dataMigrationInterpreter);
|
||||||
var distributedLockSchemaBuilder = new DistributedLockSchemaBuilder(_shellSettings, schemaBuilder);
|
var distributedLockSchemaBuilder = new DistributedLockSchemaBuilder(_shellSettings, schemaBuilder);
|
||||||
if (distributedLockSchemaBuilder.EnsureSchema())
|
if (!distributedLockSchemaBuilder.SchemaExists())
|
||||||
|
{
|
||||||
|
|
||||||
|
// Workaround to avoid some Transaction issue for PostgreSQL.
|
||||||
|
if (_shellSettings.DataProvider.Equals("PostgreSql", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
_transactionManager.RequireNew();
|
||||||
|
distributedLockSchemaBuilder.CreateSchema();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
distributedLockSchemaBuilder.CreateSchema();
|
||||||
_transactionManager.RequireNew();
|
_transactionManager.RequireNew();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user