update: users(change datatype)

This commit is contained in:
abiyasa05 2024-08-04 21:00:16 +07:00
parent ad4a9f0e70
commit 0bf9d42048
6 changed files with 26 additions and 21 deletions

View File

@ -5,13 +5,13 @@ import { permissionsToUsers } from "./permissionsToUsers";
import { permissionsToRoles } from "./permissionsToRoles"; import { permissionsToRoles } from "./permissionsToRoles";
export const permissionsSchema = pgTable("permissions", { export const permissionsSchema = pgTable("permissions", {
id: text("id") id: varchar("id", { length: 50 })
.primaryKey() .primaryKey()
.$defaultFn(() => createId()), .$defaultFn(() => createId()),
code: varchar("code", { length: 50 }).notNull().unique(), code: varchar("code", { length: 50 }).notNull().unique(),
description: varchar("description", { length: 255 }), description: varchar("description", { length: 255 }),
createdAt: timestamp("created_at").defaultNow(), createdAt: timestamp("createdAt").defaultNow(),
updatedAt: timestamp("updated_at").defaultNow(), updatedAt: timestamp("updatedAt").defaultNow(),
}); });
export const permissionsRelations = relations( export const permissionsRelations = relations(

View File

@ -1,4 +1,4 @@
import { pgTable, primaryKey, text } from "drizzle-orm/pg-core"; import { pgTable, primaryKey, varchar } from "drizzle-orm/pg-core";
import { permissionsSchema } from "./permissions"; import { permissionsSchema } from "./permissions";
import { relations } from "drizzle-orm"; import { relations } from "drizzle-orm";
import { rolesSchema } from "./roles"; import { rolesSchema } from "./roles";
@ -6,10 +6,10 @@ import { rolesSchema } from "./roles";
export const permissionsToRoles = pgTable( export const permissionsToRoles = pgTable(
"permissions_to_roles", "permissions_to_roles",
{ {
roleId: text("roleId") roleId: varchar("roleId", { length: 50 })
.notNull() .notNull()
.references(() => rolesSchema.id), .references(() => rolesSchema.id),
permissionId: text("permissionId") permissionId: varchar("permissionId", { length: 50 })
.notNull() .notNull()
.references(() => permissionsSchema.id), .references(() => permissionsSchema.id),
}, },

View File

@ -1,4 +1,4 @@
import { pgTable, primaryKey, text } from "drizzle-orm/pg-core"; import { pgTable, primaryKey, varchar } from "drizzle-orm/pg-core";
import { users } from "./users"; import { users } from "./users";
import { permissionsSchema } from "./permissions"; import { permissionsSchema } from "./permissions";
import { relations } from "drizzle-orm"; import { relations } from "drizzle-orm";
@ -6,10 +6,10 @@ import { relations } from "drizzle-orm";
export const permissionsToUsers = pgTable( export const permissionsToUsers = pgTable(
"permissions_to_users", "permissions_to_users",
{ {
userId: text("userId") userId: varchar("userId", { length: 50 })
.notNull() .notNull()
.references(() => users.id), .references(() => users.id),
permissionId: text("permissionId") permissionId: varchar("permissionId", { length: 50 })
.notNull() .notNull()
.references(() => permissionsSchema.id), .references(() => permissionsSchema.id),
}, },

View File

@ -4,14 +4,14 @@ import { pgTable, text, timestamp, varchar } from "drizzle-orm/pg-core";
import { permissionsToRoles } from "./permissionsToRoles"; import { permissionsToRoles } from "./permissionsToRoles";
export const rolesSchema = pgTable("roles", { export const rolesSchema = pgTable("roles", {
id: text("id") id: varchar("id", { length: 50 })
.primaryKey() .primaryKey()
.$defaultFn(() => createId()), .$defaultFn(() => createId()),
code: varchar("code", { length: 50 }).notNull().unique(), code: varchar("code", { length: 50 }).notNull().unique(),
name: varchar("name", { length: 255 }).notNull(), name: varchar("name", { length: 255 }).notNull(),
description: varchar("description", { length: 255 }), description: varchar("description", { length: 255 }),
createdAt: timestamp("created_at").defaultNow(), createdAt: timestamp("createdAt").defaultNow(),
updatedAt: timestamp("updated_at").defaultNow(), updatedAt: timestamp("updatedAt").defaultNow(),
}); });
export const rolesRelations = relations(rolesSchema, ({ many }) => ({ export const rolesRelations = relations(rolesSchema, ({ many }) => ({

View File

@ -1,4 +1,4 @@
import { pgTable, primaryKey, text } from "drizzle-orm/pg-core"; import { pgTable, primaryKey, varchar } from "drizzle-orm/pg-core";
import { users } from "./users"; import { users } from "./users";
import { relations } from "drizzle-orm"; import { relations } from "drizzle-orm";
import { rolesSchema } from "./roles"; import { rolesSchema } from "./roles";
@ -6,10 +6,10 @@ import { rolesSchema } from "./roles";
export const rolesToUsers = pgTable( export const rolesToUsers = pgTable(
"roles_to_users", "roles_to_users",
{ {
userId: text("userId") userId: varchar("userId", { length: 50 })
.notNull() .notNull()
.references(() => users.id), .references(() => users.id),
roleId: text("roleId") roleId: varchar("roleId", { length: 50 })
.notNull() .notNull()
.references(() => rolesSchema.id), .references(() => rolesSchema.id),
}, },

View File

@ -9,22 +9,27 @@ import {
} from "drizzle-orm/pg-core"; } from "drizzle-orm/pg-core";
import { permissionsToUsers } from "./permissionsToUsers"; import { permissionsToUsers } from "./permissionsToUsers";
import { rolesToUsers } from "./rolesToUsers"; import { rolesToUsers } from "./rolesToUsers";
import { respondents } from "./respondents";
export const users = pgTable("users", { export const users = pgTable("users", {
id: text("id") id: varchar("id", { length: 50 })
.primaryKey() .primaryKey()
.$defaultFn(() => createId()), .$defaultFn(() => createId()),
name: varchar("name", { length: 255 }).notNull(), name: varchar("name", { length: 255 }).notNull(),
username: varchar("username").notNull().unique(), username: varchar("username").notNull().unique(),
email: varchar("email"), email: varchar("email"),
password: text("password").notNull(), password: text("password").notNull(),
isEnabled: boolean("is_enable").default(true), isEnabled: boolean("isEnabled").default(true),
createdAt: timestamp("created_at", { mode: "date" }).defaultNow(), createdAt: timestamp("createdAt", { mode: "date" }).defaultNow(),
updatedAt: timestamp("updated_at", { mode: "date" }).defaultNow(), updatedAt: timestamp("updatedAt", { mode: "date" }).defaultNow(),
deletedAt: timestamp("deleted_at", { mode: "date" }), deletedAt: timestamp("deletedAt", { mode: "date" }),
}); });
export const usersRelations = relations(users, ({ many }) => ({ export const usersRelations = relations(users, ({ many, one}) => ({
permissionsToUsers: many(permissionsToUsers), permissionsToUsers: many(permissionsToUsers),
rolesToUsers: many(rolesToUsers), rolesToUsers: many(rolesToUsers),
respondent: one(respondents, {
fields: [users.id],
references: [respondents.userId],
}),
})); }));