createTableIfNotExists method
Implementation
@Deprecated('createTableIfNotExists will be deprecated in version 1.1.0')
TableDefinition createTableIfNotExists(
String tableName,
Function(Schema) callback,
) {
_schemaBuilder.reset();
_schemaBuilder.setTableName(tableName);
Future<void> createFunction() async {
callback(_schemaBuilder);
String sql = _schemaBuilder.generateCreateTableSql(
tableName,
ifNotExists: true,
);
if (_adapter != null && _adapter.driverName == 'pgsql') {
final postgresAdapter = _adapter as dynamic;
if (postgresAdapter.executeStatements != null) {
await postgresAdapter.executeStatements(sql, (
String statement,
) async {
try {
await _connection.connection!.execute(statement);
} on QueryException catch (e) {
stderr.writeln(
'Error executing statement: $statement\nError: ${e.cause}',
);
exit(0);
}
});
return;
}
}
if (_adapter != null) {
sql = _adapter.adaptQuery(sql);
}
try {
await _connection.connection!.execute(sql);
} on QueryException catch (e) {
stderr.writeln('Error executing statement: $sql\nError: ${e.cause}');
exit(0);
}
}
return TableDefinition(
tableName,
createFunction,
connection: _connection,
adapter: _adapter,
);
}