diff --git "a/\345\220\264\351\221\253\351\270\277/20250103\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\346\226\260\346\226\271\346\263\225.md" "b/\345\220\264\351\221\253\351\270\277/20250103\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\346\226\260\346\226\271\346\263\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..1cbd99596270b1d775fd799a215aee6ecc6ee881 --- /dev/null +++ "b/\345\220\264\351\221\253\351\270\277/20250103\350\277\236\346\216\245\346\225\260\346\215\256\345\272\223\346\226\260\346\226\271\346\263\225.md" @@ -0,0 +1,87 @@ +# 更换数据库,为了能更好的部署在云服务器上(Linux操作系统) + +1. 有安装好数据库 + +- 在Debian上安装PostgreSQL数据库 +- 确认有没有安装好 +- 设置高强度密码 +- 设置允许远程访问数据库 + +2. 更换数据库驱动(配合ORM工具),并且重新生成迁移文件 + +- 移除原来的数据库驱动:Microsoft.EntityFrameworkCore.SqlServer,命令如下:dotnet remove package Microsoft.EntityFrameworkCore.SqlServer +- 安装新的数据库驱动:Npgsql.EntityFrameworkCore.Postgresql,命令如下:dotnet add package Npgsql.EntityFrameworkCore.Postgresql +- 更新数据库上下文的一些配置 +- 重新生成迁移文件 +- 同步迁移文件 +## 在Debian上安装PostgreSQL数据库 +需要在Debian系统上安装PostgreSQL数据库。可以通过以下命令来安装: +sudo apt update +sudo apt install postgresql postgresql-contrib +#### 确认有没有安装好 +安装完成后,可以通过以下命令来检查PostgreSQL服务的状态: +bash +sudo systemctl status postgresql +如果服务正在运行,说明安装成功。 +#### 设置高强度密码 +为了提高安全性,你需要为PostgreSQL的默认用户postgres设置一个高强度的密码。可以通过以下命令来设置: +bash +sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'your-strong-password';" +将your-strong-password替换为你选择的密码。 +#### 设置允许远程访问数据库 +为了允许远程访问PostgreSQL数据库,你需要修改配置文件postgresql.conf和pg_hba.conf。 +打开postgresql.conf文件: +bash +sudo nano /etc/postgresql/12/main/postgresql.conf + +找到listen_addresses行,并将其修改为: +conf +listen_addresses = '*' + +打开pg_hba.conf文件: +bash +sudo nano /etc/postgresql/12/main/pg_hba.conf + +在文件的末尾添加以下行,以允许所有IP地址访问数据库: +conf +host all all 0.0.0.0/0 md5 +保存并关闭文件后,重启PostgreSQL服务: +bash +sudo systemctl restart postgresql + +#### 更换数据库驱动(配合ORM工具),并且重新生成迁移文件 +在你的.NET项目中,你需要更换数据库驱动并更新数据库上下文的配置。 +移除原来的数据库驱动: +```cs +bash +dotnet remove package Microsoft.EntityFrameworkCore.SqlServer +``` +安装新的数据库驱动: +```cs +bash +dotnet add package Npgsql.EntityFrameworkCore.PostgreSQL +``` +更新数据库上下文配置: 打开你的项目中的appsettings.json或相应的配置文件,将数据库连接字符串更改为PostgreSQL的格式: +```cs +{ + "ConnectionStrings": { + "DefaultConnection": "Host=your-server-ip;Port=5432;Database=your-database-name;Username=your-username;Password=your-password" + } +} +``` +将your-server-ip、your-database-name、your-username和your-password替换为实际的值。 + +### 移除原来的数据库驱动:Microsoft.EntityFrameworkCore.SqlServer,命令如下:dotnet remove package Microsoft.EntityFrameworkCore.SqlServer安装新的数据库驱动:Npgsql.EntityFrameworkCore.Postgresql,命令如下:dotnet add package Npgsql.EntityFrameworkCore.Postgresql更新数据库上下文的一些配置 + +#### 重新生成迁移文件 +在更换数据库驱动并更新配置后,你需要重新生成迁移文件以确保迁移与新的数据库兼容。 +删除现有的迁移文件: +bash +dotnet ef migrations remove +添加新的迁移: +bash +dotnet ef migrations add InitialCreate +#### 同步迁移文件 +最后,应用迁移以创建数据库结构: +bash +dotnet ef database update \ No newline at end of file