Hi,请  登录  或  注册

网狐通用数据库脚本代码

这套老项目的数据库脚本,我是真的用过很多次。每次重搭环境、迁移服务器,都要跟它打交道。很多人拿到压缩包,看见一堆 *.sql一键安装.bat,其实心里是没底的:到底执行顺序怎样,哪些脚本是通用的,哪些是可删可改的?

网狐通用数据库脚本压缩包界面

网狐通用数据库脚本代码

下面就把我自己反复实测之后的用法写一下,当成一个简单的笔记。


脚本大致结构

常见的压缩包里,一般会有几类东西:

  • 数据库结构脚本:创建库、表、索引、存储过程
  • 初始化数据脚本:基础配置、测试账号、示例房间数据
  • 一键安装批处理:顺序执行上述脚本

典型的结构类似:

数据库脚本\
    01_create_database.sql
    02_create_tables.sql
    03_init_config.sql
    04_init_demo_data.sql

有的版本把这些合并到一个大脚本里,用 GO 分段;有的版本拆得比较细,需要自己看顺序。


实测:本地还原一套完整库

我自己的做法是完全不用“一键安装”,而是手动跑一遍,主要是方便看报错。

  1. 在 SQL Server 里新建一个空库,比如 WHPlatform
    CREATE DATABASE [WHPlatform]
    ON PRIMARY
    (
        NAME = N'WHPlatform',
        FILENAME = N'D:\MSSQL\WHPlatform.mdf'
    )
    LOG ON
    (
        NAME = N'WHPlatform_log',
        FILENAME = N'D:\MSSQL\WHPlatform_log.ldf'
    );
    
  2. 打开 02_create_tables.sql,把首行的 USE WHPlatform 确认好,然后执行。
    这一步会创建帐号表、配置表、日志表等等。
  3. 再执行 03_init_config.sql,初始化一些平台级配置,比如站点名称、默认参数。
  4. 最后再看 04_init_demo_data.sql,如果只是本地测试,可以保留里面的测试账号;如果准备给别人用,我一般会先删掉演示数据,只留结构和基础配置。

实测结果:
只要脚本是同一套版本,对应的程序配置好连接串,网站和服务端可以直接连通。


账号相关表的常见改法

用得最多的肯定是账号表,一般名字类似 AccountsInfo。常见字段大概是:

CREATE TABLE [dbo].[AccountsInfo](
    [UserID] INT IDENTITY(1,1) NOT NULL,
    [Account] NVARCHAR(32) NOT NULL,
    [NickName] NVARCHAR(32) NOT NULL,
    [LogonPass] NVARCHAR(32) NOT NULL,
    [Score] BIGINT NOT NULL DEFAULT 0,
    [RegisterDate] DATETIME NOT NULL DEFAULT GETDATE()
);

实际项目里,我经常会做两类改动:

  1. 增加一些业务字段,比如绑定手机、备注、推广来源等:
    ALTER TABLE [dbo].[AccountsInfo]
    ADD [Mobile] NVARCHAR(20) NULL,
        [Remark] NVARCHAR(128) NULL,
        [Channel] NVARCHAR(32) NULL;
    
  2. 调整默认值,比如把初始虚拟点数设低一点,方便本地测试:
    ALTER TABLE [dbo].[AccountsInfo]
    ADD CONSTRAINT DF_AccountsInfo_Score DEFAULT(1000) FOR [Score];
    

建议的做法是:
不要直接改原始脚本,另写一个 99_custom_patch.sql,放到最后执行,这样以后换版本时也好比对。


实测:一键脚本常见问题

很多压缩包里带一个 一键安装.bat,内容大概是:

sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 01_create_database.sql
sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 02_create_tables.sql
sqlcmd -S .\SQLEXPRESS -U sa -P 123456 -i 03_init_config.sql

实测下来,最容易踩的坑有两个:

  1. 实例名不一致
    你的 SQL 装的是默认实例 .,脚本却写成了 .\SQLEXPRESS,必挂。
    解决办法:打开 bat 文件,把 -S 后面的实例名改成你自己的。
  2. 账号密码不一致
    很多脚本写死了 sa/123456,现在服务器基本不会这么配。
    解决办法:要么同样改 bat 文件,要么直接用 SSMS 手动执行脚本。

我的习惯是:只参考一键脚本的“执行顺序”,具体执行都在 SSMS 里手动跑,这样报错能一眼看到。


性能和安全的简单建议

这套通用脚本本身主要解决的是结构问题,性能和安全还得自己补:

  1. 给常用查询字段补上索引,比如帐号、时间、状态等字段。
  2. 默认管理员账号要改密码,有些脚本甚至写死了后台账号密码,必须手动改。
  3. 对外环境最好单独给数据库开一个只读帐号,用在报表或外部工具里。

这些东西脚本不会帮你做好,只能自己根据项目情况调整。

仅限交流,拒绝商用!
下载地址:


隐藏内容,解锁需 付费 50
付费解锁

文章名称:网狐通用数据库脚本代码
除非特别注明,本站所有文章均为原创,转载请注明出处:264玫瑰资源库
部分教程资源来源于互联网,请谨慎辨别广告内容,避免上当受骗!

评论 抢沙发

登录

找回密码

注册