TableProperty class
Represents a database table column/property for code generation.
This class models a PostgreSQL table column and provides utilities for mapping database types to Dart types, handling nullability, and generating appropriate Dart field declarations.
Type Mapping
The following PostgreSQL types are supported:
- Numeric:
int4,int8,serial,bigserial→int - Floating:
float4,float8,double precision→double - Text:
text,varchar,uuid,timestamp→String - Boolean:
boolean,bool→bool - JSON:
json,jsonb→Map<String, dynamic> - Arrays:
_text→List<String>,_numeric→List<num>
Example
For a PostgreSQL column:
email VARCHAR(255) NULL
A TableProperty would be:
TableProperty(
name: 'email',
type: 'character varying',
isNullable: true,
isPrimaryKey: false,
isAutoIncrement: false,
)
Which generates the Dart field:
final String? email;
Constructors
- TableProperty({required String name, required String type, required bool isNullable, required bool isPrimaryKey, required bool isAutoIncrement})
- Creates a new TableProperty instance.
Properties
- dartName → String
-
The property name in Dart camelCase convention.
no setter
- dartType → String
-
The corresponding Dart type for this database column.
no setter
- field → String
-
Generates the Dart field declaration code.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- isAutoIncrement → bool
-
Whether this column auto-increments (e.g., SERIAL, AUTO_INCREMENT).
final
- isNullable → bool
-
Whether the column allows NULL values.
final
- isPrimaryKey → bool
-
Whether this column is part of the primary key.
final
- name → String
-
The original database column name (e.g., 'created_at').
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- type → String
-
The PostgreSQL data type of the column (e.g., 'varchar', 'int4').
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited