forked from ddrilling/AsbCloudServer
Степанов Дмитрий Александрович
1b560dd0a2
1. Изменил сущность уведомлений. Добавил дату регистрации уведомления. 2. Добавил миграцию. 3. Изменил репозитории. Убрал метод для обновления коллекции уведомлений. 4. Поправил запрос для отправки уведомлений и метод контроллера. 5. Поправил логику обновления уведомления. Теперь обновление состояния уведомления происходит в транспорте, после успешной отправки уведомления. |
||
---|---|---|
.. | ||
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 --project AsbCloudDb
Удаляется последняя созданная миграция.
Применить миграции
При старте проекта применяются автоматически
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 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();