| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- import type { MigrationLiveDefinition } from '@d8d-appcontainer/types'
- import { DeleteStatus } from "../../client/share/types.ts";
- import { IsSpare, DisabledStatus } from "../../client/share/monitorTypes.ts";
- // 定义资产表迁移
- const createZichanInfoTable: MigrationLiveDefinition = {
- name: "create_zichan_info_table",
- up: async (api) => {
- await api.schema.createTable('zichan_info', (table) => {
- table.increments('id').primary();
- table.string('asset_name').comment('资产名称');
- table.integer('device_category').unsigned().references('id').inTable('zichan_category').onDelete('CASCADE').comment('设备分类');
- table.integer('area').unsigned().references('id').inTable('zichan_area').onDelete('CASCADE').comment('归属区域');
- table.string('supplier').comment('供应商');
- table.string('use_address').comment('使用地址');
- table.string('operation_status').comment('运行情况');
- table.integer('is_audited').defaultTo(0).comment('是否审核 (0否 1是)');
- table.integer('audit_status').comment('审核状态');
- table.integer('asset_status').comment('资产状态');
- table.integer('stock_quantity').comment('入库数量');
- table.timestamp('warranty_time').comment('质保时间');
- table.string('brand').comment('品牌');
- table.integer('device_status').comment('设备状态');
- table.integer('network_status').comment('网络状态');
- table.integer('packet_loss').comment('丢包率');
- table.text('images').comment('图片');
- table.integer('is_spare').defaultTo(IsSpare.NO).comment('是否备件 (0否 1是)');
- table.integer('is_disabled').defaultTo(DisabledStatus.ENABLED).comment('是否被禁用 (0否 1是)');
- table.integer('is_deleted').defaultTo(DeleteStatus.NOT_DELETED).comment('是否被删除 (0否 1是)');
- table.decimal('longitude', 10, 6).comment('资产位置经度');
- table.decimal('latitude', 10, 6).comment('资产位置纬度');
- table.string('cpu').comment('CPU信息');
- table.string('memory').comment('内存信息');
- table.string('disk').comment('硬盘信息');
- table.timestamps(true, true);
-
- // 添加索引
- table.index('asset_name');
- table.index('device_category');
- table.index('device_status');
- table.index('area');
- table.index('network_status');
- table.index('is_deleted');
- table.index('is_disabled');
- });
- },
- down: async (api) => {
- await api.schema.dropTable('zichan_info');
- }
- };
- export default createZichanInfoTable;
|