Abp vNext 实战 - 2修改DBMS运行项目

Abp vNext 项目运行起来

为了方便使用Sqlite数据库

修改项目为 Sqlite 数据库(改成Mysql PostgreSQL 等都是一样的操作)

1

打开DG.Blog.EntityFrameworkCore项目文件

添加

<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="3.0.4" />    

或者 nuget 添加

Install-Package Volo.Abp.EntityFrameworkCore.Sqlite -Version 3.0.4  

2

打开DG.Blog.EntityFrameworkCore 项目

打开BlogEntityFrameworkCoreModule.cs 文件

删除 DependsOn attribute 上的typeof(AbpEntityFrameworkCoreSqlServerModule),
添加 typeof(AbpEntityFrameworkCoreSqliteModule) (
替换 using Volo.Abp.EntityFrameworkCore.SqlServer; 为 using Volo.Abp.EntityFrameworkCore.Sqlite;

[DependsOn(
        ...
        //typeof(AbpEntityFrameworkCoreSqlServerModule), //注释掉这里换成下面一行
        typeof(AbpEntityFrameworkCoreSqliteModule),
        ...
        ]

打开DG.Blog.EntityFrameworkCore.DbMigrations 项目

打开 BlogMigrationsDbContextFactory.cs 文件
修改这里为

public BlogMigrationsDbContext CreateDbContext(string[] args)
{
    BlogEfCoreEntityExtensionMappings.Configure();

    var configuration = BuildConfiguration();

    var builder = new DbContextOptionsBuilder<BlogMigrationsDbContext>()
        //.UseSqlServer(configuration.GetConnectionString("Default"));//注释掉这里换成下面一行
        .UseSqlite(configuration.GetConnectionString("Default"));

    return new BlogMigrationsDbContext(builder.Options);
}

打开DG.Blog.Web 和 DG.Blog.DbMigrator 项目

appsettings.json 修改连接字符串

"ConnectionStrings": {
    "Default": "Data Source=dgblog.db;"
  }

初始化数据库

1 生成迁移文件

打开DG.Blog.EntityFrameworkCore.DbMigrations 项目

删除掉 Migrations 文件夹

打开 程序包管理器控制台 选择默认项目为 DG.Blog.EntityFrameworkCore.DbMigrations
执行命令 Add-Migration "Initial"

PM> Add-Migration "Initial"
Build started...
Build succeeded.
To undo this action, use Remove-Migration.

生成了新的 Migrations 文件夹

2 迁移数据库

运行 DG.Blog.DbMigrator 项目创建数据库和初始种子数据.
也可以 执行命令 update-database
注意要 先设置 DG.Blog.Web 为启动项

PM> update-database
Build started...
Build succeeded.
Applying migration '20200721005959_Initial'.
Done.

生成了数据库 在 DG.Blog.DbMigrator 项目根目录下 dgblog.db

运行项目

启动

设置 DG.Blog.Web 作为启动项

运行

输入用户名 admin,密码 1q2w3E* 登录到应用程序.

这里如果你用的是命令行迁移数据库 update-database 登录失败会失败,因为没有些人原子数据,就是初始化数据,所以需要 运行 DG.Blog.DbMigrator 项目。这里又有个注意的地方是数据库生成的位置 改成:

打开DG.Blog.DbMigrator 项目
appsettings.json 修改连接字符串

"ConnectionStrings": {
    "Default": "Data Source=..\\DG.Blog.Web\\dgblog.db;"
  }

或者生成好了拷贝到 DG.Blog.Web 去都可以。

数据库:

运行后效果如下图:

查看API文档

浏览器访问 https://localhost:44318/swagger 可以访问Api 文档


好了,已经运行起来了!默认是支持多租户的。
生成了很多表和很多功能,其实我们自己开发项目时是不是用不了这么多,或者现在有些功能还用不上?所以,我们可以精简他,也可以从一个空项目开始使用Abp 开始自己的项目,这个会在以后的文章中来讲!

posted @ 2020-07-21 15:57  dldg  阅读(992)  评论(0编辑  收藏  举报