github remix-run/remix data-table@0.3.0
data-table v0.3.0

latest releases: node-tsx@0.1.0, node-fetch-server@0.13.2, remix@3.0.0-beta.1...
5 hours ago

Minor Changes

  • BREAKING CHANGE: Migrations are now plain SQL files

    Migrations are directories named YYYYMMDDHHmmss_<slug>/ containing a hand-written up.sql (required) and an optional down.sql. The runner sends each script to the adapter as a single multi-statement query and journals it on success.

    Removed APIs (remix/data-table/migrations)

    • createMigration
    • MigrationContext, MigrationSchema, AlterTableBuilder, CreateMigrationInput, Migration, KeyColumns, TableInput
    • parseMigrationFilename (replaced by parseMigrationDirectoryName)
    • The column / ColumnBuilder re-exports from remix/data-table/migrations (still available from the main remix/data-table entry)

    Changed APIs

    • MigrationDescriptor is now { id, name, up: string, down?: string, transaction?, path? }. Checksums are always sha256(up), computed by the runner.
    • MigrateResult.sql is string[] instead of SqlStatement[]
    • loadMigrations(directory) scans folder-per-migration layouts (not .ts files) and returns descriptors with SQL strings
    • DatabaseAdapter gained a required executeScript(sql, transaction?) method; existing first-party adapters implement it natively
    • Removed migrate(request) and the DataMigrationOperation ADT (CreateTableOperation, AlterTableOperation, *Change, IndexDefinition, *Constraint, etc.) from DatabaseAdapter and the public exports. compileSql now accepts only DataManipulationOperation. Migration journal table creation moved to portable SQL inside journal-store.ts. isDataManipulationOperation removed from remix/data-table/sql-helpers.

    Transaction Modes

    Migrations still run inside an adapter transaction by default. Override per migration with a directive on a -- line of up.sql:

    -- data-table/transaction: none
    create index concurrently users_email_idx on users (email);

    Modes are auto (default), required, and none. The mode can also be set explicitly on a MigrationDescriptor via the transaction field.

    Migrating From the Schema-Builder API

    Replace each createMigration({ async up({ schema })... }) file with a directory containing the equivalent SQL:

    db/
      migrations/
        20260301113000_add_user_status/
          up.sql
          down.sql

Don't miss a new remix release

NewReleases is sending notifications on new releases.