From f9c36d4f3a0759c2e39b860ff0d3f5c65b95e423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BE=9D=E6=AC=A3?= <2986589005@qq.com> Date: Sun, 5 Jan 2025 20:09:29 +0800 Subject: [PATCH] 20250103 --- ...--\345\242\236\345\210\240\346\224\271.md" | 23 +++++++ ...00\347\247\215\346\226\271\345\274\217.md" | 65 +++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 "\351\231\210\344\276\235\346\254\243/20241230--\345\242\236\345\210\240\346\224\271.md" create mode 100644 "\351\231\210\344\276\235\346\254\243/20250103--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\217\246\344\270\200\347\247\215\346\226\271\345\274\217.md" diff --git "a/\351\231\210\344\276\235\346\254\243/20241230--\345\242\236\345\210\240\346\224\271.md" "b/\351\231\210\344\276\235\346\254\243/20241230--\345\242\236\345\210\240\346\224\271.md" new file mode 100644 index 0000000..d8b3256 --- /dev/null +++ "b/\351\231\210\344\276\235\346\254\243/20241230--\345\242\236\345\210\240\346\224\271.md" @@ -0,0 +1,23 @@ + ```html + + + + + 学生Id + + + + + +``` \ No newline at end of file diff --git "a/\351\231\210\344\276\235\346\254\243/20250103--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\217\246\344\270\200\347\247\215\346\226\271\345\274\217.md" "b/\351\231\210\344\276\235\346\254\243/20250103--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\217\246\344\270\200\347\247\215\346\226\271\345\274\217.md" new file mode 100644 index 0000000..75a7659 --- /dev/null +++ "b/\351\231\210\344\276\235\346\254\243/20250103--\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\347\232\204\345\217\246\344\270\200\347\247\215\346\226\271\345\274\217.md" @@ -0,0 +1,65 @@ +### 更换数据库以部署在云服务器上(Linux操作系统) + +#### : +1. 安装好有数据库 + - 在Debian上安装PostgreSQL数据库 + - 确认有没有安装好 + - 设置高强度密码 + - 设置允许远程访问数据库 +2. 更换数据库驱动(配合ORM工具),并且重新生成迁移文件 + + - 移除原来的数据库驱动:Microsoft.EntityFrameworkCore.SqlServer,命令如下:dotnet remove package Microsoft.EntityFrameworkCore.SqlServer + - 安装新的数据库驱动:Npgsql.EntityFrameworkCore.Postgresql,命令如下:dotnet add package Npgsql.EntityFrameworkCore.Postgresql + - 更新数据库上下文的一些配置 + - 重新生成迁移文件 + - 同步迁移文件 + +#### 一、安装PostgreSQL数据库 +1. 更新系统包列表: +sudo apt update +2. 安装PostgreSQL: +sudo apt install -y postgresql postgresql-contrib +3. 检查安装状态: +systemctl status postgresql +如果看到绿色的 active (running),则表示安装成功。 + +4. 设置高强度密码 +切换到 postgres 用户:sudo su - postgres +进入PostgreSQL命令行:psql +更改密码:sql +- ALTER USER postgres PASSWORD 'your_strong_password'; +5. 允许远程访问数据库 +编辑 postgresql.conf 文件:sudo nano /etc/postgresql/12/main/postgresql.conf +找到 listen_addresses 行,将其设置为: +conf +listen_addresses = '*' +编辑 pg_hba.conf 文件以允许远程连接: +: +sudo nano /etc/postgresql/12/main/pg_hba.conf +添加以下行: +conf +host all all 0.0.0.0/0 md5 +host all all ::/0 md5 +重启PostgreSQL服务: +: +sudo systemctl restart postgresql +#### 二、更换数据库驱动并配置应用程序 +1. 移除原来的数据库驱动 +- dotnet remove package Microsoft.EntityFrameworkCore.SqlServer +2. 安装新的数据库驱动 +- dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL +3. 更新数据库上下文配置 +打开你的项目中的 appsettings.json 文件,更新数据库连接字符串: +```json +{ + "ConnectionStrings": { + "DefaultConnection": "Host=your_server_ip;Port=5432;Database=your_database_name;Username=your_username;Password=your_password" + } +} +``` +4. 重新生成迁移文件 +- dotnet ef migrations add InitialCreate +5. 同步迁移文件 +- dotnet ef database update + + -- Gitee