getIdStrategySQL static method
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';
}
}
}