File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change
1
+ from typing import Optional
2
+
3
+ from sqlmodel import Field , SQLModel , create_engine
4
+
5
+
6
+ def test_nullable_fields_set_properly (clear_sqlmodel , caplog ):
7
+ class Hero (SQLModel , table = True ):
8
+ nullable_integer_primary_key : Optional [int ] = Field (
9
+ default = None , primary_key = True
10
+ )
11
+ not_null_string : str = Field (default = ..., nullable = False )
12
+ nullable_optional_string : Optional [str ] = Field (default = None , nullable = True )
13
+ nullable_integer : Optional [int ] = None
14
+ not_null_integer : int
15
+
16
+ engine = create_engine ("sqlite://" , echo = True )
17
+ SQLModel .metadata .create_all (engine )
18
+
19
+ create_table_log = [
20
+ message for message in caplog .messages if "CREATE TABLE hero" in message
21
+ ][0 ]
22
+ assert "\n \t nullable_integer_primary_key INTEGER NOT NULL," in create_table_log
23
+ assert "\n \t not_null_string VARCHAR NOT NULL," in create_table_log
24
+ assert "\n \t nullable_optional_string VARCHAR," in create_table_log
25
+ assert "\n \t nullable_integer INTEGER," in create_table_log
26
+ assert "\n \t not_null_integer INTEGER NOT NULL," in create_table_log
You can’t perform that action at this time.
0 commit comments