remix/data-table/migrations · FunctionView Source
createMigration
Summary
Creates a migration descriptor with normalized defaults.
Signature
function createMigration(input: CreateMigrationInput): Migration;
Example
import { createMigration, column as c } from "remix/data-table/migrations";
import { table } from "remix/data-table";
let users = table({
name: "users",
columns: {
id: c.integer().primaryKey().autoIncrement(),
email: c.varchar(255).notNull().unique(),
},
});
export default createMigration({
async up({ db, schema }) {
await schema.createTable(users);
if (db.adapter.dialect === "sqlite") {
await db.exec("pragma foreign_keys = on");
}
},
async down({ schema }) {
await schema.dropTable("users", { ifExists: true });
},
});
Parameters
input
Migration handlers and transaction mode.
Returns
A normalized migration object.