forked from ddrilling/AsbCloudServer
623a64fa25
Modify WellOperation table (and defaults) |
||
---|---|---|
.. | ||
Migrations | ||
Model | ||
UsefulQueries | ||
AsbCloudDb.csproj | ||
EFExtentionOrderBy.cs | ||
EFExtentions.cs | ||
install pg timescale.md | ||
Readme.md |
Миграции
EF tools
https://docs.microsoft.com/ru-ru/ef/core/cli/dotnet
Установка:
dotnet tool install --global dotnet-ef
Обновление:
dotnet tool update --global dotnet-ef
Создать миграцию
dotnet ef migrations add <MigrationName> --project AsbCloudDb
Откатить миграцию
dotnet ef migrations remove <MigrationName> --project AsbCloudDb
<MigrationName> - Name of migration class. После создания миграции обязательно прочитать генерированный код.
Применить миграции
При старте проекта применяются автоматически
dotnet ef database update --project .\AsbCloudDb
Backup and restore
Backup
Terminal:
sudo -u postgres pg_dump -Fc -U postgres postgres -W > dump_2022-03-09.bak
Restore backup
Step 1. (Re)Create DB and schema IF needed.
psql:
--drop schema public cascade;
CREATE DATABASE postgres;
\c postgres
create schema public;
Step 2. Init timescaledb and prepare DB to restore
CREATE EXTENSION IF NOT EXISTS timescaledb;
SELECT timescaledb_pre_restore();
Step 3. Restore DB, then [Longest operation]
Terminal:
sudo -u postgres psql -p 5499 -U postgres postgres -W < dump_2021-11-26.bak
or
sudo -u postgres pg_restore -Fc -d postgres dump_2021-11-26.bak
OR psql:
\! pg_restore -Fc -d postgres dump_2021-11-26.bak
win: pg_restore -Fc -d postgres -U postgres -W dump_2022-01-11.bak Then 'exit restore mode' psql:
SELECT timescaledb_post_restore();