Returns Dart code to create this instance again in a script.
Source
String get source {
var builder = new StringBuffer();
if (relatedTableName != null) {
builder.write('new SchemaColumn.relationship("${name}", ${type}');
builder.write(", relatedTableName: \"${relatedTableName}\"");
builder.write(", relatedColumnName: \"${relatedColumnName}\"");
builder.write(", rule: ${deleteRule}");
} else {
builder.write('new SchemaColumn("${name}", ${type}');
if (isPrimaryKey) {
builder.write(", isPrimaryKey: true");
} else {
builder.write(", isPrimaryKey: false");
}
if (autoincrement) {
builder.write(", autoincrement: true");
} else {
builder.write(", autoincrement: false");
}
if (defaultValue != null) {
builder.write(', defaultValue: "${defaultValue}"');
}
if (isIndexed) {
builder.write(", isIndexed: true");
} else {
builder.write(", isIndexed: false");
}
}
if (isNullable) {
builder.write(", isNullable: true");
} else {
builder.write(", isNullable: false");
}
if (isUnique) {
builder.write(", isUnique: true");
} else {
builder.write(", isUnique: false");
}
builder.write(")");
return builder.toString();
}