Schema SDK
eidos.space.schema 对象提供了管理表、字段和视图生命周期的各种方法。
表操作 (Table Operations)
Section titled “表操作 (Table Operations)”createTable(input)
Section titled “createTable(input)”创建一个包含指定字段的新表。
async createTable(input: CreateTableInput): Promise<TableInfo>示例:
const table = await eidos.space.schema.createTable({ name: "任务清单", fields: [ { name: "优先级", columnName: "priority", type: "select", property: { options: [{ name: "高", color: "red" }, { name: "低", color: "blue" }] }}, { name: "截止日期", columnName: "deadline", type: "date" } ]})console.log("创建的表格 ID:", table.id)getTable(tableId)
Section titled “getTable(tableId)”获取特定表的详细信息。
async getTable(tableId: string): Promise<TableInfo>示例:
const tableInfo = await eidos.space.schema.getTable("table_id_here")console.log(`表格 ${tableInfo.name} 共有 ${tableInfo.fields.length} 个字段。`)listTables()
Section titled “listTables()”列出当前空间中的所有表。
async listTables(): Promise<TableListItem[]>示例:
const tables = await eidos.space.schema.listTables()tables.forEach(t => console.log(`${t.name} (${t.id})`))updateTable(tableId, input)
Section titled “updateTable(tableId, input)”更新表元数据 (例如重命名)。
async updateTable(tableId: string, input: UpdateTableInput): Promise<TableInfo>示例:
await eidos.space.schema.updateTable("table_id", { name: "新名称" })deleteTable(tableId)
Section titled “deleteTable(tableId)”永久删除一个表。
async deleteTable(tableId: string): Promise<boolean>字段操作 (Field Operations)
Section titled “字段操作 (Field Operations)”addField(tableId, input)
Section titled “addField(tableId, input)”向现有表添加新字段。
async addField(tableId: string, input: CreateFieldInput): Promise<FieldInfo>示例:
await eidos.space.schema.addField("table_id", { name: "新字段", columnName: "new_field", type: "text"})updateField(tableId, columnName, input)
Section titled “updateField(tableId, columnName, input)”更新现有字段的元数据。
async updateField(tableId: string, columnName: string, input: UpdateFieldInput): Promise<FieldInfo>示例:
await eidos.space.schema.updateField("table_id", "priority", { name: "任务优先级"})deleteField(tableId, columnName)
Section titled “deleteField(tableId, columnName)”从表中删除字段。
async deleteField(tableId: string, columnName: string): Promise<boolean>视图操作 (View Operations)
Section titled “视图操作 (View Operations)”createView(tableId, input)
Section titled “createView(tableId, input)”为表创建新视图。
async createView(tableId: string, input: CreateViewInput): Promise<ViewInfo>示例:
await eidos.space.schema.createView("table_id", { name: "我的看板", type: "kanban"})listViews(tableId)
Section titled “listViews(tableId)”列出与表关联的所有视图。
async listViews(tableId: string): Promise<ViewInfo[]>deleteView(tableId, viewId)
Section titled “deleteView(tableId, viewId)”删除特定视图。
async deleteView(tableId: string, viewId: string): Promise<boolean>