Explorar el Código

Making the db location dynamic so that it can be run inside a docker container

pull/178/head
Nick Sharp hace 7 años
padre
commit
641a85ea5b
Se han modificado 3 ficheros con 15 adiciones y 4 borrados
  1. +9
    -0
      Dockerfile
  2. +4
    -2
      modules/core/db.py
  3. +2
    -2
      modules/core/db_mirgrate.py

+ 9
- 0
Dockerfile Ver fichero

@@ -0,0 +1,9 @@
FROM python:2.7

COPY . /app

WORKDIR app

RUN pip install -r requirements.txt

ENTRYPOINT [ "python", "run.py" ]

+ 4
- 2
modules/core/db.py Ver fichero

@@ -1,7 +1,9 @@
import sqlite3
import os
from flask import json, g

db_root=os.getenv("DB_ROOT", "")
db_location=db_root + '/craftbeerpi.db'

def get_db():
db = getattr(g, '_database', None)
@@ -11,7 +13,7 @@ def get_db():
for idx, col in enumerate(cursor.description):
d[col[0]] = row[idx]
return d
db = g._database = sqlite3.connect('craftbeerpi.db')
db = g._database = sqlite3.connect(db_location)
db.row_factory = dict_factory
return db



+ 2
- 2
modules/core/db_mirgrate.py Ver fichero

@@ -1,14 +1,14 @@
import sqlite3
import os
from modules import cbpi
from db import get_db
from db import get_db, db_location

def execute_file(curernt_version, data):
if curernt_version >= data["version"]:
cbpi.app.logger.info("SKIP DB FILE: %s" % data["file"])
return
try:
with sqlite3.connect("craftbeerpi.db") as conn:
with sqlite3.connect(db_location) as conn:
with open('./update/%s' % data["file"], 'r') as f:
d = f.read()
sqlCommands = d.split(";")


Cargando…
Cancelar
Guardar