reviveColumn function
Column
reviveColumn(
- ConstantReader cr
Implementation
Column reviveColumn(ConstantReader cr) {
ColumnType columnType;
var indexTypeObj = cr.peek('indexType')?.objectValue;
indexTypeObj ??= cr.revive().namedArguments['indexType'];
var columnObj =
cr.peek('type')?.objectValue.getField('name')?.toStringValue();
var indexType = IndexType.values[
indexTypeObj?.getField('index')?.toIntValue() ?? IndexType.none.index];
if (const TypeChecker.fromRuntime(PrimaryKey)
.isAssignableFromType(cr.objectValue.type!)) {
indexType = IndexType.primaryKey;
}
if (columnObj != null) {
columnType = _ColumnType(columnObj);
} else {
// Default to varchar
columnType = ColumnType.varChar;
}
return Column(
isNullable: cr.peek('isNullable')?.boolValue ?? false,
length: cr.peek('length')?.intValue ?? 255,
defaultValue: cr.peek('defaultValue')?.objectValue,
type: columnType,
indexType: indexType,
);
}