ABP 5.0 项目模板初始化(MySQL)

1. 安装ABP CLI

使用以下命令安排ABP CLI:

dotnet tool install -g Volo.Abp.Cli

已经安装,你可以使用以下命令更新到最新版本:

dotnet tool update -g Volo.Abp.Cli

2. 创建新项目

  1. ABP CLI创建一个新项目(默认Angular + EF)
abp new Acme.BookStore -u angular --separate-identity-server --mobile react-native
  • 此命令还会在解决方案文件夹内创建一个React Native移动应用程序. 如果你不想要它,可以安全地删除它或从abp new命令中删除--mobile react-native选项, 以使其完全不包含在解决方案中.

  • -u 指定UI框架, 本例中是 angular.

  • --separate-identity-server 参数用于将Identity服务器应用程序与API主机应用程序分隔开. 如果未指定,则服务器上将只有一个端点.

  1. 项目结构:

IoHXGV.png

3. 数据库切换为MySQL

  1. 打开程序包管理器控制台,默认项目选择为YourProjectName.EntityFrameworkCore

    I7y5DK.png

    先卸载自带的SqlServer依赖包:

    Uninstall-Package Volo.Abp.EntityFrameworkCore.SqlServer
    

    再安装MySQL依赖包:

    Install-Package Volo.Abp.EntityFrameworkCore.MySQL
    
  2. 在文件中将SqlServe引用项替换为MySQL引用项

    • 项目YourProjectName.EntityFrameworkCore

      • BookStoreEntityFrameworkCoreModule.cs内,DependsOn Attribute 上将typeof(AbpEntityFrameworkCoreSqlServerModule)替换为typeof(AbpEntityFrameworkCoreMySQLModule)(并且替换 using Volo.Abp.EntityFrameworkCore.SqlServer;using Volo.Abp.EntityFrameworkCore.MySQL;)

      • BookStoreEntityFrameworkCoreModule.cs中,将UseSqlServer()替换成UseMySQL()

      • BookStoreDbContextFactory

        //Before:
        /*var builder = new DbContextOptionsBuilder<BookStoreDbContext>()
                        .UseSqlServer(configuration.GetConnectionString("Default"));*/
        //After:
        //8, 0, 19 为电脑中MySQL 版本号
        var builder = new DbContextOptionsBuilder<BookStoreDbContext>()
                        .UseMySql(configuration.GetConnectionString("Default"), new MySqlServerVersion(new System.Version(8, 0, 19)));
        
  3. 替换项目中所有的appsettings.json中的连接字符串

    /*
    "ConnectionStrings": {
        "Default": "Server=(LocalDb)\\MSSQLLocalDB;Database=TodoApp;Trusted_Connection=True"
      }
    */
    
    "ConnectionStrings": {
        "Default": "Database=***;Data Source=localhost;User Id=****;Password=***;CharSet=utf8;port=***;SslMode=none;"
      }
    
  4. 启动模板使用Entity Framework CoreCode First迁移

    • 设置YourProjectName.HttpApi.Host为启动项目

    • 打开程序包管理器控制台,默认项目选择为YourProjectName.EntityFrameworkCore

    I7y5DK.png

    • 输入指令

      Add-Migration InitialCreate
      
    • 输入指令

      Update-Database
      
    • 设置Acme.BookStore.DbMigrator为启动项目,并运行

4. 运行应用程序

确保 YourProjectName.IdentityServer 是启动项目,运行应用程序后会在你的浏览器打开一个 login 页面.

IoLP9x.png

posted @ 2021-11-18 15:43  唐璞玉  阅读(290)  评论(0)    收藏  举报