diff --git a/application/config/config.yaml b/application/config/config.yaml index 0fa3f99d326bf28cd0116365368f94984e4f13a2..6e089b4d25f25c36ed4016573f3317b0d4ca4675 100644 --- a/application/config/config.yaml +++ b/application/config/config.yaml @@ -9,7 +9,7 @@ Database: Host: localhost Port: 5432 DB: elp - TableName: user + TableName: users Elasticsearch: Host: 172.28.5.39 @@ -32,14 +32,7 @@ Logger: Enqueue: True Retention: -Redis: - Host: localhost - Port: 6379 - Username: - Password: - DB: 13 - Scheduler: - Start: 2023-11-11 18:20:00 + Start: 2023-11-12 10:04:00 End: 2099-11-11 16:00:00 Timezone: Asia/Shanghai diff --git a/application/extensions/init_sqlalchemy.py b/application/extensions/init_sqlalchemy.py index 2ca03dde165d75b609435e69b9d9b92760b04c33..bb5480e78f2e4f8c58a616f60f8edd2ae3f85c9f 100644 --- a/application/extensions/init_sqlalchemy.py +++ b/application/extensions/init_sqlalchemy.py @@ -40,8 +40,8 @@ def init_database(app: Flask) -> None: db.app = app db.init_app(app) with app.app_context(): - db.session.execute(text(""" - CREATE TABLE IF NOT EXISTS users ( + db.session.execute(text(f""" + CREATE TABLE IF NOT EXISTS {cfg.TableName} ( id SERIAL NOT NULL, username VARCHAR(80) NOT NULL, email VARCHAR(120) NOT NULL, diff --git a/application/libs/tasks/task.py b/application/libs/tasks/task.py index 0007b703bf5bf183f4ddc30c97a21358ed89a45a..58f3894941c2d045aa61a41c17d59e75adfdcbe9 100644 --- a/application/libs/tasks/task.py +++ b/application/libs/tasks/task.py @@ -13,6 +13,7 @@ import datetime from application.extensions.init_sqlalchemy import db from application.models import User +from application.common import global_config def task(): @@ -26,4 +27,5 @@ def task(): user = User(username="CWzz", email="Stuu@outlook.com", password="qwe!2345", active=True, created_at=datetime.datetime.utcnow()) user.save() + print(db.app.config) print("created user admin") diff --git a/application/models/user.py b/application/models/user.py index e53a6f10b2f9bfb8383d96c0d9ba272775a3f787..94d8433596646d4d01890114206fc87c5ab32cb1 100644 --- a/application/models/user.py +++ b/application/models/user.py @@ -10,7 +10,7 @@ # @Description : """ -from datetime import datetime +import os from sqlalchemy import text from sqlalchemy.ext.hybrid import hybrid_property @@ -20,7 +20,7 @@ from application.extensions.init_sqlalchemy import db class User(db.Model): """Basic user model""" - __tablename__ = 'users' + __tablename__ = os.environ.get('TableName', 'users') id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) @@ -54,14 +54,13 @@ class User(db.Model): def save(self): partition_date = self.created_at.strftime('%Y_%m') - partition_name = f'users_{partition_date}' + partition_name = f'{self.__tablename__}_{partition_date}' with db.session.begin_nested(): db.session.execute(text(f""" - CREATE TABLE IF NOT EXISTS {partition_name} PARTITION OF users + CREATE TABLE IF NOT EXISTS {partition_name} PARTITION OF {self.__tablename__} FOR VALUES FROM ('{self.created_at.strftime('%Y-%m-01')}') TO ('{self.created_at.strftime('%Y-%m-01')}'::date + interval '1 month'); """)) db.session.add(self) db.session.commit() -