Read database path from config in alembic env.py

Slightly related to #135
This commit is contained in:
Tulir Asokan
2018-05-29 18:37:08 +03:00
parent e961e0bcc6
commit 6ef31599e9
4 changed files with 10 additions and 8 deletions
-3
View File
@@ -35,9 +35,6 @@ script_location = alembic
# are written from script.py.mako # are written from script.py.mako
# output_encoding = utf-8 # output_encoding = utf-8
sqlalchemy.url = sqlite:///mautrix-telegram.db
# Logging configuration # Logging configuration
[loggers] [loggers]
keys = root,sqlalchemy,alembic keys = root,sqlalchemy,alembic
+7 -1
View File
@@ -1,4 +1,3 @@
from __future__ import with_statement
from alembic import context from alembic import context
from sqlalchemy import engine_from_config, pool from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig from logging.config import fileConfig
@@ -8,12 +7,19 @@ from os.path import abspath, dirname
sys.path.insert(0, dirname(dirname(abspath(__file__)))) sys.path.insert(0, dirname(dirname(abspath(__file__))))
from mautrix_telegram.base import Base from mautrix_telegram.base import Base
from mautrix_telegram.config import Config
import mautrix_telegram.db import mautrix_telegram.db
# this is the Alembic Config object, which provides # this is the Alembic Config object, which provides
# access to the values within the .ini file in use. # access to the values within the .ini file in use.
config = context.config config = context.config
mxtg_config_path = context.get_x_argument(as_dictionary=True).get("config", "config.yaml")
mxtg_config = Config(mxtg_config_path, None, None)
mxtg_config.load()
config.set_main_option("sqlalchemy.url",
mxtg_config.get("appservice.database", "sqlite:///mautrix-telegram.db"))
# Interpret the config file for Python logging. # Interpret the config file for Python logging.
# This line sets up loggers basically. # This line sets up loggers basically.
fileConfig(config.config_file_name) fileConfig(config.config_file_name)
+2 -3
View File
@@ -10,12 +10,11 @@ function fixperms {
cd /opt/mautrixtelegram cd /opt/mautrixtelegram
export FFMPEG_BINARY=/usr/bin/ffmpeg export FFMPEG_BINARY=/usr/bin/ffmpeg
# Replace database path in alembic.ini # Replace database path in config.
sed -i "s#sqlite:///mautrix-telegram.db#sqlite:////data/mautrix-telegram.db#" alembic.ini
sed -i "s#sqlite:///mautrix-telegram.db#sqlite:////data/mautrix-telegram.db#" /data/config.yaml sed -i "s#sqlite:///mautrix-telegram.db#sqlite:////data/mautrix-telegram.db#" /data/config.yaml
# Check that database is in the right state # Check that database is in the right state
alembic upgrade head alembic -x config=/data/config.yaml upgrade head
if [[ ! -f /data/config.yaml ]]; then if [[ ! -f /data/config.yaml ]]; then
cp example-config.yaml /data/config.yaml cp example-config.yaml /data/config.yaml
+1 -1
View File
@@ -26,7 +26,7 @@ from alchemysession import AlchemySessionContainer
from mautrix_appservice import AppService from mautrix_appservice import AppService
from .base import Base from .base import Base
from .config import Config, DictWithRecursion from .config import Config
from .matrix import MatrixHandler from .matrix import MatrixHandler
from .db import init as init_db from .db import init as init_db