Cannot drop index 'PRIMARY' - planetscale

when I try to push to planetscale I get the error:
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 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"


I'm running drizzle-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] }),
    }),
);
Was this page helpful?