Make db_url optional (#402)

This commit is contained in:
Wazarr 2023-01-31 05:38:48 +01:00 committed by GitHub
parent e578956b0c
commit 6c2f4deb70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 4 deletions

View File

@ -1,10 +1,13 @@
# Pynecone Container Image Build
This example describes how to create and use a container image for Pynecone with your own code.
## Update Requirements
The `requirements.txt` includes the pynecone-io package which is need to install Pynecone framework. If you use additional packages in your project you have add this in the `requirements.txt` first. Copy the `Dockerfile` and the `requirements.txt` file in your project folder.
## Customize Pynecone Config
The `pcconfig.py` includes the configuration of your Pynecone service. Edit the file like the following configuration. If you want to use a custom database you can set the endpoint in this file.
```python
@ -18,7 +21,8 @@ config = pc.Config(
)
```
## Build Pyonecone Container Image
## Build Pynecone Container Image
To build your container image run the following command:
```bash
@ -26,8 +30,9 @@ docker build -t pynecone-project:latest .
```
## Start Container Service
Finally, you can start your Pynecone container service as follows:
```bash
docker run -d -p 3000:3000 -p 8000:8000 --name pynecone pynecone:latest
```
```

View File

@ -302,7 +302,8 @@ class App(Base):
return
# Create the database models.
Model.create_all()
if config.db_url is not None:
Model.create_all()
# Empty the .web pages directory
compiler.purge_web_pages_dir()

View File

@ -22,7 +22,7 @@ class Config(Base):
api_url: str = constants.API_URL
# The database url.
db_url: str = constants.DB_URL
db_url: Optional[str] = constants.DB_URL
# The redis url.
redis_url: Optional[str] = None

View File

@ -11,8 +11,13 @@ def get_engine():
Returns:
The database engine.
Raises:
ValueError: If the database url is None.
"""
url = utils.get_config().db_url
if url is None:
raise ValueError("No database url in config")
return sqlmodel.create_engine(url, echo=False)