mirror of
https://github.com/fastapi-users/fastapi-users.git
synced 2025-11-02 21:24:34 +08:00
Ensure columns in SQL schema are not nullable
This commit is contained in:
@ -13,10 +13,10 @@ class SQLAlchemyBaseUserTable:
|
|||||||
__tablename__ = "user"
|
__tablename__ = "user"
|
||||||
|
|
||||||
id = Column(String, primary_key=True)
|
id = Column(String, primary_key=True)
|
||||||
email = Column(String, unique=True, index=True)
|
email = Column(String, unique=True, index=True, nullable=False)
|
||||||
hashed_password = Column(String)
|
hashed_password = Column(String, nullable=False)
|
||||||
is_active = Column(Boolean, default=True)
|
is_active = Column(Boolean, default=True, nullable=False)
|
||||||
is_superuser = Column(Boolean, default=False)
|
is_superuser = Column(Boolean, default=False, nullable=False)
|
||||||
|
|
||||||
|
|
||||||
class SQLAlchemyUserDatabase(BaseUserDatabase):
|
class SQLAlchemyUserDatabase(BaseUserDatabase):
|
||||||
|
|||||||
@ -71,6 +71,14 @@ async def test_queries(sqlalchemy_user_db):
|
|||||||
with pytest.raises(sqlite3.IntegrityError):
|
with pytest.raises(sqlite3.IntegrityError):
|
||||||
await sqlalchemy_user_db.create(user)
|
await sqlalchemy_user_db.create(user)
|
||||||
|
|
||||||
|
# Exception when inserting non-nullable fields
|
||||||
|
with pytest.raises(sqlite3.IntegrityError):
|
||||||
|
wrong_user = BaseUserDB(
|
||||||
|
id="222",
|
||||||
|
hashed_password="aaa"
|
||||||
|
)
|
||||||
|
await sqlalchemy_user_db.create(wrong_user)
|
||||||
|
|
||||||
# Unknown user
|
# Unknown user
|
||||||
unknown_user = await sqlalchemy_user_db.get_by_email("galahad@camelot.bt")
|
unknown_user = await sqlalchemy_user_db.get_by_email("galahad@camelot.bt")
|
||||||
assert unknown_user is None
|
assert unknown_user is None
|
||||||
|
|||||||
Reference in New Issue
Block a user