Schema class
A portable representation of a database schema.
Instances of this type contain the database-only details of a ManagedDataModel and are typically instantiated from ManagedDataModels. The purpose of this type is to have a portable, differentiable representation of an application's data model for use in external tooling.
Constructors
-
Schema(List<
SchemaTable> tables) -
Creates an instance of this type with a specific set of
tables
. - Schema.empty()
- Creates an empty schema.
- Schema.from(Schema otherSchema)
-
Creates a deep copy of
otherSchema
. - Schema.fromDataModel(ManagedDataModel dataModel)
-
Creates an instance of this type from
dataModel
. -
Schema.fromMap(Map<
String, dynamic> map) -
Creates a instance of this type from
map
.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
tables
→ List<
SchemaTable> -
The tables in this database.
no setter
Methods
-
addTable(
SchemaTable table) → void - Adds a table to this instance.
-
asMap(
) → Map< String, dynamic> - Emits this instance as a transportable Map.
-
differenceFrom(
Schema otherSchema) → SchemaDifference - The differences between two schemas.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeTable(
SchemaTable table) → void - Removes a table from this instance.
-
renameTable(
SchemaTable table, String newName) → void -
replaceTable(
SchemaTable existingTable, SchemaTable newTable) → void -
tableForName(
String name) → SchemaTable? -
Returns a SchemaTable for
name
. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
-
operator [](
String tableName) → SchemaTable? - Gets a table from tables by that table's name.