diff --git a/lib/db.py b/conf/db.py similarity index 100% rename from lib/db.py rename to conf/db.py diff --git a/lib/db_schema.py b/conf/db_schema.py similarity index 53% rename from lib/db_schema.py rename to conf/db_schema.py index 4262e5d..e8f993c 100644 --- a/lib/db_schema.py +++ b/conf/db_schema.py @@ -3,10 +3,62 @@ from sqlalchemy import Table, Column, Date, Float, Integer, String, Text, MetaDa metadata = MetaData() +# 날짜별 메트릭 +fg_manager_static_ga4_by_date = Table( + 'fg_manager_static_ga4_by_date', metadata, + Column('date', Date, primary_key=True), + Column('activeUsers', Integer), + Column('screenPageViews', Integer), + Column('sessions', Integer), +) + +# 날짜 + 유입 소스별 세션 +fg_manager_static_ga4_by_source = Table( + 'fg_manager_static_ga4_by_source', metadata, + Column('date', Date, primary_key=True), + Column('sessionSource', String(255), primary_key=True), + Column('sessions', Integer), +) + +# 날짜 + 유입 매체별 세션 +fg_manager_static_ga4_by_medium = Table( + 'fg_manager_static_ga4_by_medium', metadata, + Column('date', Date, primary_key=True), + Column('sessionMedium', String(255), primary_key=True), + Column('sessions', Integer), +) + +# 날짜 + 장치 카테고리별 activeUsers +fg_manager_static_ga4_by_device = Table( + 'fg_manager_static_ga4_by_device', metadata, + Column('date', Date, primary_key=True), + Column('deviceCategory', String(255), primary_key=True), + Column('activeUsers', Integer), +) + +# 날짜 + 국가별 activeUsers +fg_manager_static_ga4_by_country = Table( + 'fg_manager_static_ga4_by_country', metadata, + Column('date', Date, primary_key=True), + Column('country', String(255), primary_key=True), + Column('activeUsers', Integer), +) + +# 날짜 + 도시별 activeUsers +fg_manager_static_ga4_by_city = Table( + 'fg_manager_static_ga4_by_city', metadata, + Column('date', Date, primary_key=True), + Column('city', String(255), primary_key=True), + Column('activeUsers', Integer), +) + + + fg_manager_static_air = Table( 'fg_manager_static_air', metadata, Column('date', Date, primary_key=True, nullable=False), + Column('station', String(32), nullable=False), # 🔹 추가됨 Column('pm25', Float), Column('pm10', Float), Column('so2', Float), @@ -80,3 +132,17 @@ fg_manager_static_weather = Table( Column('iscs', Text), Column('sumFogDur', Float), ) + +fg_manager_static_ga4 = Table( + 'fg_manager_static_ga4', metadata, + Column('date', Date, primary_key=True), + Column('source', String(255), primary_key=True), + Column('medium', String(255), primary_key=True), + Column('deviceCategory', String(50), primary_key=True), + Column('country', String(100), primary_key=True), + Column('city', String(100), primary_key=True), + Column('activeUsers', Integer), + Column('screenPageViews', Integer), + mysql_engine='InnoDB', + mysql_charset='utf8mb4' +)