Trying to rename empty table from "user" to "users" w/ push
Building an app using T3 stack w/ Drizzle and PlanetScale(MySQL)
Here's my current schema (at the bottom), I'm trying to rename
I've tried the second option to rename it and I get this back
No idea what is happening, since I'm working in development I don't mind deleting tables completely or wiping data from them frequently right now, so just curious, should I be handling this a different way? I generally thought if I did
Full schema so far
Here's my current schema (at the bottom), I'm trying to rename
"user""user" to "users""users" and my table is completely empty. When I run "db:push": "drizzle-kit push:mysql""db:push": "drizzle-kit push:mysql" I getIs beesly_users table created or renamed from another table?
+ beesly_users create table
❯ ~ beesly_user › beesly_users rename tableIs beesly_users table created or renamed from another table?
+ beesly_users create table
❯ ~ beesly_user › beesly_users rename tableI've tried the second option to rename it and I get this back
~ beesly_user › beesly_users table will be renamed
--- all table conflicts resolved ---
TypeError: Cannot read properties of undefined (reading 'compositePrimaryKeys')
at /Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17175:51
at Array.map (<anonymous>)
at prepareDeleteCompositePrimaryKeyMySql (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17170:33)
at /Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17560:33
at Array.forEach (<anonymous>)
at applySnapshotsDiff (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17488:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async prepareSQL (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:15055:14)
at async prepareMySQLPush (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:14863:47)
at async Command.<anonymous> (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:63069:22)
[i] No changes detected~ beesly_user › beesly_users table will be renamed
--- all table conflicts resolved ---
TypeError: Cannot read properties of undefined (reading 'compositePrimaryKeys')
at /Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17175:51
at Array.map (<anonymous>)
at prepareDeleteCompositePrimaryKeyMySql (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17170:33)
at /Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17560:33
at Array.forEach (<anonymous>)
at applySnapshotsDiff (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:17488:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async prepareSQL (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:15055:14)
at async prepareMySQLPush (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:14863:47)
at async Command.<anonymous> (/Users/jassi/Documents/Dev/booking-app/beesly/node_modules/.pnpm/drizzle-kit@0.20.13/node_modules/drizzle-kit/bin.cjs:63069:22)
[i] No changes detectedNo idea what is happening, since I'm working in development I don't mind deleting tables completely or wiping data from them frequently right now, so just curious, should I be handling this a different way? I generally thought if I did
pushpush that it was going to rebuild the entire db based off my current schema ?Full schema so far
export const createTable = mysqlTableCreator((name) => `beesly_${name}`);
export const users = createTable(
"user", // Tried to rename this to "users"
{
id: varchar("id", { length: 256 }).primaryKey(),
email: varchar("email", { length: 256 }).unique(),
username: varchar("username", { length: 256 }).unique(),
displayName: varchar("display_name", { length: 256 }),
userImage: varchar("user_image", { length: 2048 }),
onboarded: boolean("onboarded").default(false).notNull(),
stripeCustomerId: varchar("stripe_customer_id", { length: 256 }).unique(),
stripeSubscriptionId: varchar("stripe_subscription_id", {
length: 256,
}).unique(),
stripePriceId: varchar("stripe_price_id", { length: 256 }),
stripeCurrentPeriodEnd: timestamp("stripe_current_period_end"),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
updatedAt: timestamp("updatedAt").onUpdateNow(),
},
(table) => ({
emailIndex: index("email_idx").on(table.email),
}),
);export const createTable = mysqlTableCreator((name) => `beesly_${name}`);
export const users = createTable(
"user", // Tried to rename this to "users"
{
id: varchar("id", { length: 256 }).primaryKey(),
email: varchar("email", { length: 256 }).unique(),
username: varchar("username", { length: 256 }).unique(),
displayName: varchar("display_name", { length: 256 }),
userImage: varchar("user_image", { length: 2048 }),
onboarded: boolean("onboarded").default(false).notNull(),
stripeCustomerId: varchar("stripe_customer_id", { length: 256 }).unique(),
stripeSubscriptionId: varchar("stripe_subscription_id", {
length: 256,
}).unique(),
stripePriceId: varchar("stripe_price_id", { length: 256 }),
stripeCurrentPeriodEnd: timestamp("stripe_current_period_end"),
createdAt: timestamp("created_at")
.default(sql`CURRENT_TIMESTAMP`)
.notNull(),
updatedAt: timestamp("updatedAt").onUpdateNow(),
},
(table) => ({
emailIndex: index("email_idx").on(table.email),
}),
);