Add AUTOINCREMENT to primary keys

This commit is contained in:
sergey-miryanov
2011-04-28 08:43:56 +06:00
parent 1c6512e35a
commit e3c9243d1a
2 changed files with 11 additions and 3 deletions

View File

@@ -376,11 +376,19 @@ column_sql_for_create_table({Name, Type, Constraints}) ->
[atom_to_list(Name), " ", col_type_to_string(Type),
" " | map_intersperse(fun constraint_sql/1, Constraints, " ")].
-spec pk_constraint_sql(any ()) -> iolist().
pk_constraint_sql (Constraint) ->
case Constraint of
desc -> "DESK";
autoincrement -> "AUTOINCREMENT";
L -> lists:map (fun pk_constraint_sql/1, L)
end.
-spec constraint_sql(any()) -> iolist().
constraint_sql(Constraint) ->
case Constraint of
primary_key -> "PRIMARY KEY";
{primary_key, desc} -> "PRIMARY KEY DESC";
{primary_key, C} -> ["PRIMARY KEY ", pk_constraint_sql (C)];
unique -> "UNIQUE";
not_null -> "NOT NULL";
{default, DefaultValue} -> ["DEFAULT ", value_to_sql(DefaultValue)]