30 lines
992 B
TypeScript
30 lines
992 B
TypeScript
import type { MigrationLiveDefinition } from '@d8d-appcontainer/types'
|
|
import { DeleteStatus } from '../../client/share/types.ts'
|
|
|
|
const createUsersTable: MigrationLiveDefinition = {
|
|
name: "create_users_table",
|
|
up: async (api) => {
|
|
await api.schema.createTable('users', (table) => {
|
|
table.increments('id').primary();
|
|
table.string('username').unique().notNullable();
|
|
table.string('password').notNullable();
|
|
table.string('phone').unique();
|
|
table.string('email').unique();
|
|
table.string('nickname');
|
|
table.string('name');
|
|
table.integer('is_disabled').defaultTo(DeleteStatus.NOT_DELETED);
|
|
table.integer('is_deleted').defaultTo(DeleteStatus.NOT_DELETED);
|
|
table.timestamps(true, true);
|
|
|
|
// 添加索引
|
|
table.index('username');
|
|
table.index('is_disabled');
|
|
table.index('is_deleted');
|
|
});
|
|
},
|
|
down: async (api) => {
|
|
await api.schema.dropTable('users');
|
|
}
|
|
}
|
|
|
|
export default createUsersTable; |