1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { query } from '.';
- import { User } from '../types/user.type';
- // 创建用户表
- export const createUsersTable = async () => {
- try {
- await query(`
- CREATE TABLE IF NOT EXISTS users (
- id SERIAL PRIMARY KEY,
- name VARCHAR(50) NOT NULL,
- email VARCHAR(100) UNIQUE NOT NULL
- )
- `);
- return { message: 'Users table created' };
- } catch (error) {
- const err = error as Error;
- throw new Error(`Failed to create table: ${err.message}`);
- }
- };
- // 获取所有用户
- export const getAllUsers = async (): Promise<User[]> => {
- try {
- const result = await query('SELECT * FROM users');
- return result.rows;
- } catch (error) {
- const err = error as Error;
- throw new Error(`Failed to get users: ${err.message}`);
- }
- };
- // 创建用户
- export const createUser = async (user: Omit<User, 'id'>): Promise<User> => {
- try {
- const result = await query(
- 'INSERT INTO users (name, email) VALUES ($1, $2) RETURNING *',
- [user.name, user.email]
- );
- return result.rows[0];
- } catch (error) {
- const err = error as Error;
- throw new Error(`Failed to create user: ${err.message}`);
- }
- };
|