Migrate the Drizzle DB schema from MySQL to PostgreSQL.
Apply with the Grit CLI
grit apply drizzle_mysql_postgresql
Migrate MySQL schema to PostgreSQL
BEFORE
import { bigint, boolean, double, int, mediumint, mysqlTable, serial, smallint, tinyint, varchar, } from 'drizzle-orm/mysql-core'; export const tableOne = mysqlTable('table', { id: serial('id').primaryKey().notNull(), userId: int('userId'), partner: varchar('partner', { length: 20 }).notNull(), age: tinyint('age'), balance: mediumint('balance'), price: double('price'), isEnable: boolean('isEnable').notNull().default(true), }); export const tableTwo = mysqlTable('table_two', { id: serial('id').primaryKey().notNull(), userId: int('userId'), partner: varchar('partner', { length: 20 }).notNull(), age: tinyint('age'), small: smallint('small'), secret: bigint('secret', { mode: 'number' }), balance: mediumint('balance'), price: double('price'), });
AFTER
import { bigint, boolean, doublePrecision, integer, pgTable, serial, smallint, varchar, } from 'drizzle-orm/pg-core'; export const tableOne = pgTable('table', { id: serial('id').primaryKey().notNull(), userId: integer('userId'), partner: varchar('partner', { length: 20 }).notNull(), age: smallint('age'), balance: integer('balance'), price: doublePrecision('price'), isEnable: boolean('isEnable').notNull().default(true), }); export const tableTwo = pgTable('table_two', { id: serial('id').primaryKey().notNull(), userId: integer('userId'), partner: varchar('partner', { length: 20 }).notNull(), age: smallint('age'), small: smallint('small'), secret: bigint('secret', { mode: 'number' }), balance: integer('balance'), price: doublePrecision('price'), });