開發過程注意事項(數據庫方面)
在開發過程中數據庫的操作和使用要有一定規范,不然會引起混亂。
下邊是我們開發中具體例子,因為涉及公司在用項目詳細代碼就不列出來了,整個思路可供參考。
1.初始化腳本
下邊是我們開發中具體例子,因為涉及公司在用項目詳細代碼就不列出來了,整個思路可供參考。
1.初始化腳本
各子系統建立自己的數據庫初始化腳本,格式可參照附件產品管理初始化腳本sql.rar(需要解壓到c:/sql才能在命令行執行,見init.sql說明)
包括兩部分內容:1.建表語句(ddl);2.基礎數據初始化(data)
建表語句由數據庫設計文檔(PowerDesigner)導出,基礎數據由excel文件導出(sql.rar提供示例,開發框架提供工具支持DbUtilTest.testExcel2Sql ())
作用:
1.數據庫結構和基礎數據文檔化
2.便于快速搭建開發測試環境,新建一套環境時不用拷貝原數據庫而是執行腳本
3.便于獨立開發測試,有一個干凈的數據,避免開發測試依賴歷史數據和調試過程中互相影響
2.數據庫結構比對
在部署多套數據庫時,懷疑表結構不一致,可使用DbUtilTest.testCompareDataBase ()進行檢查。
執行后會在子系統根目錄生成dbcompare.html 文件,參加附件。
說明:紅色表示兩個表結構不一致,綠色表示多出一表,黑色表示一致
3.數據庫字符集(UTF-8)
create database dbname CHARACTER SET utf8 COLLATE utf8_bin
不單獨對表和字段設置字符集,整個庫統一使用utf-8
4.表名字段名
建庫腳本中表名和字段名不區分大小寫
5.數據庫引擎(InnoDb)
目前主要使用的兩種引擎MyIsam,InnoDb。MyIsam查詢較快,不支持事務。InnoDb支持事務。
在建表sql指明引擎。
create table ***
(
id bigint(11) not null auto_increment,
.........
primary key (id)
)
type = innodb;
powerdesiner按如下方式設置:
.jpg)