From 78bfa0022f927c46b63905735e535b4a04dc9ae8 Mon Sep 17 00:00:00 2001
From: wanggang <76527413@qq.com>
Date: Fri, 24 Mar 2023 10:59:35 +0800
Subject: [PATCH] update
---
.../Win_in.Sfs.Auth.Web.csproj | 2 +-
...tityFrameworkCore.Sqlite.AuthDbContext.sql | 812 +++++++++++++
...FrameworkCore.Sqlite.BasedataDbContext.sql | 1030 +++++++++++++++++
.../Win_in.Sfs.Core.Host/libman.json | 5 +
...meworkCore.Sqlite.FileStorageDbContext.sql | 92 ++
...ityFrameworkCore.Sqlite.LabelDbContext.sql | 133 +++
.../AbpDbContextOptionsExtensions.cs | 12 +
.../src/Win_in.Sfs.Shared.Host/ModuleBase.cs | 56 +-
.../Win_in.Sfs.Shared.Host.csproj | 5 +-
build/src/docker/publish/.env | 2 +
.../publish/docker-compose.development.yml | 9 +
11 files changed, 2151 insertions(+), 7 deletions(-)
create mode 100644 be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.AuthDbContext.sql
create mode 100644 be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.BasedataDbContext.sql
create mode 100644 be/Hosts/Core.Host/Win_in.Sfs.Core.Host/libman.json
create mode 100644 be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.FileStorageDbContext.sql
create mode 100644 be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.LabelDbContext.sql
diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj
index 671262c8e..b27afb69a 100644
--- a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj
+++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/Win_in.Sfs.Auth.Web.csproj
@@ -14,7 +14,7 @@
true
Win_in.Sfs.Auth-4681b4fd-151f-4221-84a4-929d86723e4c
1.yyyy.Mdd.Hmm
- 1.2023.323.1936
+ 1.2023.324.1018
True
diff --git a/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.AuthDbContext.sql b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.AuthDbContext.sql
new file mode 100644
index 000000000..e162f2e3b
--- /dev/null
+++ b/be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.AuthDbContext.sql
@@ -0,0 +1,812 @@
+CREATE TABLE "AbpAuditLogs" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpAuditLogs" PRIMARY KEY,
+ "ApplicationName" TEXT NULL,
+ "UserId" TEXT NULL,
+ "UserName" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "TenantName" TEXT NULL,
+ "ImpersonatorUserId" TEXT NULL,
+ "ImpersonatorUserName" TEXT NULL,
+ "ImpersonatorTenantId" TEXT NULL,
+ "ImpersonatorTenantName" TEXT NULL,
+ "ExecutionTime" TEXT NOT NULL,
+ "ExecutionDuration" INTEGER NOT NULL,
+ "ClientIpAddress" TEXT NULL,
+ "ClientName" TEXT NULL,
+ "ClientId" TEXT NULL,
+ "CorrelationId" TEXT NULL,
+ "BrowserInfo" TEXT NULL,
+ "HttpMethod" TEXT NULL,
+ "Url" TEXT NULL,
+ "Exceptions" TEXT NULL,
+ "Comments" TEXT NULL,
+ "HttpStatusCode" INTEGER NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpBackgroundJobs" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpBackgroundJobs" PRIMARY KEY,
+ "JobName" TEXT NOT NULL,
+ "JobArgs" TEXT NOT NULL,
+ "TryCount" INTEGER NOT NULL DEFAULT 0,
+ "CreationTime" TEXT NOT NULL,
+ "NextTryTime" TEXT NOT NULL,
+ "LastTryTime" TEXT NULL,
+ "IsAbandoned" INTEGER NOT NULL DEFAULT 0,
+ "Priority" INTEGER NOT NULL DEFAULT 15,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpClaimTypes" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpClaimTypes" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "Required" INTEGER NOT NULL,
+ "IsStatic" INTEGER NOT NULL,
+ "Regex" TEXT NULL,
+ "RegexDescription" TEXT NULL,
+ "Description" TEXT NULL,
+ "ValueType" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpFeatureValues" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpFeatureValues" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ "ProviderName" TEXT NULL,
+ "ProviderKey" TEXT NULL
+);
+
+
+CREATE TABLE "AbpLinkUsers" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpLinkUsers" PRIMARY KEY,
+ "SourceUserId" TEXT NOT NULL,
+ "SourceTenantId" TEXT NULL,
+ "TargetUserId" TEXT NOT NULL,
+ "TargetTenantId" TEXT NULL
+);
+
+
+CREATE TABLE "AbpOrganizationUnits" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpOrganizationUnits" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "ParentId" TEXT NULL,
+ "Code" TEXT NOT NULL,
+ "DisplayName" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL,
+ CONSTRAINT "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId" FOREIGN KEY ("ParentId") REFERENCES "AbpOrganizationUnits" ("Id")
+);
+
+
+CREATE TABLE "AbpPermissionGrants" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpPermissionGrants" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "Name" TEXT NOT NULL,
+ "ProviderName" TEXT NOT NULL,
+ "ProviderKey" TEXT NOT NULL
+);
+
+
+CREATE TABLE "AbpRoles" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpRoles" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "Name" TEXT NOT NULL,
+ "NormalizedName" TEXT NOT NULL,
+ "IsDefault" INTEGER NOT NULL,
+ "IsStatic" INTEGER NOT NULL,
+ "IsPublic" INTEGER NOT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpSecurityLogs" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpSecurityLogs" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "ApplicationName" TEXT NULL,
+ "Identity" TEXT NULL,
+ "Action" TEXT NULL,
+ "UserId" TEXT NULL,
+ "UserName" TEXT NULL,
+ "TenantName" TEXT NULL,
+ "ClientId" TEXT NULL,
+ "CorrelationId" TEXT NULL,
+ "ClientIpAddress" TEXT NULL,
+ "BrowserInfo" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpSettings" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpSettings" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ "ProviderName" TEXT NULL,
+ "ProviderKey" TEXT NULL
+);
+
+
+CREATE TABLE "AbpTenants" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpTenants" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "AbpUsers" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpUsers" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "UserName" TEXT NOT NULL,
+ "NormalizedUserName" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Surname" TEXT NULL,
+ "Email" TEXT NOT NULL,
+ "NormalizedEmail" TEXT NOT NULL,
+ "EmailConfirmed" INTEGER NOT NULL DEFAULT 0,
+ "PasswordHash" TEXT NULL,
+ "SecurityStamp" TEXT NOT NULL,
+ "IsExternal" INTEGER NOT NULL DEFAULT 0,
+ "PhoneNumber" TEXT NULL,
+ "PhoneNumberConfirmed" INTEGER NOT NULL DEFAULT 0,
+ "IsActive" INTEGER NOT NULL,
+ "TwoFactorEnabled" INTEGER NOT NULL DEFAULT 0,
+ "LockoutEnd" TEXT NULL,
+ "LockoutEnabled" INTEGER NOT NULL DEFAULT 0,
+ "AccessFailedCount" INTEGER NOT NULL DEFAULT 0,
+ "DepartmentCode" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "Auth_Department" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Auth_Department" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "IsActive" INTEGER NOT NULL DEFAULT 1,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Auth_Menu" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Auth_Menu" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Icon" TEXT NULL,
+ "Route" TEXT NULL,
+ "Status" TEXT NOT NULL DEFAULT 'Enable',
+ "Sort" INTEGER NOT NULL,
+ "Portal" TEXT NOT NULL,
+ "ParentCode" TEXT NULL,
+ "Permission" TEXT NULL,
+ "Component" TEXT NULL,
+ "GroupName" TEXT NULL,
+ "GroupSort" INTEGER NOT NULL,
+ "CountUrl" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Auth_UserMenu" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Auth_UserMenu" PRIMARY KEY,
+ "UserId" TEXT NOT NULL,
+ "MenuCode" TEXT NOT NULL,
+ "Portal" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Auth_UserWorkGroup" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Auth_UserWorkGroup" PRIMARY KEY,
+ "UserId" TEXT NOT NULL,
+ "WorkGroupCode" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerApiResources" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_IdentityServerApiResources" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "DisplayName" TEXT NULL,
+ "Description" TEXT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "AllowedAccessTokenSigningAlgorithms" TEXT NULL,
+ "ShowInDiscoveryDocument" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerApiScopes" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_IdentityServerApiScopes" PRIMARY KEY,
+ "Enabled" INTEGER NOT NULL,
+ "Name" TEXT NOT NULL,
+ "DisplayName" TEXT NULL,
+ "Description" TEXT NULL,
+ "Required" INTEGER NOT NULL,
+ "Emphasize" INTEGER NOT NULL,
+ "ShowInDiscoveryDocument" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerClients" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_IdentityServerClients" PRIMARY KEY,
+ "ClientId" TEXT NOT NULL,
+ "ClientName" TEXT NULL,
+ "Description" TEXT NULL,
+ "ClientUri" TEXT NULL,
+ "LogoUri" TEXT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "ProtocolType" TEXT NOT NULL,
+ "RequireClientSecret" INTEGER NOT NULL,
+ "RequireConsent" INTEGER NOT NULL,
+ "AllowRememberConsent" INTEGER NOT NULL,
+ "AlwaysIncludeUserClaimsInIdToken" INTEGER NOT NULL,
+ "RequirePkce" INTEGER NOT NULL,
+ "AllowPlainTextPkce" INTEGER NOT NULL,
+ "RequireRequestObject" INTEGER NOT NULL,
+ "AllowAccessTokensViaBrowser" INTEGER NOT NULL,
+ "FrontChannelLogoutUri" TEXT NULL,
+ "FrontChannelLogoutSessionRequired" INTEGER NOT NULL,
+ "BackChannelLogoutUri" TEXT NULL,
+ "BackChannelLogoutSessionRequired" INTEGER NOT NULL,
+ "AllowOfflineAccess" INTEGER NOT NULL,
+ "IdentityTokenLifetime" INTEGER NOT NULL,
+ "AllowedIdentityTokenSigningAlgorithms" TEXT NULL,
+ "AccessTokenLifetime" INTEGER NOT NULL,
+ "AuthorizationCodeLifetime" INTEGER NOT NULL,
+ "ConsentLifetime" INTEGER NULL,
+ "AbsoluteRefreshTokenLifetime" INTEGER NOT NULL,
+ "SlidingRefreshTokenLifetime" INTEGER NOT NULL,
+ "RefreshTokenUsage" INTEGER NOT NULL,
+ "UpdateAccessTokenClaimsOnRefresh" INTEGER NOT NULL,
+ "RefreshTokenExpiration" INTEGER NOT NULL,
+ "AccessTokenType" INTEGER NOT NULL,
+ "EnableLocalLogin" INTEGER NOT NULL,
+ "IncludeJwtId" INTEGER NOT NULL,
+ "AlwaysSendClientClaims" INTEGER NOT NULL,
+ "ClientClaimsPrefix" TEXT NULL,
+ "PairWiseSubjectSalt" TEXT NULL,
+ "UserSsoLifetime" INTEGER NULL,
+ "UserCodeType" TEXT NULL,
+ "DeviceCodeLifetime" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerDeviceFlowCodes" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_IdentityServerDeviceFlowCodes" PRIMARY KEY,
+ "DeviceCode" TEXT NOT NULL,
+ "UserCode" TEXT NOT NULL,
+ "SubjectId" TEXT NULL,
+ "SessionId" TEXT NULL,
+ "ClientId" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Expiration" TEXT NOT NULL,
+ "Data" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerIdentityResources" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_IdentityServerIdentityResources" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "DisplayName" TEXT NULL,
+ "Description" TEXT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "Required" INTEGER NOT NULL,
+ "Emphasize" INTEGER NOT NULL,
+ "ShowInDiscoveryDocument" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "IsDeleted" INTEGER NOT NULL DEFAULT 0,
+ "DeleterId" TEXT NULL,
+ "DeletionTime" TEXT NULL
+);
+
+
+CREATE TABLE "IdentityServerPersistedGrants" (
+ "Key" TEXT NOT NULL CONSTRAINT "PK_IdentityServerPersistedGrants" PRIMARY KEY,
+ "Type" TEXT NOT NULL,
+ "SubjectId" TEXT NULL,
+ "SessionId" TEXT NULL,
+ "ClientId" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "Expiration" TEXT NULL,
+ "ConsumedTime" TEXT NULL,
+ "Data" TEXT NOT NULL,
+ "Id" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "AbpAuditLogActions" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpAuditLogActions" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "AuditLogId" TEXT NOT NULL,
+ "ServiceName" TEXT NULL,
+ "MethodName" TEXT NULL,
+ "Parameters" TEXT NULL,
+ "ExecutionTime" TEXT NOT NULL,
+ "ExecutionDuration" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ CONSTRAINT "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId" FOREIGN KEY ("AuditLogId") REFERENCES "AbpAuditLogs" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpEntityChanges" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpEntityChanges" PRIMARY KEY,
+ "AuditLogId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "ChangeTime" TEXT NOT NULL,
+ "ChangeType" INTEGER NOT NULL,
+ "EntityTenantId" TEXT NULL,
+ "EntityId" TEXT NOT NULL,
+ "EntityTypeFullName" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ CONSTRAINT "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId" FOREIGN KEY ("AuditLogId") REFERENCES "AbpAuditLogs" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpOrganizationUnitRoles" (
+ "RoleId" TEXT NOT NULL,
+ "OrganizationUnitId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ CONSTRAINT "PK_AbpOrganizationUnitRoles" PRIMARY KEY ("OrganizationUnitId", "RoleId"),
+ CONSTRAINT "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId" FOREIGN KEY ("OrganizationUnitId") REFERENCES "AbpOrganizationUnits" ("Id") ON DELETE CASCADE,
+ CONSTRAINT "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId" FOREIGN KEY ("RoleId") REFERENCES "AbpRoles" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpRoleClaims" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpRoleClaims" PRIMARY KEY,
+ "RoleId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "ClaimType" TEXT NOT NULL,
+ "ClaimValue" TEXT NULL,
+ CONSTRAINT "FK_AbpRoleClaims_AbpRoles_RoleId" FOREIGN KEY ("RoleId") REFERENCES "AbpRoles" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpTenantConnectionStrings" (
+ "TenantId" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_AbpTenantConnectionStrings" PRIMARY KEY ("TenantId", "Name"),
+ CONSTRAINT "FK_AbpTenantConnectionStrings_AbpTenants_TenantId" FOREIGN KEY ("TenantId") REFERENCES "AbpTenants" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpUserClaims" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpUserClaims" PRIMARY KEY,
+ "UserId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "ClaimType" TEXT NOT NULL,
+ "ClaimValue" TEXT NULL,
+ CONSTRAINT "FK_AbpUserClaims_AbpUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AbpUsers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpUserLogins" (
+ "UserId" TEXT NOT NULL,
+ "LoginProvider" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "ProviderKey" TEXT NOT NULL,
+ "ProviderDisplayName" TEXT NULL,
+ CONSTRAINT "PK_AbpUserLogins" PRIMARY KEY ("UserId", "LoginProvider"),
+ CONSTRAINT "FK_AbpUserLogins_AbpUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AbpUsers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpUserOrganizationUnits" (
+ "UserId" TEXT NOT NULL,
+ "OrganizationUnitId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ CONSTRAINT "PK_AbpUserOrganizationUnits" PRIMARY KEY ("OrganizationUnitId", "UserId"),
+ CONSTRAINT "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId" FOREIGN KEY ("OrganizationUnitId") REFERENCES "AbpOrganizationUnits" ("Id") ON DELETE CASCADE,
+ CONSTRAINT "FK_AbpUserOrganizationUnits_AbpUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AbpUsers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpUserRoles" (
+ "UserId" TEXT NOT NULL,
+ "RoleId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ CONSTRAINT "PK_AbpUserRoles" PRIMARY KEY ("UserId", "RoleId"),
+ CONSTRAINT "FK_AbpUserRoles_AbpRoles_RoleId" FOREIGN KEY ("RoleId") REFERENCES "AbpRoles" ("Id") ON DELETE CASCADE,
+ CONSTRAINT "FK_AbpUserRoles_AbpUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AbpUsers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpUserTokens" (
+ "UserId" TEXT NOT NULL,
+ "LoginProvider" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "Value" TEXT NULL,
+ CONSTRAINT "PK_AbpUserTokens" PRIMARY KEY ("UserId", "LoginProvider", "Name"),
+ CONSTRAINT "FK_AbpUserTokens_AbpUsers_UserId" FOREIGN KEY ("UserId") REFERENCES "AbpUsers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiResourceClaims" (
+ "Type" TEXT NOT NULL,
+ "ApiResourceId" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerApiResourceClaims" PRIMARY KEY ("ApiResourceId", "Type"),
+ CONSTRAINT "FK_IdentityServerApiResourceClaims_IdentityServerApiResources_ApiResourceId" FOREIGN KEY ("ApiResourceId") REFERENCES "IdentityServerApiResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiResourceProperties" (
+ "ApiResourceId" TEXT NOT NULL,
+ "Key" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerApiResourceProperties" PRIMARY KEY ("ApiResourceId", "Key", "Value"),
+ CONSTRAINT "FK_IdentityServerApiResourceProperties_IdentityServerApiResources_ApiResourceId" FOREIGN KEY ("ApiResourceId") REFERENCES "IdentityServerApiResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiResourceScopes" (
+ "ApiResourceId" TEXT NOT NULL,
+ "Scope" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerApiResourceScopes" PRIMARY KEY ("ApiResourceId", "Scope"),
+ CONSTRAINT "FK_IdentityServerApiResourceScopes_IdentityServerApiResources_ApiResourceId" FOREIGN KEY ("ApiResourceId") REFERENCES "IdentityServerApiResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiResourceSecrets" (
+ "Type" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ "ApiResourceId" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Expiration" TEXT NULL,
+ CONSTRAINT "PK_IdentityServerApiResourceSecrets" PRIMARY KEY ("ApiResourceId", "Type", "Value"),
+ CONSTRAINT "FK_IdentityServerApiResourceSecrets_IdentityServerApiResources_ApiResourceId" FOREIGN KEY ("ApiResourceId") REFERENCES "IdentityServerApiResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiScopeClaims" (
+ "Type" TEXT NOT NULL,
+ "ApiScopeId" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerApiScopeClaims" PRIMARY KEY ("ApiScopeId", "Type"),
+ CONSTRAINT "FK_IdentityServerApiScopeClaims_IdentityServerApiScopes_ApiScopeId" FOREIGN KEY ("ApiScopeId") REFERENCES "IdentityServerApiScopes" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerApiScopeProperties" (
+ "ApiScopeId" TEXT NOT NULL,
+ "Key" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerApiScopeProperties" PRIMARY KEY ("ApiScopeId", "Key", "Value"),
+ CONSTRAINT "FK_IdentityServerApiScopeProperties_IdentityServerApiScopes_ApiScopeId" FOREIGN KEY ("ApiScopeId") REFERENCES "IdentityServerApiScopes" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientClaims" (
+ "ClientId" TEXT NOT NULL,
+ "Type" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientClaims" PRIMARY KEY ("ClientId", "Type", "Value"),
+ CONSTRAINT "FK_IdentityServerClientClaims_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientCorsOrigins" (
+ "ClientId" TEXT NOT NULL,
+ "Origin" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientCorsOrigins" PRIMARY KEY ("ClientId", "Origin"),
+ CONSTRAINT "FK_IdentityServerClientCorsOrigins_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientGrantTypes" (
+ "ClientId" TEXT NOT NULL,
+ "GrantType" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientGrantTypes" PRIMARY KEY ("ClientId", "GrantType"),
+ CONSTRAINT "FK_IdentityServerClientGrantTypes_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientIdPRestrictions" (
+ "ClientId" TEXT NOT NULL,
+ "Provider" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientIdPRestrictions" PRIMARY KEY ("ClientId", "Provider"),
+ CONSTRAINT "FK_IdentityServerClientIdPRestrictions_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientPostLogoutRedirectUris" (
+ "ClientId" TEXT NOT NULL,
+ "PostLogoutRedirectUri" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientPostLogoutRedirectUris" PRIMARY KEY ("ClientId", "PostLogoutRedirectUri"),
+ CONSTRAINT "FK_IdentityServerClientPostLogoutRedirectUris_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientProperties" (
+ "ClientId" TEXT NOT NULL,
+ "Key" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientProperties" PRIMARY KEY ("ClientId", "Key", "Value"),
+ CONSTRAINT "FK_IdentityServerClientProperties_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientRedirectUris" (
+ "ClientId" TEXT NOT NULL,
+ "RedirectUri" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientRedirectUris" PRIMARY KEY ("ClientId", "RedirectUri"),
+ CONSTRAINT "FK_IdentityServerClientRedirectUris_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientScopes" (
+ "ClientId" TEXT NOT NULL,
+ "Scope" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerClientScopes" PRIMARY KEY ("ClientId", "Scope"),
+ CONSTRAINT "FK_IdentityServerClientScopes_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerClientSecrets" (
+ "Type" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ "ClientId" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Expiration" TEXT NULL,
+ CONSTRAINT "PK_IdentityServerClientSecrets" PRIMARY KEY ("ClientId", "Type", "Value"),
+ CONSTRAINT "FK_IdentityServerClientSecrets_IdentityServerClients_ClientId" FOREIGN KEY ("ClientId") REFERENCES "IdentityServerClients" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerIdentityResourceClaims" (
+ "Type" TEXT NOT NULL,
+ "IdentityResourceId" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerIdentityResourceClaims" PRIMARY KEY ("IdentityResourceId", "Type"),
+ CONSTRAINT "FK_IdentityServerIdentityResourceClaims_IdentityServerIdentityResources_IdentityResourceId" FOREIGN KEY ("IdentityResourceId") REFERENCES "IdentityServerIdentityResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "IdentityServerIdentityResourceProperties" (
+ "IdentityResourceId" TEXT NOT NULL,
+ "Key" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ CONSTRAINT "PK_IdentityServerIdentityResourceProperties" PRIMARY KEY ("IdentityResourceId", "Key", "Value"),
+ CONSTRAINT "FK_IdentityServerIdentityResourceProperties_IdentityServerIdentityResources_IdentityResourceId" FOREIGN KEY ("IdentityResourceId") REFERENCES "IdentityServerIdentityResources" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE TABLE "AbpEntityPropertyChanges" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpEntityPropertyChanges" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "EntityChangeId" TEXT NOT NULL,
+ "NewValue" TEXT NULL,
+ "OriginalValue" TEXT NULL,
+ "PropertyName" TEXT NOT NULL,
+ "PropertyTypeFullName" TEXT NOT NULL,
+ CONSTRAINT "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId" FOREIGN KEY ("EntityChangeId") REFERENCES "AbpEntityChanges" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE INDEX "IX_AbpAuditLogActions_AuditLogId" ON "AbpAuditLogActions" ("AuditLogId");
+
+
+CREATE INDEX "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime" ON "AbpAuditLogActions" ("TenantId", "ServiceName", "MethodName", "ExecutionTime");
+
+
+CREATE INDEX "IX_AbpAuditLogs_TenantId_ExecutionTime" ON "AbpAuditLogs" ("TenantId", "ExecutionTime");
+
+
+CREATE INDEX "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime" ON "AbpAuditLogs" ("TenantId", "UserId", "ExecutionTime");
+
+
+CREATE INDEX "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime" ON "AbpBackgroundJobs" ("IsAbandoned", "NextTryTime");
+
+
+CREATE INDEX "IX_AbpEntityChanges_AuditLogId" ON "AbpEntityChanges" ("AuditLogId");
+
+
+CREATE INDEX "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId" ON "AbpEntityChanges" ("TenantId", "EntityTypeFullName", "EntityId");
+
+
+CREATE INDEX "IX_AbpEntityPropertyChanges_EntityChangeId" ON "AbpEntityPropertyChanges" ("EntityChangeId");
+
+
+CREATE UNIQUE INDEX "IX_AbpFeatureValues_Name_ProviderName_ProviderKey" ON "AbpFeatureValues" ("Name", "ProviderName", "ProviderKey");
+
+
+CREATE UNIQUE INDEX "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId" ON "AbpLinkUsers" ("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId");
+
+
+CREATE INDEX "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId" ON "AbpOrganizationUnitRoles" ("RoleId", "OrganizationUnitId");
+
+
+CREATE INDEX "IX_AbpOrganizationUnits_Code" ON "AbpOrganizationUnits" ("Code");
+
+
+CREATE INDEX "IX_AbpOrganizationUnits_ParentId" ON "AbpOrganizationUnits" ("ParentId");
+
+
+CREATE UNIQUE INDEX "IX_AbpPermissionGrants_TenantId_Name_ProviderName_ProviderKey" ON "AbpPermissionGrants" ("TenantId", "Name", "ProviderName", "ProviderKey");
+
+
+CREATE INDEX "IX_AbpRoleClaims_RoleId" ON "AbpRoleClaims" ("RoleId");
+
+
+CREATE INDEX "IX_AbpRoles_NormalizedName" ON "AbpRoles" ("NormalizedName");
+
+
+CREATE INDEX "IX_AbpSecurityLogs_TenantId_Action" ON "AbpSecurityLogs" ("TenantId", "Action");
+
+
+CREATE INDEX "IX_AbpSecurityLogs_TenantId_ApplicationName" ON "AbpSecurityLogs" ("TenantId", "ApplicationName");
+
+
+CREATE INDEX "IX_AbpSecurityLogs_TenantId_Identity" ON "AbpSecurityLogs" ("TenantId", "Identity");
+
+
+CREATE INDEX "IX_AbpSecurityLogs_TenantId_UserId" ON "AbpSecurityLogs" ("TenantId", "UserId");
+
+
+CREATE UNIQUE INDEX "IX_AbpSettings_Name_ProviderName_ProviderKey" ON "AbpSettings" ("Name", "ProviderName", "ProviderKey");
+
+
+CREATE INDEX "IX_AbpTenants_Name" ON "AbpTenants" ("Name");
+
+
+CREATE INDEX "IX_AbpUserClaims_UserId" ON "AbpUserClaims" ("UserId");
+
+
+CREATE INDEX "IX_AbpUserLogins_LoginProvider_ProviderKey" ON "AbpUserLogins" ("LoginProvider", "ProviderKey");
+
+
+CREATE INDEX "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId" ON "AbpUserOrganizationUnits" ("UserId", "OrganizationUnitId");
+
+
+CREATE INDEX "IX_AbpUserRoles_RoleId_UserId" ON "AbpUserRoles" ("RoleId", "UserId");
+
+
+CREATE INDEX "IX_AbpUsers_Email" ON "AbpUsers" ("Email");
+
+
+CREATE INDEX "IX_AbpUsers_NormalizedEmail" ON "AbpUsers" ("NormalizedEmail");
+
+
+CREATE INDEX "IX_AbpUsers_NormalizedUserName" ON "AbpUsers" ("NormalizedUserName");
+
+
+CREATE INDEX "IX_AbpUsers_UserName" ON "AbpUsers" ("UserName");
+
+
+CREATE UNIQUE INDEX "IX_Auth_Department_Code" ON "Auth_Department" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Auth_Menu_Code" ON "Auth_Menu" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Auth_UserMenu_UserId_MenuCode" ON "Auth_UserMenu" ("UserId", "MenuCode");
+
+
+CREATE UNIQUE INDEX "IX_Auth_UserWorkGroup_WorkGroupCode_UserId" ON "Auth_UserWorkGroup" ("WorkGroupCode", "UserId");
+
+
+CREATE INDEX "IX_IdentityServerClients_ClientId" ON "IdentityServerClients" ("ClientId");
+
+
+CREATE UNIQUE INDEX "IX_IdentityServerDeviceFlowCodes_DeviceCode" ON "IdentityServerDeviceFlowCodes" ("DeviceCode");
+
+
+CREATE INDEX "IX_IdentityServerDeviceFlowCodes_Expiration" ON "IdentityServerDeviceFlowCodes" ("Expiration");
+
+
+CREATE INDEX "IX_IdentityServerDeviceFlowCodes_UserCode" ON "IdentityServerDeviceFlowCodes" ("UserCode");
+
+
+CREATE INDEX "IX_IdentityServerPersistedGrants_Expiration" ON "IdentityServerPersistedGrants" ("Expiration");
+
+
+CREATE INDEX "IX_IdentityServerPersistedGrants_SubjectId_ClientId_Type" ON "IdentityServerPersistedGrants" ("SubjectId", "ClientId", "Type");
+
+
+CREATE INDEX "IX_IdentityServerPersistedGrants_SubjectId_SessionId_Type" ON "IdentityServerPersistedGrants" ("SubjectId", "SessionId", "Type");
+
+
diff --git a/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.BasedataDbContext.sql b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.BasedataDbContext.sql
new file mode 100644
index 000000000..ad5e918df
--- /dev/null
+++ b/be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.BasedataDbContext.sql
@@ -0,0 +1,1030 @@
+CREATE TABLE "Basedata_AQL" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_AQL" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "SupplierCode" TEXT NOT NULL,
+ "AbcClass" TEXT NULL,
+ "FloorQty" decimal(18, 6) NOT NULL,
+ "CeilingQty" decimal(18, 6) NOT NULL,
+ "SamplePercent" decimal(18, 6) NOT NULL,
+ "SampleQty" decimal(18, 6) NOT NULL,
+ "IsUsePercent" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Area" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Area" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "AreaType" TEXT NOT NULL,
+ "IsFunctional" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Bom" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Bom" PRIMARY KEY,
+ "Product" TEXT NOT NULL,
+ "Component" TEXT NOT NULL,
+ "ComponentUom" TEXT NULL,
+ "ComponentQty" decimal(18, 6) NOT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "ERPOp" TEXT NULL,
+ "Layer" INTEGER NOT NULL DEFAULT 1,
+ "MFGOp" TEXT NULL,
+ "DistributionType" TEXT NOT NULL,
+ "TruncType" TEXT NOT NULL,
+ "PlannedSplitRule" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Calendar" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Calendar" PRIMARY KEY,
+ "Module" TEXT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "Status" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Category" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Category" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Currency" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Currency" PRIMARY KEY,
+ "Name" TEXT NOT NULL,
+ "Code" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "IsBasicCurrency" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_CurrencyExchange" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_CurrencyExchange" PRIMARY KEY,
+ "CurrencyId" TEXT NOT NULL,
+ "BasicCurrencyId" TEXT NOT NULL,
+ "Rate" decimal(18, 6) NOT NULL,
+ "EfficetiveTime" TEXT NOT NULL,
+ "ExpireTime" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Customer" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Customer" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "ShortName" TEXT NULL,
+ "Address" TEXT NULL,
+ "Country" TEXT NULL,
+ "City" TEXT NULL,
+ "Phone" TEXT NULL,
+ "Fax" TEXT NULL,
+ "PostID" TEXT NULL,
+ "Contacts" TEXT NULL,
+ "Currency" TEXT NULL,
+ "IsActive" INTEGER NOT NULL,
+ "Type" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_CustomerAddress" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_CustomerAddress" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "CustomerCode" TEXT NOT NULL,
+ "Address" TEXT NULL,
+ "Contact" TEXT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "City" TEXT NULL,
+ "LocationCode" TEXT NOT NULL,
+ "Desc" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_CustomerItem" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_CustomerItem" PRIMARY KEY,
+ "CustomerCode" TEXT NOT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "CustomerItemCode" TEXT NOT NULL,
+ "Version" TEXT NULL,
+ "CustomerPackUom" TEXT NULL,
+ "CustomerPackQty" decimal(18, 6) NOT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Dict" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Dict" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Dock" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Dock" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "WarehouseCode" TEXT NULL,
+ "DefaultLocationCode" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_DocumentSetting" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_DocumentSetting" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "TransactionType" TEXT NULL,
+ "NumberPrefix" TEXT NULL,
+ "NumberFormat" TEXT NULL,
+ "NumberSerialLength" INTEGER NOT NULL,
+ "NumberSeparator" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ErpLocation" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ErpLocation" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_InterfaceCalendar" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_InterfaceCalendar" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Year" TEXT NOT NULL,
+ "Month" TEXT NOT NULL,
+ "BeginTime" TEXT NOT NULL,
+ "EndTime" TEXT NOT NULL,
+ "ConvertToTime" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemBasic" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemBasic" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Desc1" TEXT NULL,
+ "Desc2" TEXT NULL,
+ "Status" TEXT NOT NULL,
+ "CanMake" INTEGER NOT NULL,
+ "CanBuy" INTEGER NOT NULL,
+ "CanOutsourcing" INTEGER NOT NULL,
+ "IsRecycled" INTEGER NOT NULL,
+ "Type" TEXT NULL,
+ "Category" TEXT NULL,
+ "Group" TEXT NULL,
+ "Color" TEXT NULL,
+ "Configuration" TEXT NULL,
+ "BasicUom" TEXT NULL,
+ "StdPackQty" decimal(18, 6) NOT NULL,
+ "AbcClass" TEXT NOT NULL,
+ "Project" TEXT NULL,
+ "Version" TEXT NULL,
+ "Eco" TEXT NULL,
+ "Validity" INTEGER NOT NULL,
+ "ValidityUnit" TEXT NOT NULL,
+ "ManageType" TEXT NOT NULL,
+ "Elevel" TEXT NULL,
+ "IsPhantom" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemCategory" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemCategory" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "CategoryCode" TEXT NOT NULL,
+ "Value" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemGuideBook" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemGuideBook" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Desc1" TEXT NULL,
+ "Desc2" TEXT NULL,
+ "Step" TEXT NULL,
+ "PictureBlobName" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemPack" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemPack" PRIMARY KEY,
+ "PackCode" TEXT NOT NULL,
+ "PackName" TEXT NULL,
+ "PackType" TEXT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "BasicUom" TEXT NULL,
+ "Qty" decimal(18, 6) NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemQuality" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemQuality" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "SupplierCode" TEXT NOT NULL,
+ "Status" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "InspectType" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemSafetyStock" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemSafetyStock" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "StoreRelationType" TEXT NOT NULL,
+ "StoreValue" TEXT NULL,
+ "MaxStock" decimal(18, 6) NOT NULL,
+ "MinStock" decimal(18, 6) NOT NULL,
+ "SafetyStock" decimal(18, 6) NOT NULL,
+ "FeedLine" decimal(18, 6) NOT NULL,
+ "FeedQty" decimal(18, 6) NOT NULL,
+ "FeedUM" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ItemStoreRelation" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ItemStoreRelation" PRIMARY KEY,
+ "ItemCode" TEXT NOT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "StoreRelationType" TEXT NOT NULL,
+ "StoreValue" TEXT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "StoreUM" TEXT NULL,
+ "UmQty" decimal(18, 6) NOT NULL,
+ "AltUm" TEXT NULL,
+ "AltUmQty" decimal(18, 6) NOT NULL,
+ "PramaryUM" TEXT NOT NULL,
+ "IsFixed" INTEGER NOT NULL,
+ "MultiLoc" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Location" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Location" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NOT NULL,
+ "ErpLocationCode" TEXT NOT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "AreaCode" TEXT NOT NULL,
+ "LocationGroupCode" TEXT NOT NULL,
+ "WorkGroupCode" TEXT NOT NULL,
+ "ShelfCode" TEXT NULL,
+ "RowCode" INTEGER NOT NULL DEFAULT 1,
+ "ColumnCode" INTEGER NOT NULL DEFAULT 1,
+ "DefaultInventoryStatus" TEXT NOT NULL,
+ "PickPriority" INTEGER NOT NULL DEFAULT 0,
+ "PickOrder" INTEGER NOT NULL DEFAULT 0,
+ "EnableMixItem" INTEGER NOT NULL DEFAULT 1,
+ "EnableMixLot" INTEGER NOT NULL DEFAULT 1,
+ "EnableMixStatus" INTEGER NOT NULL DEFAULT 1,
+ "EnableNegative" INTEGER NOT NULL DEFAULT 1,
+ "EnableKeepZero" INTEGER NOT NULL DEFAULT 1,
+ "EnableOpportunityCount" INTEGER NOT NULL DEFAULT 1,
+ "EnablePick" INTEGER NOT NULL DEFAULT 1,
+ "EnableOverPick" INTEGER NOT NULL DEFAULT 1,
+ "EnableWholeStore" INTEGER NOT NULL DEFAULT 1,
+ "EnableBreakStore" INTEGER NOT NULL DEFAULT 1,
+ "EnableShip" INTEGER NOT NULL DEFAULT 1,
+ "EnableReceive" INTEGER NOT NULL DEFAULT 1,
+ "EnableReturnToSupplier" INTEGER NOT NULL DEFAULT 1,
+ "EnableReturnFromCustomer" INTEGER NOT NULL DEFAULT 1,
+ "EnableSplitBox" INTEGER NOT NULL DEFAULT 1,
+ "EnableSplitPallet" INTEGER NOT NULL DEFAULT 1,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_LocationGroup" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_LocationGroup" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "AreaCode" TEXT NOT NULL,
+ "GroupType" TEXT NOT NULL,
+ "DefaultInventoryStatus" TEXT NOT NULL,
+ "PickPriority" INTEGER NOT NULL DEFAULT 0,
+ "OverflowLocationGroup" TEXT NULL,
+ "EnableMixItem" INTEGER NOT NULL DEFAULT 1,
+ "EnableMixLot" INTEGER NOT NULL DEFAULT 1,
+ "EnableMixStatus" INTEGER NOT NULL DEFAULT 1,
+ "EnableNegative" INTEGER NOT NULL DEFAULT 1,
+ "EnableKeepZero" INTEGER NOT NULL DEFAULT 1,
+ "EnableOpportunityCount" INTEGER NOT NULL DEFAULT 1,
+ "EnablePick" INTEGER NOT NULL DEFAULT 1,
+ "EnableOverPick" INTEGER NOT NULL DEFAULT 1,
+ "EnableWholeStore" INTEGER NOT NULL DEFAULT 1,
+ "EnableBreakStore" INTEGER NOT NULL DEFAULT 1,
+ "EnableShip" INTEGER NOT NULL DEFAULT 1,
+ "EnableReceive" INTEGER NOT NULL DEFAULT 1,
+ "EnableReturnToSupplier" INTEGER NOT NULL DEFAULT 1,
+ "EnableReturnFromCustomer" INTEGER NOT NULL DEFAULT 1,
+ "EnableSplitBox" INTEGER NOT NULL DEFAULT 1,
+ "EnableSplitPallet" INTEGER NOT NULL DEFAULT 1,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Machine" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Machine" PRIMARY KEY,
+ "ProdLineId" TEXT NOT NULL,
+ "WorkStationId" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Code" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ProductionLine" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ProductionLine" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NOT NULL,
+ "WorkshopCode" TEXT NULL,
+ "RawLocationCode" TEXT NULL,
+ "ProductLocationCode" TEXT NULL,
+ "RawLocationGroupCode" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_ProductionLineItem" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_ProductionLineItem" PRIMARY KEY,
+ "ProdLineCode" TEXT NOT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Project" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Project" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "CustomerCode" TEXT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_PurchasePriceSheet" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_PurchasePriceSheet" PRIMARY KEY,
+ "SupplierId" TEXT NOT NULL,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "CurrencyId" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_SalePriceSheet" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_SalePriceSheet" PRIMARY KEY,
+ "CustomerId" TEXT NOT NULL,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "CurrencyId" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Shift" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Shift" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "EndAtNextDay" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_StdCostPriceSheet" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_StdCostPriceSheet" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "SupplierId" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "CurrencyId" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Supplier" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Supplier" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "ShortName" TEXT NULL,
+ "Address" TEXT NULL,
+ "Country" TEXT NULL,
+ "City" TEXT NULL,
+ "Phone" TEXT NULL,
+ "Fax" TEXT NULL,
+ "PostID" TEXT NULL,
+ "Contacts" TEXT NULL,
+ "Bank" TEXT NULL,
+ "Currency" TEXT NULL,
+ "TaxRate" decimal(18, 6) NOT NULL,
+ "IsActive" INTEGER NOT NULL DEFAULT 1,
+ "Type" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_SupplierItem" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_SupplierItem" PRIMARY KEY,
+ "SupplierCode" TEXT NOT NULL,
+ "SupplierSimpleName" TEXT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "ItemName" TEXT NULL,
+ "SupplierItemCode" TEXT NOT NULL,
+ "Version" TEXT NULL,
+ "SupplierPackUom" TEXT NULL,
+ "SupplierPackQty" decimal(18, 6) NOT NULL,
+ "QtyPerPallet" decimal(18, 6) NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_SupplierTimeWindow" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_SupplierTimeWindow" PRIMARY KEY,
+ "SupplierCode" TEXT NOT NULL,
+ "SupplierName" TEXT NOT NULL,
+ "TimeSlot" TEXT NOT NULL,
+ "Week" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Team" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Team" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "Members" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_TransactionType" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_TransactionType" PRIMARY KEY,
+ "TransType" TEXT NOT NULL,
+ "TransSubType" TEXT NOT NULL,
+ "Description" TEXT NOT NULL,
+ "InLocationTypes" TEXT NULL,
+ "OutLocationTypes" TEXT NULL,
+ "InLocationAreas" TEXT NULL,
+ "OutLocationAreas" TEXT NULL,
+ "ItemStatuses" TEXT NULL,
+ "ItemTypes" TEXT NULL,
+ "InInventoryStatuses" TEXT NULL,
+ "OutInventoryStatuses" TEXT NULL,
+ "AutoSubmitRequest" INTEGER NOT NULL,
+ "AutoAgreeRequest" INTEGER NOT NULL,
+ "AutoHandleRequest" INTEGER NOT NULL,
+ "AutoCompleteJob" INTEGER NOT NULL,
+ "DirectCreateNote" INTEGER NOT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Uom" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Uom" PRIMARY KEY,
+ "Name" TEXT NULL,
+ "Code" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_Warehouse" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_Warehouse" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_WorkGroup" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_WorkGroup" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "WarehouseCode" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_WorkShop" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_WorkShop" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_WorkStation" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_WorkStation" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NOT NULL,
+ "Description" TEXT NULL,
+ "ProductionLineCode" TEXT NOT NULL,
+ "RawLocationCode" TEXT NULL,
+ "ProductLocationCode" TEXT NULL,
+ "Type" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Basedata_DictItem" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Basedata_DictItem" PRIMARY KEY,
+ "MasterId" TEXT NOT NULL,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Value" TEXT NULL,
+ "Description" TEXT NULL,
+ "Enabled" INTEGER NOT NULL,
+ "Remark" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ CONSTRAINT "FK_Basedata_DictItem_Basedata_Dict_MasterId" FOREIGN KEY ("MasterId") REFERENCES "Basedata_Dict" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE UNIQUE INDEX "IX_Basedata_AQL_SupplierCode_ItemCode_FloorQty" ON "Basedata_AQL" ("SupplierCode", "ItemCode", "FloorQty");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Area_Code" ON "Basedata_Area" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Bom_Product_Component" ON "Basedata_Bom" ("Product", "Component");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Calendar_Module" ON "Basedata_Calendar" ("Module");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Category_Code" ON "Basedata_Category" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Currency_Code" ON "Basedata_Currency" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_CurrencyExchange_CurrencyId_BasicCurrencyId" ON "Basedata_CurrencyExchange" ("CurrencyId", "BasicCurrencyId");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Customer_Code" ON "Basedata_Customer" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_CustomerAddress_Code_CustomerCode" ON "Basedata_CustomerAddress" ("Code", "CustomerCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_CustomerItem_CustomerCode_ItemCode" ON "Basedata_CustomerItem" ("CustomerCode", "ItemCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Dict_Code" ON "Basedata_Dict" ("Code");
+
+
+CREATE INDEX "IX_Basedata_DictItem_MasterId" ON "Basedata_DictItem" ("MasterId");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Dock_Code" ON "Basedata_Dock" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_DocumentSetting_Code" ON "Basedata_DocumentSetting" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ErpLocation_Code" ON "Basedata_ErpLocation" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_InterfaceCalendar_Code" ON "Basedata_InterfaceCalendar" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemBasic_Code" ON "Basedata_ItemBasic" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemCategory_CategoryCode_ItemCode" ON "Basedata_ItemCategory" ("CategoryCode", "ItemCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemGuideBook_ItemCode" ON "Basedata_ItemGuideBook" ("ItemCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemPack_ItemCode_PackCode" ON "Basedata_ItemPack" ("ItemCode", "PackCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemQuality_ItemCode_SupplierCode" ON "Basedata_ItemQuality" ("ItemCode", "SupplierCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemSafetyStock_ItemCode_WarehouseCode_StoreRelationType_StoreValue" ON "Basedata_ItemSafetyStock" ("ItemCode", "WarehouseCode", "StoreRelationType", "StoreValue");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ItemStoreRelation_ItemCode_StoreRelationType_StoreValue" ON "Basedata_ItemStoreRelation" ("ItemCode", "StoreRelationType", "StoreValue");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Location_Code" ON "Basedata_Location" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_LocationGroup_Code" ON "Basedata_LocationGroup" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Machine_Code" ON "Basedata_Machine" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ProductionLine_Code" ON "Basedata_ProductionLine" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_ProductionLineItem_ProdLineCode_ItemCode" ON "Basedata_ProductionLineItem" ("ProdLineCode", "ItemCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Project_Code" ON "Basedata_Project" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_PurchasePriceSheet_Code" ON "Basedata_PurchasePriceSheet" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_SalePriceSheet_Code_CustomerId" ON "Basedata_SalePriceSheet" ("Code", "CustomerId");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Shift_Code" ON "Basedata_Shift" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_StdCostPriceSheet_Code_SupplierId" ON "Basedata_StdCostPriceSheet" ("Code", "SupplierId");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Supplier_Code" ON "Basedata_Supplier" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_SupplierItem_SupplierCode_ItemCode" ON "Basedata_SupplierItem" ("SupplierCode", "ItemCode");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_SupplierTimeWindow_SupplierCode_TimeSlot_Week" ON "Basedata_SupplierTimeWindow" ("SupplierCode", "TimeSlot", "Week");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Team_Code" ON "Basedata_Team" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_TransactionType_TransType_TransSubType" ON "Basedata_TransactionType" ("TransType", "TransSubType");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Uom_Code" ON "Basedata_Uom" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_Warehouse_Code" ON "Basedata_Warehouse" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_WorkGroup_Code" ON "Basedata_WorkGroup" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_WorkShop_Code" ON "Basedata_WorkShop" ("Code");
+
+
+CREATE UNIQUE INDEX "IX_Basedata_WorkStation_Code" ON "Basedata_WorkStation" ("Code");
+
+
diff --git a/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/libman.json b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/libman.json
new file mode 100644
index 000000000..e66fb210b
--- /dev/null
+++ b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/libman.json
@@ -0,0 +1,5 @@
+{
+ "version": "1.0",
+ "defaultProvider": "cdnjs",
+ "libraries": []
+}
diff --git a/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.FileStorageDbContext.sql b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.FileStorageDbContext.sql
new file mode 100644
index 000000000..c2c3c02d5
--- /dev/null
+++ b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.FileStorageDbContext.sql
@@ -0,0 +1,92 @@
+CREATE TABLE "AbpBlobContainers" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpBlobContainers" PRIMARY KEY,
+ "TenantId" TEXT NULL,
+ "Name" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL
+);
+
+
+CREATE TABLE "FileStorage_DataExportTask" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_FileStorage_DataExportTask" PRIMARY KEY,
+ "ExportFileBlobName" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL,
+ "Function" TEXT NOT NULL,
+ "Route" TEXT NOT NULL,
+ "RequestParam" TEXT NULL,
+ "ReturnResult" TEXT NULL,
+ "Worker" TEXT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "Status" TEXT NOT NULL
+);
+
+
+CREATE TABLE "FileStorage_DataImportTask" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_FileStorage_DataImportTask" PRIMARY KEY,
+ "ImportFileBlobName" TEXT NOT NULL,
+ "ImportReportBlobName" TEXT NULL,
+ "ImportStatus" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL,
+ "Function" TEXT NOT NULL,
+ "Route" TEXT NOT NULL,
+ "RequestParam" TEXT NULL,
+ "ReturnResult" TEXT NULL,
+ "Worker" TEXT NULL,
+ "BeginTime" TEXT NULL,
+ "EndTime" TEXT NULL,
+ "Status" TEXT NOT NULL
+);
+
+
+CREATE TABLE "FileStorage_File" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_FileStorage_File" PRIMARY KEY,
+ "FileName" TEXT NOT NULL,
+ "BlobName" TEXT NOT NULL,
+ "ByteSize" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "AbpBlobs" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_AbpBlobs" PRIMARY KEY,
+ "ContainerId" TEXT NOT NULL,
+ "TenantId" TEXT NULL,
+ "Name" TEXT NOT NULL,
+ "Content" BLOB NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ CONSTRAINT "FK_AbpBlobs_AbpBlobContainers_ContainerId" FOREIGN KEY ("ContainerId") REFERENCES "AbpBlobContainers" ("Id") ON DELETE CASCADE
+);
+
+
+CREATE INDEX "IX_AbpBlobContainers_TenantId_Name" ON "AbpBlobContainers" ("TenantId", "Name");
+
+
+CREATE INDEX "IX_AbpBlobs_ContainerId" ON "AbpBlobs" ("ContainerId");
+
+
+CREATE INDEX "IX_AbpBlobs_TenantId_ContainerId_Name" ON "AbpBlobs" ("TenantId", "ContainerId", "Name");
+
+
diff --git a/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.LabelDbContext.sql b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.LabelDbContext.sql
new file mode 100644
index 000000000..8239c53b3
--- /dev/null
+++ b/be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.Sqlite.LabelDbContext.sql
@@ -0,0 +1,133 @@
+CREATE TABLE "Label_CountLabel" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_CountLabel" PRIMARY KEY,
+ "RuleCode" TEXT NOT NULL,
+ "CountNumber" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Label_InventoryLabel" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_InventoryLabel" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "LabelType" TEXT NOT NULL,
+ "FullBarcodeString" TEXT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "ItemName" TEXT NULL,
+ "ItemDesc1" TEXT NULL,
+ "ItemDesc2" TEXT NULL,
+ "Lot" TEXT NOT NULL,
+ "SupplierBatch" TEXT NULL,
+ "ArriveDate" TEXT NOT NULL,
+ "ProduceDate" TEXT NOT NULL,
+ "ExpireDate" TEXT NOT NULL,
+ "StdPackQty" decimal(18, 6) NOT NULL,
+ "Uom" TEXT NULL,
+ "Qty" decimal(18, 6) NOT NULL,
+ "LabelStatus" TEXT NOT NULL,
+ "RecommendLocationCode" TEXT NULL,
+ "LocationErpCode" TEXT NULL,
+ "ContainerCode" TEXT NULL,
+ "QualityInfo_QLevel" TEXT NULL,
+ "QualityInfo_QualityFile" TEXT NULL,
+ "PurchaseInfo_SupplierCode" TEXT NULL,
+ "PurchaseInfo_PoNumber" TEXT NULL,
+ "PurchaseInfo_RpNumber" TEXT NULL,
+ "PurchaseInfo_AsnNumber" TEXT NULL,
+ "ProductionInfo_ProdLine" TEXT NULL,
+ "ProductionInfo_Team" TEXT NULL,
+ "ProductionInfo_Shift" TEXT NULL,
+ "Specifications" TEXT NULL,
+ "SupplierName" TEXT NULL,
+ "SupplierSimpleName" TEXT NULL,
+ "SupplierItemCode" TEXT NULL,
+ "SupplierItemName" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Label_LabelDefinition" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_LabelDefinition" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "Name" TEXT NULL,
+ "Description" TEXT NULL,
+ "Type" TEXT NULL,
+ "Prefix" TEXT NULL,
+ "Format" TEXT NULL,
+ "SerialLength" INTEGER NOT NULL,
+ "Separator" TEXT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Label_PalletCode" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_PalletCode" PRIMARY KEY,
+ "RuleCode" TEXT NOT NULL,
+ "PalletlNumber" INTEGER NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Label_PalletLabel" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_PalletLabel" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "LabelType" TEXT NOT NULL,
+ "LabelStatus" TEXT NOT NULL,
+ "HasItem" INTEGER NOT NULL,
+ "Name" TEXT NULL,
+ "Desc1" TEXT NULL,
+ "Desc2" TEXT NULL,
+ "ParentId" TEXT NOT NULL,
+ "ExtraProperties" TEXT NULL,
+ "ConcurrencyStamp" TEXT NULL,
+ "CreationTime" TEXT NOT NULL,
+ "CreatorId" TEXT NULL,
+ "LastModificationTime" TEXT NULL,
+ "LastModifierId" TEXT NULL,
+ "TenantId" TEXT NULL,
+ "Remark" TEXT NULL
+);
+
+
+CREATE TABLE "Label_SaleLabel" (
+ "Id" TEXT NOT NULL CONSTRAINT "PK_Label_SaleLabel" PRIMARY KEY,
+ "Code" TEXT NOT NULL,
+ "LabelType" TEXT NOT NULL,
+ "FullBarcodeString" TEXT NOT NULL,
+ "ItemCode" TEXT NOT NULL,
+ "ItemName" TEXT NULL,
+ "ItemDesc1" TEXT NULL,
+ "ItemDesc2" TEXT NULL,
+ "Lot" TEXT NOT NULL,
+ "SupplierBatch" TEXT NULL,
+ "ArriveDate" TEXT NOT NULL,
+ "ProduceDate" TEXT NOT NULL,
+ "ExpireDate" TEXT NOT NULL,
+ "StdPackQty" decimal(18, 6) NOT
\ No newline at end of file
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/AbpDbContextOptionsExtensions.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/AbpDbContextOptionsExtensions.cs
index 1f547b43f..fbd699d82 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/AbpDbContextOptionsExtensions.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/AbpDbContextOptionsExtensions.cs
@@ -17,5 +17,17 @@ public static class AbpDbContextOptionsExtensions
{
options.UseSqlServer();
}
+ else if (db == "Oracle")
+ {
+ options.UseOracle();
+ }
+ else if (db == "PostgreSql")
+ {
+ options.UseNpgsql();
+ }
+ else if (db == "SQLite")
+ {
+ options.UseSqlite();
+ }
}
}
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs
index f187860b2..0e0be621d 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs
@@ -38,7 +38,6 @@ using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Guids;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
-using Volo.Abp.Uow;
using Win_in.Sfs.Shared.Application;
using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport;
using Win_in.Sfs.Shared.Domain.Shared;
@@ -49,16 +48,17 @@ public abstract class ModuleBase : AbpModule where T : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
+ var cfg = context.Services.GetConfiguration();
ServiceConfigurationContext.SetConsoleTitleOfWebApp(Assembly.GetEntryAssembly().GetName().Name);
LimitedResultRequestDto.MaxMaxResultCount = 100000;
- context.Services.Configure(o => o.DefaultSequentialGuidType = SequentialGuidType.SequentialAsString);
+
context.Services.AddAgileConfig();
PreConfigureServices(context);
ConfigureAntiForgery();
ConfigureLocalizationServices();
ConfigureAuthentication();
ConfigureDistributedCache();
- ConfigureDbContext(context.Services.GetConfiguration());
+ ConfigureDatabase(context, cfg);
ConfigureHttpClientProxies();
ConfigureAutoMapper();
ConfigureLocalizationServices();
@@ -69,6 +69,48 @@ public abstract class ModuleBase : AbpModule where T : AbpModule
ConfigureExceptionHanding();
}
+ private void ConfigureDatabase(ServiceConfigurationContext context, IConfiguration cfg)
+ {
+ var db = cfg.GetValue("Database", "SQLite");
+ SequentialGuidType? sequentialGuidType = null;
+ if (db == "MySQL" || db == "PostgreSql")
+ {
+ sequentialGuidType = SequentialGuidType.SequentialAsString;
+ }
+ else if (db == "SQLServer")
+ {
+ sequentialGuidType = SequentialGuidType.SequentialAtEnd;
+ }
+ else if (db == "Oracle")
+ {
+ sequentialGuidType = SequentialGuidType.SequentialAsBinary;
+ }
+ context.Services.Configure(o => o.DefaultSequentialGuidType = sequentialGuidType);
+ Configure(options =>
+ {
+ if (db == "MySQL")
+ {
+ options.UseMySQL();
+ }
+ else if (db == "SQLServer")
+ {
+ options.UseSqlServer();
+ }
+ else if (db == "Oracle")
+ {
+ options.UseOracle();
+ }
+ else if (db == "PostgreSql")
+ {
+ options.UseNpgsql();
+ }
+ else
+ {
+ options.UseSqlite();
+ }
+ });
+ }
+
public override async Task ConfigureServicesAsync(ServiceConfigurationContext context)
{
await base.ConfigureServicesAsync(context).ConfigureAwait(false);
@@ -92,6 +134,7 @@ public abstract class ModuleBase : AbpModule where T : AbpModule
dbContext.Database.SetCommandTimeout(TimeSpan.FromMinutes(10));
var dbCreator = dbContext.GetService() as RelationalDatabaseCreator;
var sql = dbCreator.GenerateCreateScript();
+ sql = dbContext.Database.ProviderName.Contains("SqlServer") ? Regex.Replace(sql, ";\\s+GO\\s", " ") : sql;
var md5 = sql.Md5();
var path = Path.Combine(Directory.GetCurrentDirectory(), "scripts");
Directory.CreateDirectory(path);
@@ -118,7 +161,7 @@ public abstract class ModuleBase : AbpModule where T : AbpModule
try
{
//dbContext.Database.BeginTransaction();
- dbContext.Database.ExecuteSqlRaw(Regex.Replace(sql, ";\\s+GO\\s", " "));
+ dbContext.Database.ExecuteSqlRaw(sql);
context.ServiceProvider
.GetRequiredService()
.SeedAsync()
@@ -130,7 +173,10 @@ public abstract class ModuleBase : AbpModule where T : AbpModule
catch (Exception ex)
{
//dbContext.Database.RollbackTransaction();
- throw new Exception($"{contextName} 初始化失败:{ex.Message}", ex);
+ var message = $"{contextName} 初始化失败:{ex.Message}";
+ Console.WriteLine(message);
+ Console.WriteLine(ex.ToString());
+ throw new Exception(message, ex);
}
finally
{
diff --git a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/Win_in.Sfs.Shared.Host.csproj b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/Win_in.Sfs.Shared.Host.csproj
index dfa6a632f..b8549467f 100644
--- a/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/Win_in.Sfs.Shared.Host.csproj
+++ b/be/Modules/Shared/src/Win_in.Sfs.Shared.Host/Win_in.Sfs.Shared.Host.csproj
@@ -13,9 +13,13 @@
+
+
+
+
@@ -29,6 +33,5 @@
-
diff --git a/build/src/docker/publish/.env b/build/src/docker/publish/.env
index cf0e47630..8b4e6ee0b 100644
--- a/build/src/docker/publish/.env
+++ b/build/src/docker/publish/.env
@@ -25,6 +25,8 @@ PHPMYADMIN_PORT=21094
REDIS_PORT=21194
SQLSERVER_PORT=21195
MYSQL_PORT1=21196
+MYSQL_PORT2=21197
+POSTGRES_PORT=21198
# 212
SFS_CORE_PORT=21292
SFS_AUTH_PORT=21293
diff --git a/build/src/docker/publish/docker-compose.development.yml b/build/src/docker/publish/docker-compose.development.yml
index 72e1ecd88..532957434 100644
--- a/build/src/docker/publish/docker-compose.development.yml
+++ b/build/src/docker/publish/docker-compose.development.yml
@@ -13,6 +13,15 @@ services:
- /etc/localtime:/etc/localtime:ro
- ./data/sqlserver:/var/opt/mssql/data
- ./logs/sqlserver:/var/opt/mssql/log
+ postgres:
+ image: postgres:15.2
+ environment:
+ - POSTGRES_USER=root
+ - POSTGRES_PASSWORD=aA123456!
+ ports:
+ - ${POSTGRES_PORT}:5432
+ volumes:
+ - ./data/postgres:/var/lib/postgresql/data
gateway:
volumes:
- ./conf/gateway/traefik-config.development.yml:/etc/traefik/config/traefik-config.yml