当前位置 博文首页 > 文章内容

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

    作者: 栏目:未分类 时间:2020-07-21 16:01:17

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    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 开始自己的项目,这个会在以后的文章中来讲!