postgreSQL: SQLModel.metadata.create_all(engine) doesn't create the database file #1523
-
First Check
Commit to Help
Example Codefrom datetime import datetime
from typing import Optional, Dict
from sqlmodel import Field, SQLModel, create_engine
class SemanticSearch(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
id_user: int
date_time: datetime
query: str
clean_query: str
engine = create_engine('postgresql://postgres:postgres@localhost:5432/embeddings_sts_tf', echo=True)
SQLModel.metadata.create_all(engine) DescriptionFollowing the tutorial user guide based on sqlite I tried to do the same with postgresql database, but contrary to sqlite the Operating SystemLinux Operating System DetailsUbuntu 18.04 LTS SQLModel Version0.0.4 Python Version3.8.8 Additional ContextNo response |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
From this stack-overflow post you can't create a postgresql database via from datetime import datetime
from typing import Optional, Dict
from sqlmodel import Field, SQLModel, create_engine, text
class SemanticSearch(SQLModel, table=True):
id: Optional[int] = Field(default=None, primary_key=True)
id_user: int
date_time: datetime
query: str
clean_query: str
engine = create_engine('postgresql://postgres:postgres@localhost:5432/postgres', echo=True)
conn = engine.connect()
conn.execute(text("commit"))
conn.execute(text("create database your_db_name"))
conn.close()
conn.dispose()
engine = create_engine('postgresql://postgres:postgres@localhost:5432/your_db_name', echo=True)
SQLModel.metadata.create_all(engine) |
Beta Was this translation helpful? Give feedback.
-
Code examples in docs use SQLite for simplicity. SQLIte creates DB file automatically if not exist. PostgreSQL is more complex thing and it works differently - you need to start the database server (the easiest way is to start the docker container) and create the database manually before running the code. See: |
Beta Was this translation helpful? Give feedback.
Code examples in docs use SQLite for simplicity. SQLIte creates DB file automatically if not exist.
PostgreSQL is more complex thing and it works differently - you need to start the database server (the easiest way is to start the docker container) and create the database manually before running the code.
See: