admin/model/upgrade/1000.php
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
class ModelUpgrade1000 extends Model {
public function upgrade() {
// Structure
$this->load->helper('db_schema');
$tables = db_schema();
foreach ($tables as $table) {
$table_query = $this->db->query("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '" . DB_DATABASE . "' AND TABLE_NAME = '" . DB_PREFIX . $table['name'] . "'");
if (!$table_query->num_rows) {
$sql = "CREATE TABLE `" . DB_PREFIX . $table['name'] . "` (" . "\n";
foreach ($table['field'] as $field) {
$sql .= " `" . $field['name'] . "` " . $field['type'] . (!empty($field['not_null']) ? " NOT NULL" : "") . (isset($field['default']) ? " DEFAULT '" . $this->db->escape($field['default']) . "'" : "") . (!empty($field['auto_increment']) ? " AUTO_INCREMENT" : "") . ",\n";
}
if (isset($table['primary'])) {
$primary_data = array();
foreach ($table['primary'] as $primary) {
$primary_data[] = "`" . $primary . "`";
}
$sql .= " PRIMARY KEY (" . implode(",", $primary_data) . "),\n";
}
if (isset($table['index'])) {
foreach ($table['index'] as $index) {
$index_data = array();
foreach ($index['key'] as $key) {
$index_data[] = "`" . $key . "`";
}
$sql .= " KEY `" . $index['name'] . "` (" . implode(",", $index_data) . "),\n";
}
}
$sql = rtrim($sql, ",\n") . "\n";
$sql .= ") ENGINE=" . $table['engine'] . " CHARSET=" . $table['charset'] . " COLLATE=" . $table['collate'] . ";\n";
$this->db->query($sql);
} else {
for ($i = 0; $i < count($table['field']); $i++) {
$sql = "ALTER TABLE `" . DB_PREFIX . $table['name'] . "`";
$field_query = $this->db->query("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '" . DB_DATABASE . "' AND TABLE_NAME = '" . DB_PREFIX . $table['name'] . "' AND COLUMN_NAME = '" . $table['field'][$i]['name'] . "'");
if (!$field_query->num_rows) {
$sql .= " ADD";
} else {
$sql .= " MODIFY";
}
$sql .= " `" . $table['field'][$i]['name'] . "` " . $table['field'][$i]['type'];
if (!empty($table['field'][$i]['not_null'])) {
$sql .= " NOT NULL";
后面还有 77 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
