nopCommerce_4.4功能实现详解-----第11章 程序执行后在数据库软件中自/手动新建数据库中及其相应的表

在第10章已经实现了在手动新建数据库中自动生成相应表的操作,本章将会按照自顶向下的开发模式来解释,在程序执行后,远程页面通过怎样的操作才能够在服务器相应的数据库软件中自动新建数据库,并自动生成相应的表及其字段。

(1)、修改Controllers.ViewModel.InstallModel类的定义,添加属性定义:

        public bool SqlServerCreateDatabase { get; set; }

(2)、根据InstallModel重新生成默认页面:Nop.Web.Views.Install.Index.cshtml,并重新设计它。

(3)、修改Controllers.InstallController.Index()方法的定义,添加语句:

SqlServerCreateDatabase = false,

(4)、修改Controllers.InstallController.CreateDatabase方法的定义,把返回值由string修改为bool

(5)、修改Controllers.InstallController.Index(InstallModel model)方法的定义,添加语句:

          if (model.SqlServerCreateDatabase)

            {

                if (!SqlServerDatabaseExists(connectionString))

                {

                    //通过一个数据库连接字符串,尝试在Microsoft SQL Server数据库软件中自动新建一个指定数据库、表及其字段。

                    var collation = string.Empty;

                    var errorCreatingDatabase = CreateDatabase(connectionString, collation);

                    if (!errorCreatingDatabase)

                        throw new Exception($"通过一个数据库连接字符串,尝试连接Microsoft SQL Server数据库软件中相应数据库失败!");

                }

            }

(6)、准备工作:

1、如果使用SQL Service身份验证,“zz”用户则需要Microsoft SQL Server数据库软件中内置系统数据“master”进行“安全对象”->“创建做任意数据库”,否则在自动生成数据库时“nopCommerce”会出现异常“Setup failed: An error occurred while creating the database: 在数据库 'master' 中拒绝了 CREATE DATABASE 权限。”,具体操作见下图:

2、如果使用SQL Service身份验证,“zz”用户则需要Microsoft SQL Server数据库软件中内置系统数据“master”进行“服务器角色”全部授权操作,否则在自动生成数据库时“nopCommerce4.3、nopCommerce4.4”会出现异常“Setup failed: An exception was thrown while activating Nop.Data.Migrations.MigrationManager -> λ:FluentMigrator.Runner.IVersionLoader.”,具体操作见下图:

(7)、按F5执行程序,如果选择复选框,通过远程默认页面的输入数据,在Microsoft SQL Server数据库软件中会自动

新建一个指定数据库、表及其字段;如果不选择复选框那么就需手动的在Microsoft SQL Server数据库软件新建nop4.4数据库,如果使用SQL Service身份验证,还需要为该数据库, 手动的配置“zz”用户和“zz”密码,自动新建数据库、表及其字段具体操作见下图:

   

(8)、程序执行后Microsoft SQL Server数据库软件变化,见下图:

   

(9)、手动新建数据库、表及其字段具体操作见下图:

对以上功能更为具体实现和注释见:21-05-27_Nop4.4(015_执行默认页面,启动项中自动新建数据库连接文件,同时自动生成数据库中及其相应的表)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值