getIdStrategySQL static method

String getIdStrategySQL(
  1. IDStrategy strategy,
  2. DatabaseType dbType
)

Get SQL for ID strategy based on database type

Implementation

static String getIdStrategySQL(
  IDStrategy strategy,
  DatabaseType dbType,
) {
  switch (strategy) {
    case IDStrategy.serial:
      return strategy.label;
    case IDStrategy.autoIncrement:
      switch (dbType) {
        case DatabaseType.postgresql:
          return IDStrategy.serial.label;
        case DatabaseType.mysql:
          return IDStrategy.autoIncrement.label;
        case DatabaseType.sqlite:
          return IDStrategy.autoIncrementSqlite.label;
      }
    case IDStrategy.autoIncrementSqlite:
      return IDStrategy.autoIncrementSqlite.label;
    case IDStrategy.uuid:
      switch (dbType) {
        case DatabaseType.postgresql:
          return 'UUID DEFAULT gen_random_uuid()';
        case DatabaseType.mysql:
          return 'CHAR(36)';
        case DatabaseType.sqlite:
          return 'TEXT';
      }
  }
}