Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit a2e3790

Browse files
committed
Merge pull request #302 from yavosh/master
Fix for drop table when using PostgreSqlNamingStrategy
2 parents f228a19 + d544d05 commit a2e3790

File tree

3 files changed

+32
-1
lines changed

3 files changed

+32
-1
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using NUnit.Framework;
2+
using ServiceStack.Common.Tests.Models;
3+
using ServiceStack.OrmLite.Tests;
4+
5+
namespace ServiceStack.OrmLite.PostgreSQL.Tests
6+
{
7+
public class OrmLiteDropTableWithNamingStrategyTests
8+
: OrmLiteTestBase
9+
{
10+
11+
[Test]
12+
public void Can_drop_TableWithNamigStrategy_table_PostgreSqlNamingStrategy()
13+
{
14+
OrmLiteConfig.DialectProvider.NamingStrategy = new PostgreSqlNamingStrategy();
15+
16+
using (var db = ConnectionString.OpenDbConnection())
17+
{
18+
db.CreateTable<ModelWithOnlyStringFields>(true);
19+
db.DropTable<ModelWithOnlyStringFields>();
20+
Assert.False(db.TableExists("model_with_only_string_fields"));
21+
}
22+
23+
OrmLiteConfig.DialectProvider.NamingStrategy = new OrmLiteNamingStrategyBase();
24+
}
25+
}
26+
}

src/ServiceStack.OrmLite.PostgreSQL.Tests/ServiceStack.OrmLite.PostgreSQL.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@
8989
<Compile Include="NorthwindPerfTests.cs" />
9090
<Compile Include="OrmLiteBasicPersistenceProviderTests.cs" />
9191
<Compile Include="OrmLiteCreateTableWithNamigStrategyTests.cs" />
92+
<Compile Include="OrmLiteDropTableWithNamingStrategyTests.cs" />
9293
<Compile Include="OrmLiteExecuteProcedureTests.cs" />
9394
<Compile Include="OrmLiteInsertTests.cs" />
9495
<Compile Include="OrmLiteNorthwindTests.cs" />

src/ServiceStack.OrmLite/OrmLiteWriteExtensions.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,11 @@ private static void DropTable(IDbCommand dbCmd, ModelDefinition modelDef)
163163
{
164164
try
165165
{
166-
if (OrmLiteConfig.DialectProvider.DoesTableExist(dbCmd, modelDef.ModelName))
166+
167+
var dialectProvider = OrmLiteConfig.DialectProvider;
168+
var tableName = dialectProvider.NamingStrategy.GetTableName(modelDef.ModelName);
169+
170+
if (OrmLiteConfig.DialectProvider.DoesTableExist(dbCmd, tableName))
167171
{
168172
var dropTableFks = OrmLiteConfig.DialectProvider.GetDropForeignKeyConstraints(modelDef);
169173
if (!string.IsNullOrEmpty(dropTableFks))

0 commit comments

Comments
 (0)