1import { column, defineDb, defineTable, NOW } from 'astro:db'; 2 3const Users = defineTable({ 4 columns: { 5 id: column.number({ primaryKey: true }), 6 userDid: column.text({ name: "user_did", unique: true }), 7 joinedAt: column.date({ name: "joined_at", default: NOW }), 8 }, 9 indexes: [ 10 { on: ["userDid"], unique: true }, 11 ], 12}); 13 14const Works = defineTable({ 15 columns: { 16 id: column.number({ primaryKey: true }), 17 author: column.text({ references: () => Users.columns.userDid }), 18 // recordkey 19 title: column.text(), 20 content: column.text({ multiline: true }), 21 tags: column.json(), 22 createdAt: column.date({ name: "created_at", default: NOW }), 23 updatedAt: column.date({ name: "updated_at", optional: true }), 24 }, 25}); 26 27export default defineDb({ 28 tables: { 29 Users, 30 Works, 31 }, 32}); 33