Cannot drop index 'PRIMARY' - planetscale
when I try to push to planetscale I get the error:
In order to successfully push I need to drop all the tables before pushing. I'm using the
I'm running
my tables:
Cannot drop index 'PRIMARY': needed in a foreign key constraint (errno 1553) (sqlstate HY000)Cannot drop index 'PRIMARY': needed in a foreign key constraint (errno 1553) (sqlstate HY000)In order to successfully push I need to drop all the tables before pushing. I'm using the
Foreign key constraintsForeign key constraints Beta at planetscale. When running push with the verbose flag, i see the following:Warning You are about to execute current statements:
ALTER TABLE `petLog_usersToPets` DROP PRIMARY KEY;
ALTER TABLE `petLog_petRecommendedWeights` MODIFY COLUMN `createdAt` timestamp NOT NULL DEFAULT (now());
ALTER TABLE `petLog_petWeights` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_pets` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_users` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_usersToPets` ADD PRIMARY KEY(`userId`,`petId`);
Cannot drop index 'PRIMARY': needed in a foreign key constraint Sql: "alter table petLog_usersToPets drop primary key"Warning You are about to execute current statements:
ALTER TABLE `petLog_usersToPets` DROP PRIMARY KEY;
ALTER TABLE `petLog_petRecommendedWeights` MODIFY COLUMN `createdAt` timestamp NOT NULL DEFAULT (now());
ALTER TABLE `petLog_petWeights` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_pets` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_users` MODIFY COLUMN `createdAt` timestamp DEFAULT (now());
ALTER TABLE `petLog_usersToPets` ADD PRIMARY KEY(`userId`,`petId`);
Cannot drop index 'PRIMARY': needed in a foreign key constraint Sql: "alter table petLog_usersToPets drop primary key"I'm running
drizzle-kit": 0.20.13drizzle-kit": 0.20.13. my tables:
const mysqlTable = mysqlTableCreator((name) => `petLog_${name}`);
// truncated for brewity
export const usersTable = mysqlTable('users', {
id: varchar('id', {
length: 255,
}).primaryKey(),
//...rest
});
export const petsTable = mysqlTable('pets', {
id: varchar('id', {
length: 255,
}).primaryKey(),
//...rest
});
export const usersToPetsTable = mysqlTable(
'usersToPets',
{
userId: varchar('userId', {
length: 255,
})
.notNull()
.references(() => usersTable.id),
petId: varchar('petId', {
length: 255,
})
.notNull()
.references(() => petsTable.id),
},
(table) => ({
pk: primaryKey({ columns: [table.userId, table.petId] }),
}),
);const mysqlTable = mysqlTableCreator((name) => `petLog_${name}`);
// truncated for brewity
export const usersTable = mysqlTable('users', {
id: varchar('id', {
length: 255,
}).primaryKey(),
//...rest
});
export const petsTable = mysqlTable('pets', {
id: varchar('id', {
length: 255,
}).primaryKey(),
//...rest
});
export const usersToPetsTable = mysqlTable(
'usersToPets',
{
userId: varchar('userId', {
length: 255,
})
.notNull()
.references(() => usersTable.id),
petId: varchar('petId', {
length: 255,
})
.notNull()
.references(() => petsTable.id),
},
(table) => ({
pk: primaryKey({ columns: [table.userId, table.petId] }),
}),
);