generateCreateTableSql method

String generateCreateTableSql(
  1. String tableName, {
  2. bool ifNotExists = false,
})

Implementation

String generateCreateTableSql(String tableName, {bool ifNotExists = false}) {
  _finalizeColumnDefinitions();

  final query = StringBuffer();
  String createClause =
      ifNotExists ? 'CREATE TABLE IF NOT EXISTS' : 'CREATE TABLE';

  query.writeln('$createClause `$tableName` (');

  query.write(_queries.join(',\n'));

  if (_primaryField.isNotEmpty) {
    query.write(',\n  PRIMARY KEY (`$_primaryField`)');
  }

  if (_indexes.isNotEmpty) {
    for (String index in _indexes) {
      query.write(',\n  $index');
    }
  }

  if (_foreignKeys.isNotEmpty) {
    for (String fk in _foreignKeys) {
      query.write(',\n  $fk');
    }
  }

  query.write('\n)');

  return query.toString();
}