mirror of
https://github.com/withastro/astro.git
synced 2025-03-03 22:57:08 -05:00
* feat: add indexes array config with name gen * fix: add _idx suffix, remove name from output * feat(test): new index config * chore: remove unused type * chore: changeset * chore: add sort() for consistent names * feat(test): consistent column ordering * feat(test): ensure no queries when migrating legacy to new
969 B
969 B
@astrojs/db |
---|
patch |
Update the table indexes configuration to allow generated index names. The indexes
object syntax is now deprecated in favor of an array.
Migration
You can update your indexes
configuration object to an array like so:
import { defineDb, defineTable, column } from 'astro:db';
const Comment = defineTable({
columns: {
postId: column.number(),
author: column.text(),
body: column.text(),
},
- indexes: {
- postIdIdx: { on: 'postId' },
- authorPostIdIdx: { on: ['author, postId'], unique: true },
- },
+ indexes: [
+ { on: 'postId' /* 'name' is optional */ },
+ { on: ['author, postId'], unique: true },
+ ]
})
This example will generate indexes with the names Comment_postId_idx
and Comment_author_postId_idx
, respectively. You can specify a name manually by adding the name
attribute to a given object. This name will be global, so ensure index names do not conflict between tables.