ExtendedTable
Initialization
Section titled “Initialization”ExtendedTable( name: String, primaryKey: String = "id", defaultOrderBy: String = "created_at DESC", columns: [ColumnBuilder])Column Builders
Section titled “Column Builders”Text Columns
Section titled “Text Columns”.text("field_name").text("email").email().text("website").url().text("user_id").uuid()Number Columns
Section titled “Number Columns”.integer("age").real("price")Column Modifiers
Section titled “Column Modifiers”.encrypted() // Encrypt field.nullable() // Optional field.notNull() // Required field.default(value) // Default value.default(.now) // Timestamp default.references(table) // Foreign key.enum(enumType) // Enum typeValidation Methods
Section titled “Validation Methods”See Validation Guide for complete validation API.
Methods
Section titled “Methods”toPowerSyncTable() -> PowerSync.Table
Section titled “toPowerSyncTable() -> PowerSync.Table”Convert to PowerSync table for schema definition.
toTableFieldConfig() -> TableFieldConfig
Section titled “toTableFieldConfig() -> TableFieldConfig”Generate field configuration for CRUD operations.
getEnums() -> Set<DatabaseEnum>
Section titled “getEnums() -> Set<DatabaseEnum>”Get all enum types used by this table.
getReferencedTables() -> Set<String>
Section titled “getReferencedTables() -> Set<String>”Get all tables referenced by foreign keys in this table.
getForeignKeys() -> [(column: String, foreignKey: ForeignKey)]
Section titled “getForeignKeys() -> [(column: String, foreignKey: ForeignKey)]”Get all foreign key relationships.
generateSwiftModel() -> String
Section titled “generateSwiftModel() -> String”Generate Swift model struct code (struct definition only).
generateSwiftModelFile() -> String
Section titled “generateSwiftModelFile() -> String”Generate complete Swift file with imports.
generateDrizzleSchema(includeImports: Bool = false) -> String
Section titled “generateDrizzleSchema(includeImports: Bool = false) -> String”Generate Drizzle ORM schema code (TypeScript). Use includeImports: true to include import statements.
generateDrizzleTableFile() -> String
Section titled “generateDrizzleTableFile() -> String”Generate complete TypeScript file with imports.
generateCreateTableSQL() -> String
Section titled “generateCreateTableSQL() -> String”Generate SQL CREATE TABLE statement with defaults, foreign keys, and triggers.
generateForeignKeyConstraints() -> [String]
Section titled “generateForeignKeyConstraints() -> [String]”Generate SQL foreign key constraint statements.