forked from ddrilling/AsbCloudServer
Doc timascale backup and restore.
This commit is contained in:
parent
eac44db77f
commit
fa3e47493b
@ -1,28 +1,53 @@
|
|||||||
создать миграцию
|
# Миграции
|
||||||
|
## создать миграцию
|
||||||
```
|
```
|
||||||
dotnet ef migrations add <MigrationName> --project AsbCloudDb
|
dotnet ef migrations add <MigrationName> --project AsbCloudDb
|
||||||
```
|
```
|
||||||
создать миграцию
|
## откатить миграцию
|
||||||
```
|
```
|
||||||
dotnet ef migrations remvoe <MigrationName> --project AsbCloudDb
|
dotnet ef migrations remvoe <MigrationName> --project AsbCloudDb
|
||||||
```
|
```
|
||||||
|
|
||||||
<MigrationName> - Name of migration class
|
<MigrationName> - Name of migration class
|
||||||
После создания миграции обязательно прочитать сгенерированый код.
|
После создания миграции обязательно прочитать сгенерированый код.
|
||||||
|
|
||||||
Применить миграции
|
## Применить миграции
|
||||||
|
При старте проекта применяются автоматически
|
||||||
```
|
```
|
||||||
dotnet ef database update --project .\AsbCloudDb
|
dotnet ef database update --project .\AsbCloudDb
|
||||||
```
|
```
|
||||||
|
|
||||||
#backup
|
# Backup
|
||||||
```
|
Terminal:
|
||||||
sudo -u postgres pg_dump -Fc -U postgres postgres -W | gzip > 2021-09-27_dump.sql.gz
|
```
|
||||||
sudo -u postgres pg_dump -Fc -U postgres postgres -W > 2021-11-26_dump.sql
|
sudo -u postgres pg_dump -Fc -U postgres postgres -W > dump_2021-11-26.bak
|
||||||
```
|
```
|
||||||
|
|
||||||
#restore
|
# Restore backup
|
||||||
```
|
## Step 1. (Re)Create DB and schema IF needeed.
|
||||||
psql postgres < dump_file_name
|
psql:
|
||||||
```
|
```
|
||||||
|
--drop schema public cascade;
|
||||||
|
CREATE DATABASE postgres;
|
||||||
|
\c postgres
|
||||||
|
create schema public;
|
||||||
|
```
|
||||||
|
|
||||||
sudo -u postgres psql -p 5499 -U postgres postgres -W < 2021-11-16_dump.sql.gz
|
## Step 2. Innit timescaledb and prepare DB to restore
|
||||||
|
```
|
||||||
|
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
||||||
|
SELECT timescaledb_pre_restore();
|
||||||
|
```
|
||||||
|
## Step 3. Restore DB, then 'exit resore mode'. [Longest operation]
|
||||||
|
Terminal:
|
||||||
|
```
|
||||||
|
sudo -u postgres psql -p 5499 -U postgres postgres -W < dump_2021-11-26.bak
|
||||||
|
```
|
||||||
|
OR psql:
|
||||||
|
```
|
||||||
|
\! pg_restore -Fc -d postgres dump_2021-11-26.bak
|
||||||
|
```
|
||||||
|
Then psql:
|
||||||
|
```
|
||||||
|
SELECT timescaledb_post_restore();
|
||||||
|
```
|
@ -89,6 +89,7 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
|
|
||||||
var idTelemetry = well?.IdTelemetry ?? default;
|
var idTelemetry = well?.IdTelemetry ?? default;
|
||||||
|
|
||||||
|
var filterByDateEnd = dateBegin != default;
|
||||||
if (dateBegin == default)
|
if (dateBegin == default)
|
||||||
{
|
{
|
||||||
dateBegin = telemetryService.GetLastTelemetryDate(idTelemetry);
|
dateBegin = telemetryService.GetLastTelemetryDate(idTelemetry);
|
||||||
@ -113,8 +114,10 @@ namespace AsbCloudInfrastructure.Services
|
|||||||
|
|
||||||
var query = dbSet
|
var query = dbSet
|
||||||
.Where(d => d.IdTelemetry == idTelemetry
|
.Where(d => d.IdTelemetry == idTelemetry
|
||||||
&& d.Date >= dateBegin
|
&& d.Date >= dateBegin);
|
||||||
&& d.Date < dateEnd);
|
|
||||||
|
if (filterByDateEnd)
|
||||||
|
query = query.Where(d => d.Date < dateEnd);
|
||||||
|
|
||||||
var fullDataCount = await query.CountAsync(token)
|
var fullDataCount = await query.CountAsync(token)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
@ -8,7 +8,7 @@ namespace AsbCloudWebApi.Controllers
|
|||||||
[Route("api/admin/role")]
|
[Route("api/admin/role")]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public class AdminUserRoleController : CrudController<UserRoleDto, ICrudService<UserRoleDto>>
|
public class AdminUserRoleController : CrudController<UserRoleDto, IUserRoleService>
|
||||||
{
|
{
|
||||||
public AdminUserRoleController(IUserRoleService service)
|
public AdminUserRoleController(IUserRoleService service)
|
||||||
:base(service)
|
:base(service)
|
||||||
|
Loading…
Reference in New Issue
Block a user