feat: 添加产品兼容数据表,产品兼容数据配件类型表,产品与兼容性关联表的数据库迁移文件
This commit is contained in:
56
database/migrations/20260707030708_create_product_compat.php
Normal file
56
database/migrations/20260707030708_create_product_compat.php
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use think\migration\Migrator;
|
||||||
|
use think\migration\db\Column;
|
||||||
|
|
||||||
|
class CreateProductCompat extends Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Change Method.
|
||||||
|
*
|
||||||
|
* Write your reversible migrations using this method.
|
||||||
|
*
|
||||||
|
* More information on writing migrations is available here:
|
||||||
|
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
|
||||||
|
*
|
||||||
|
* The following commands can be used in this method and Phinx will
|
||||||
|
* automatically reverse them when rolling back:
|
||||||
|
*
|
||||||
|
* createTable
|
||||||
|
* renameTable
|
||||||
|
* addColumn
|
||||||
|
* renameColumn
|
||||||
|
* addIndex
|
||||||
|
* addForeignKey
|
||||||
|
*
|
||||||
|
* Remember to call "create()" or "update()" and NOT "save()" when working
|
||||||
|
* with the Table class.
|
||||||
|
*/
|
||||||
|
public function change()
|
||||||
|
{
|
||||||
|
$table = $this->table('product_compat', [
|
||||||
|
'engine' => 'MyISAM',
|
||||||
|
'collation' => 'utf8mb4_general_ci',
|
||||||
|
'comment' => '产品兼容性表'
|
||||||
|
]);
|
||||||
|
|
||||||
|
$table->addColumn('language_id', 'integer', ['signed' => false, 'null' => false, 'comment' => '语言ID'])
|
||||||
|
->addColumn('part_id', 'integer', ['null' => false, 'comment' => '配件id'])
|
||||||
|
->addColumn('label_name', 'string', ['limit' => 128, 'null' => false, 'comment' => '标签名称'])
|
||||||
|
->addColumn('brand_name', 'string', ['limit' => 128, 'null' => true, 'comment' => '品牌'])
|
||||||
|
->addColumn('level_name', 'string', ['limit' => 32 , 'null' => true, 'comment' => '级别'])
|
||||||
|
->addColumn('class_name', 'string', ['limit' => 128, 'null' => true, 'comment' => '类别'])
|
||||||
|
->addColumn('series_name', 'string', ['limit' => 128, 'null' => true, 'comment' => '系列'])
|
||||||
|
->addColumn('model', 'string', ['limit' => 128, 'null' => false, 'comment' => '型号'])
|
||||||
|
->addColumn('capacity', 'string', ['limit' => 32, 'null' => true, 'comment' => '容量'])
|
||||||
|
->addColumn('interface_type', 'string', ['limit' => 64, 'null' => true, 'comment' => '接口类型'])
|
||||||
|
->addColumn('compat_status', 'string', ['limit' => 64, 'null' => true, 'comment' => '兼容性状态'])
|
||||||
|
->addColumn('sort', 'integer', ['default' => 0, 'comment' => '排序'])
|
||||||
|
->addColumn('disabled', 'boolean', ['default' => 0, 'comment' => '是否禁用 0:启用 1:禁用'])
|
||||||
|
->addColumn('created_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间'])
|
||||||
|
->addColumn('updated_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 'comment' => '更新时间'])
|
||||||
|
->addColumn('deleted_at', 'timestamp', ['null' => true, 'comment' => '删除时间'])
|
||||||
|
->addIndex(['language_id'], ['name' => 'idx_language_id'])
|
||||||
|
->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use think\migration\Migrator;
|
||||||
|
use think\migration\db\Column;
|
||||||
|
|
||||||
|
class CreateProductCompatParts extends Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Change Method.
|
||||||
|
*
|
||||||
|
* Write your reversible migrations using this method.
|
||||||
|
*
|
||||||
|
* More information on writing migrations is available here:
|
||||||
|
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
|
||||||
|
*
|
||||||
|
* The following commands can be used in this method and Phinx will
|
||||||
|
* automatically reverse them when rolling back:
|
||||||
|
*
|
||||||
|
* createTable
|
||||||
|
* renameTable
|
||||||
|
* addColumn
|
||||||
|
* renameColumn
|
||||||
|
* addIndex
|
||||||
|
* addForeignKey
|
||||||
|
*
|
||||||
|
* Remember to call "create()" or "update()" and NOT "save()" when working
|
||||||
|
* with the Table class.
|
||||||
|
*/
|
||||||
|
public function change()
|
||||||
|
{
|
||||||
|
$table = $this->table('product_compat_parts', [
|
||||||
|
'engine' => 'MyISAM',
|
||||||
|
'collation' => 'utf8mb4_general_ci',
|
||||||
|
'comment' => '产品兼容性-配件类型表'
|
||||||
|
]);
|
||||||
|
|
||||||
|
$table->addColumn('language_id', 'integer', ['signed' => false, 'null' => false, 'comment' => '语言ID'])
|
||||||
|
->addColumn('name', 'string', ['limit' => 128, 'null' => false, 'comment' => '类型名称'])
|
||||||
|
->addColumn('sort', 'integer', ['default' => 0, 'comment' => '排序'])
|
||||||
|
->addColumn('disabled', 'boolean', ['default' => 0, 'comment' => '是否禁用 0:启用 1:禁用'])
|
||||||
|
->addColumn('created_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间'])
|
||||||
|
->addColumn('updated_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 'comment' => '更新时间'])
|
||||||
|
->addColumn('deleted_at', 'timestamp', ['null' => true, 'comment' => '删除时间'])
|
||||||
|
->addIndex(['language_id'], ['name' => 'idx_language_id'])
|
||||||
|
->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use think\migration\Migrator;
|
||||||
|
use think\migration\db\Column;
|
||||||
|
|
||||||
|
class CreateProductCompatRel extends Migrator
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Change Method.
|
||||||
|
*
|
||||||
|
* Write your reversible migrations using this method.
|
||||||
|
*
|
||||||
|
* More information on writing migrations is available here:
|
||||||
|
* http://docs.phinx.org/en/latest/migrations.html#the-abstractmigration-class
|
||||||
|
*
|
||||||
|
* The following commands can be used in this method and Phinx will
|
||||||
|
* automatically reverse them when rolling back:
|
||||||
|
*
|
||||||
|
* createTable
|
||||||
|
* renameTable
|
||||||
|
* addColumn
|
||||||
|
* renameColumn
|
||||||
|
* addIndex
|
||||||
|
* addForeignKey
|
||||||
|
*
|
||||||
|
* Remember to call "create()" or "update()" and NOT "save()" when working
|
||||||
|
* with the Table class.
|
||||||
|
*/
|
||||||
|
public function change()
|
||||||
|
{
|
||||||
|
$table = $this->table('product_compat_rel', [
|
||||||
|
'engine' => 'InnoDB',
|
||||||
|
'collation' => 'utf8mb4_general_ci',
|
||||||
|
'comment' => '产品兼容性关联表'
|
||||||
|
]);
|
||||||
|
|
||||||
|
$table->addColumn('language_id', 'integer', ['signed' => false, 'null' => false, 'comment' => '语言ID'])
|
||||||
|
->addColumn('product_id', 'integer', ['null' => false, 'comment' => '产品id'])
|
||||||
|
->addColumn('compat_id', 'json', ['null' => false, 'comment' => '关联的兼容性数据id'])
|
||||||
|
->addColumn('series_name', 'string', ['limit' => 128, 'null' => true, 'comment' => '产品系列名'])
|
||||||
|
->addColumn('show_series_name', 'boolean', ['null' => false, 'default' => 0, 'comment' => '是否显示系列名:0=否,1=是'])
|
||||||
|
->addColumn('remark', 'string', ['limit' => 512, 'null' => true, 'comment' => '兼容性说明'])
|
||||||
|
->addColumn('created_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间'])
|
||||||
|
->addColumn('updated_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 'comment' => '更新时间'])
|
||||||
|
->addIndex(['language_id'], ['name' => 'idx_language_id'])
|
||||||
|
->create();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user