015_createDeviceTypesTable.ts 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. import type { MigrationLiveDefinition } from '@d8d-appcontainer/types'
  2. import { DeleteStatus , EnableStatus} from "../../client/share/types.ts";
  3. // 定义设备类型表迁移
  4. const createDeviceTypesTable: MigrationLiveDefinition = {
  5. name: "create_device_types_table",
  6. up: async (api) => {
  7. await api.schema.createTable('device_types', (table) => {
  8. table.increments('id').primary();
  9. table.string('name').notNullable();
  10. table.string('code').notNullable().unique();
  11. table.string('image_url');
  12. table.text('description');
  13. table.integer('is_enabled').defaultTo(EnableStatus.ENABLED);
  14. table.integer('is_deleted').defaultTo(DeleteStatus.NOT_DELETED);
  15. table.timestamps(true, true);
  16. // 添加索引
  17. table.index('name');
  18. table.index('code');
  19. table.index('is_enabled');
  20. table.index('is_deleted');
  21. });
  22. },
  23. down: async (api) => {
  24. await api.schema.dropTable('device_types');
  25. }
  26. };
  27. export default createDeviceTypesTable