Spaces:
Sleeping
Sleeping
Fix database paths to use relative paths correctly in Docker container
Browse files- app.py +4 -8
- app/database.py +6 -6
app.py
CHANGED
@@ -22,17 +22,13 @@ def main():
|
|
22 |
|
23 |
# Ensure database file is in the correct location for Docker
|
24 |
source_db = "Tabble.db"
|
25 |
-
target_db = "
|
26 |
|
27 |
try:
|
28 |
-
if os.path.exists(source_db)
|
29 |
-
|
30 |
-
shutil.copy2(source_db, target_db)
|
31 |
-
print(f"✅ Database copied from {source_db} to {target_db}")
|
32 |
-
elif os.path.exists(target_db):
|
33 |
-
print(f"✅ Database found at {target_db}")
|
34 |
else:
|
35 |
-
print(f"⚠️ Database not found, will create new one
|
36 |
except Exception as e:
|
37 |
print(f"⚠️ Database setup warning: {e}")
|
38 |
|
|
|
22 |
|
23 |
# Ensure database file is in the correct location for Docker
|
24 |
source_db = "Tabble.db"
|
25 |
+
target_db = "Tabble.db" # Same location in Docker
|
26 |
|
27 |
try:
|
28 |
+
if os.path.exists(source_db):
|
29 |
+
print(f"✅ Database found at {source_db}")
|
|
|
|
|
|
|
|
|
30 |
else:
|
31 |
+
print(f"⚠️ Database not found at {source_db}, will create new one")
|
32 |
except Exception as e:
|
33 |
print(f"⚠️ Database setup warning: {e}")
|
34 |
|
app/database.py
CHANGED
@@ -49,7 +49,7 @@ class DatabaseManager:
|
|
49 |
|
50 |
def _create_connection(self, hotel_id: Optional[int] = None) -> dict:
|
51 |
"""Create a new database connection to unified database"""
|
52 |
-
database_url = f"sqlite
|
53 |
engine = create_engine(database_url, connect_args={"check_same_thread": False})
|
54 |
session_factory = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
55 |
session_local = scoped_session(session_factory)
|
@@ -126,7 +126,7 @@ db_manager = DatabaseManager()
|
|
126 |
|
127 |
# Global variables for database connection (unified database)
|
128 |
CURRENT_DATABASE = "Tabble.db"
|
129 |
-
DATABASE_URL = f"sqlite
|
130 |
engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False})
|
131 |
session_factory = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
132 |
SessionLocal = scoped_session(session_factory)
|
@@ -409,9 +409,9 @@ def get_current_database():
|
|
409 |
# Create tables
|
410 |
def create_tables():
|
411 |
try:
|
412 |
-
# Ensure database directory exists
|
413 |
import os
|
414 |
-
|
415 |
|
416 |
# Create all tables (only creates tables that don't exist)
|
417 |
Base.metadata.create_all(bind=engine)
|
@@ -422,8 +422,8 @@ def create_tables():
|
|
422 |
try:
|
423 |
print("Attempting to create new database...")
|
424 |
import sqlite3
|
425 |
-
# Create the database file if it doesn't exist
|
426 |
-
with sqlite3.connect("
|
427 |
conn.execute("SELECT 1")
|
428 |
# Try creating tables again
|
429 |
Base.metadata.create_all(bind=engine)
|
|
|
49 |
|
50 |
def _create_connection(self, hotel_id: Optional[int] = None) -> dict:
|
51 |
"""Create a new database connection to unified database"""
|
52 |
+
database_url = f"sqlite:///Tabble.db"
|
53 |
engine = create_engine(database_url, connect_args={"check_same_thread": False})
|
54 |
session_factory = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
55 |
session_local = scoped_session(session_factory)
|
|
|
126 |
|
127 |
# Global variables for database connection (unified database)
|
128 |
CURRENT_DATABASE = "Tabble.db"
|
129 |
+
DATABASE_URL = f"sqlite:///Tabble.db" # Using the unified database
|
130 |
engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False})
|
131 |
session_factory = sessionmaker(autocommit=False, autoflush=False, bind=engine)
|
132 |
SessionLocal = scoped_session(session_factory)
|
|
|
409 |
# Create tables
|
410 |
def create_tables():
|
411 |
try:
|
412 |
+
# Ensure database directory exists (current working directory)
|
413 |
import os
|
414 |
+
# We're already in /app in Docker, so just ensure file can be created
|
415 |
|
416 |
# Create all tables (only creates tables that don't exist)
|
417 |
Base.metadata.create_all(bind=engine)
|
|
|
422 |
try:
|
423 |
print("Attempting to create new database...")
|
424 |
import sqlite3
|
425 |
+
# Create the database file if it doesn't exist (in current directory)
|
426 |
+
with sqlite3.connect("Tabble.db") as conn:
|
427 |
conn.execute("SELECT 1")
|
428 |
# Try creating tables again
|
429 |
Base.metadata.create_all(bind=engine)
|