Read database path from config in alembic env.py
Slightly related to #135
This commit is contained in:
@@ -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
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user