Files
premium/database/migrations/20240707171616_filesCategory.php
2025-05-18 07:42:27 +00:00

48 lines
1.7 KiB
PHP
Executable File

<?php
use think\facade\Config;
use think\migration\Migrator;
class FilesCategory extends Migrator
{
public function change()
{
$table = $this->table('files_category', [
'engine' => 'InnoDB',
'comment' => '附件分类管理',
'collation' => 'utf8mb4_general_ci'
]);
//删除表
if ($table->exists()) {
$dbPrefix = Config::get('database.connections.' . Config::get('database.default') . '.prefix');
$tableName = $table->getName();
\think\facade\Db::execute('drop table if exists ' . $dbPrefix . $tableName);
// $table->drop(); // 为什么不用这个方法来删除表,因为在我使用thinkphp6时,think-migrate的composer包并没有对这个方法进行具体实现,所以不能删除表
}
$table
->addColumn('name', 'string', ['limit' => 255, 'null' => 0, 'default' => '0', 'comment' => '分类名称'])
->addColumn('pid', 'integer', ['limit' => 11, 'null' => 1, 'default' => '0', 'comment' => '父级'])
->addColumn('sort', 'integer', ['limit' => 11, 'null' => 1, 'default' => '0', 'comment' => '排序'])
->addColumn('create_time', 'datetime', ['null' => 1, 'comment' => '创建时间'])
->addColumn('update_time', 'datetime', ['null' => 1, 'comment' => '更新时间'])
->addColumn('delete_time', 'datetime', ['null' => 1, 'comment' => '删除时间'])
;
$data = [
[
'id' => '1',
'name' => '默认分类',
'pid' => '0',
'sort' => '0',
'create_time' => '2024-07-07 17:15:55',
'update_time' => '2024-07-07 17:15:55',
'delete_time' => '',
],
];
$table->setData($data)->create();
}
}