001_createUsersTable.ts 992 B

123456789101112131415161718192021222324252627282930
  1. import type { MigrationLiveDefinition } from '@d8d-appcontainer/types'
  2. import { DeleteStatus } from '../../client/share/types.ts'
  3. const createUsersTable: MigrationLiveDefinition = {
  4. name: "create_users_table",
  5. up: async (api) => {
  6. await api.schema.createTable('users', (table) => {
  7. table.increments('id').primary();
  8. table.string('username').unique().notNullable();
  9. table.string('password').notNullable();
  10. table.string('phone').unique();
  11. table.string('email').unique();
  12. table.string('nickname');
  13. table.string('name');
  14. table.integer('is_disabled').defaultTo(DeleteStatus.NOT_DELETED);
  15. table.integer('is_deleted').defaultTo(DeleteStatus.NOT_DELETED);
  16. table.timestamps(true, true);
  17. // 添加索引
  18. table.index('username');
  19. table.index('is_disabled');
  20. table.index('is_deleted');
  21. });
  22. },
  23. down: async (api) => {
  24. await api.schema.dropTable('users');
  25. }
  26. }
  27. export default createUsersTable;