configs/appsettings.Production.json. По умолчанию этот файл находится в папке defaults либо запускаем службу без настроек либо вручную создаем/переносим раздел configs{
"Agents": [
{
"Certificate": "",
"Id": 1,
"Name": "Agent1",
"Password": 123,
"ServicePort": 5099,
"ServicePortNoSsl": 5098,
"ServiceUrl": "127.0.0.1"
}
],
"AllowedHosts": "*",
"ConnectionString": "Server=127.0.0.1,1433;Database=DBFiscalization;User Id=sa;Password=123456;TrustServerCertificate=true;",
"CorsAllow": ["*"],
"EnableAutoCreateDb": true,
"EnableAutoUpdateDb": true,
"EntryPointSettings": {
"EntryPointAddress": "http://localhost:6003",
"ThisServiceAddress": "http://localhost:5008"
},
"FiscalizationBackground": {
"AgentsPollIntervalSeconds": 60,
"PollOperationGetStatusRetryDelaySeconds": 1,
"PollOperationMaxAttempts": 100,
"PollOperationRegisteredRepeatsLimit": 6,
"ReceiptQueuePollIntervalSeconds": 5
},
"IndexPath": ".\\web",
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Microsoft.EntityFrameworkCore.Database.Command": "Warning"
}
},
"NLog": {
"GlobalThreshold": "Info"
},
"PublicPath": ".\\web\\public",
"ReceiptsSort": {
"Keys": [
{
"Descending": true,
"Enabled": false,
"Name": "IsFiscal"
},
{
"Descending": true,
"Enabled": true,
"Name": "HasFiscalRegister"
},
{
"Descending": true,
"Enabled": true,
"Name": "IsError"
},
{
"Descending": false,
"Enabled": true,
"Name": "CreatedTime"
}
]
},
"SinglePageMode": true,
"StaticFilesSettings": {
"IndexPath": ".\\web",
"PublicPath": ".\\web\\public",
"SinglePageMode": true
},
"Urls": "http://*:5008"
}
ConnectionString, которое отвечает за подключение к СУБД3.1 Ставим параметр EnableAutoCreateDb в значении true
Пример:
"ConnectionString": "Server=.;Database=DBFiscalization;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=true; User Id=sa;Password=Dk3651340!;"
3.2. Подключаем Агентов ФР, данный пункт опциональный, его можно будет выполнить через WEB интерфейс
"Agents": [
{
"Id": "1",
"Name": "Agent1",
"ServicePort": 5099,
"ServicePortNoSsl": 5098,
"ServiceUrl": "127.0.0.1",
"Certificate": "",
"Password": "123"
}
]
Bars.Fiscalization.Server.exeДобавить агента
Cоздать
Выполнить скрипт для MS SQL
CREATE TABLE [dbo].[DatabaseStructureVersions] (
[DbModuleId]
INT
IDENTITY (1, 1) NOT NULL,
[DbModuleName] NVARCHAR (100) NOT NULL,
[DbVersion]
NVARCHAR (50) NOT NULL,
CONSTRAINT [PK_DatabaseStructureVersions] PRIMARY KEY CLUSTERED ([DbModuleId] ASC)
);
GO
INSERT INTO [dbo].[DatabaseStructureVersions] ([DbModuleName], [DbVersion])
VALUES ('Bars.Fiscalization', '1.0');
GO
Для PostgreSQL
CREATE TABLE IF NOT EXISTS "DatabaseStructureVersions" (
"DbModuleId"
SERIAL
NOT NULL,
"DbModuleName" VARCHAR(100) NOT NULL,
"DbVersion"
VARCHAR(50) NOT NULL,
CONSTRAINT "PK_DatabaseStructureVersions" PRIMARY KEY ("DbModuleId")
);
INSERT INTO "DatabaseStructureVersions" ("DbModuleName", "DbVersion")
VALUES ('Bars.Fiscalization', '1.0');
Далее обновление выполняется как для версий 0.3.0 и выше
В appsettings.Production.json EnableAutoUpdateDbв значении true
Альтернативный вариант через DataBaseInstaller