引用
use think\Db;
创建表方法
public function createTable($tableName)
{
$sql = "CREATE TABLE IF NOT EXISTS `$tableName` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`role_name` varchar(20) NOT NULL COMMENT '对话人物名称',
`bust` varchar(64) DEFAULT NULL COMMENT '人物半身像(为空则不显示)',
`bust_position` int(11) NOT NULL COMMENT '半身像位置(1-左,2-右,3-中间)',
`dialogue` text NOT NULL COMMENT '对话',
`font_size` int(11) DEFAULT 24 COMMENT '字体大小',
`font_color` varchar(16) DEFAULT '0x000000' COMMENT '字体颜色',
`font_speed` int(11) DEFAULT 10 COMMENT '文字播放速度',
`dialog_resources` varchar(64) DEFAULT NULL COMMENT '对话框资源(空是跟随组对话框)',
`dialog_ani` int(11) DEFAULT 1 COMMENT '对话框效果(1-无效果,2-抖动)',
`dialog_position` int(11) DEFAULT 0 COMMENT '对话框位置(0-跟随组对话框位置,1-上,2-中,3-下)',
`dialog_display` int(11) DEFAULT 1 COMMENT '对话框显示与否(1-显示,2-不显示)',
`plot_group` int(11) NOT NULL COMMENT '属于哪个剧情组id(触发剧情节点前为一组对话)',
`plot_group_group` int(11) NOT NULL COMMENT '该剧情组中的哪一小组对话(自动存储进度的点)',
`scene_switch` varchar(64) DEFAULT NULL COMMENT '场景切换,为空的话不切换,有图片地址才切换',
`bgm` varchar(64) DEFAULT NULL COMMENT '背景音乐(为空的话跟随组背景音乐,不为空的话改变后续背景音乐)',
`sound_effect` varchar(64) DEFAULT NULL COMMENT '该段对话触发的音效,为空则没有音效',
`reward_picture` varchar(64) DEFAULT NULL COMMENT '过完上一段剧情或对话得到的奖励图片,为空则没有奖励图片(得到的图片要记录到数据库)',
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
CHECKSUM=0
ROW_FORMAT=DYNAMIC
DELAY_KEY_WRITE=0";
Db::execute($sql);
}
数据库表更名
public function modifyTable($tableName01, $tableName02)
{
$sql = "ALTER TABLE `$tableName01` RENAME `$tableName02`";
Db::execute($sql);
}