From ca56f11dc64cf626755dfff9c712446d59fa1603 Mon Sep 17 00:00:00 2001 From: Pawel Chmielowski Date: Fri, 27 Feb 2026 09:46:18 +0100 Subject: [PATCH] Add abilty to mark that column can be null in e_sql_schema --- include/ejabberd_sql.hrl | 1 + src/ejabberd_sql_schema.erl | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/ejabberd_sql.hrl b/include/ejabberd_sql.hrl index 1c46b7131..f3d7a1e33 100644 --- a/include/ejabberd_sql.hrl +++ b/include/ejabberd_sql.hrl @@ -51,6 +51,7 @@ meta = #{}}). -record(sql_column, {name :: binary(), type, + nullable = false, default = false, opts = []}). -record(sql_table, {name :: binary(), diff --git a/src/ejabberd_sql_schema.erl b/src/ejabberd_sql_schema.erl index 1ed3c610e..f9f36588b 100644 --- a/src/ejabberd_sql_schema.erl +++ b/src/ejabberd_sql_schema.erl @@ -526,7 +526,10 @@ format_column_def(SchemaInfo, Column) -> [<<" ">>, escape_name(SchemaInfo, Column#sql_column.name), <<" ">>, format_type(SchemaInfo, Column), - <<" NOT NULL">>, + case Column#sql_column.nullable of + false -> <<" NOT NULL">>; + true -> [] + end, case Column#sql_column.default of false -> []; true ->