diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs
new file mode 100644
index 0000000000..7d5e76f11b
--- /dev/null
+++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/NullTenantDatabaseSchemaMigrator.cs
@@ -0,0 +1,13 @@
+using System.Threading.Tasks;
+using Volo.Abp.DependencyInjection;
+
+namespace Volo.Abp.MultiTenancy
+{
+ public class NullTenantDatabaseSchemaMigrator : ITenantDatabaseSchemaMigrator, ISingletonDependency
+ {
+ public Task MigrateAsync()
+ {
+ return Task.CompletedTask;
+ }
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs
new file mode 100644
index 0000000000..e6fef5c427
--- /dev/null
+++ b/framework/src/Volo.Abp.MultiTenancy/Volo/Abp/MultiTenancy/TenantDatabaseSchemaMigrator.cs
@@ -0,0 +1,13 @@
+using System.Threading.Tasks;
+
+namespace Volo.Abp.MultiTenancy
+{
+ public interface ITenantDatabaseSchemaMigrator
+ {
+ ///
+ /// Set Current Tenant before calling this method.
+ ///
+ ///
+ Task MigrateAsync();
+ }
+}