ColumnDef class
A single column definition.
Constructors
-
ColumnDef(String name, DataType type, {bool primaryKey = false, bool notNull = false, bool unique = false, bool autoIncrement = false, Object? defaultValue, String? defaultExprSql, String? checkExprSql, ForeignKeyRef? references, String? generatedExprSql, bool generatedStored = false, Map<
String, String> ? vectorSpec}) -
const
-
ColumnDef.fromJson(Map<
String, Object?> j) -
factory
Properties
- autoIncrement → bool
-
final
- checkExprSql → String?
-
CHECK expression source text (column-level). The DB engine re-parses
this on demand. Stored as text so it survives JSON serialization.
final
- defaultExprSql → String?
-
DEFAULT (<expr>)source text (column-level). Mutually optional with defaultValue; when both are present defaultValue wins as the cheap fast-path for plain literals.final - defaultValue → Object?
-
final
- generatedExprSql → String?
-
GENERATED ALWAYS AS (<expr>) [VIRTUAL|STORED]source. When set, the column's value is computed from this expression at INSERT/UPDATE time.final - generatedStored → bool
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- name → String
-
final
- notNull → bool
-
final
- primaryKey → bool
-
final
- references → ForeignKeyRef?
-
FOREIGN KEY target ("table" or "table(column)") for column-level FK.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- type → DataType
-
final
- unique → bool
-
final
-
vectorSpec
→ Map<
String, String> ? -
V30:
VECTOR(dim=384, kind=hnsw, metric=cosine, ...)inline spec. Consumed by CREATE TABLE to auto-register a vector index on this column. Map keys are lowercased attribute names.final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → Map< String, Object?> -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited