Commit 47258f4c authored by 崔为之's avatar 崔为之 💪🏽

Update project

parent 8dbea5c1
...@@ -9,7 +9,7 @@ Database: ...@@ -9,7 +9,7 @@ Database:
Host: localhost Host: localhost
Port: 5432 Port: 5432
DB: elp DB: elp
TableName: user TableName: users
Elasticsearch: Elasticsearch:
Host: 172.28.5.39 Host: 172.28.5.39
...@@ -32,14 +32,7 @@ Logger: ...@@ -32,14 +32,7 @@ Logger:
Enqueue: True Enqueue: True
Retention: Retention:
Redis:
Host: localhost
Port: 6379
Username:
Password:
DB: 13
Scheduler: Scheduler:
Start: 2023-11-11 18:20:00 Start: 2023-11-12 10:04:00
End: 2099-11-11 16:00:00 End: 2099-11-11 16:00:00
Timezone: Asia/Shanghai Timezone: Asia/Shanghai
...@@ -40,8 +40,8 @@ def init_database(app: Flask) -> None: ...@@ -40,8 +40,8 @@ def init_database(app: Flask) -> None:
db.app = app db.app = app
db.init_app(app) db.init_app(app)
with app.app_context(): with app.app_context():
db.session.execute(text(""" db.session.execute(text(f"""
CREATE TABLE IF NOT EXISTS users ( CREATE TABLE IF NOT EXISTS {cfg.TableName} (
id SERIAL NOT NULL, id SERIAL NOT NULL,
username VARCHAR(80) NOT NULL, username VARCHAR(80) NOT NULL,
email VARCHAR(120) NOT NULL, email VARCHAR(120) NOT NULL,
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
import datetime import datetime
from application.extensions.init_sqlalchemy import db from application.extensions.init_sqlalchemy import db
from application.models import User from application.models import User
from application.common import global_config
def task(): def task():
...@@ -26,4 +27,5 @@ def task(): ...@@ -26,4 +27,5 @@ def task():
user = User(username="CWzz", email="Stuu@outlook.com", password="qwe!2345", active=True, user = User(username="CWzz", email="Stuu@outlook.com", password="qwe!2345", active=True,
created_at=datetime.datetime.utcnow()) created_at=datetime.datetime.utcnow())
user.save() user.save()
print(db.app.config)
print("created user admin") print("created user admin")
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# @Description : # @Description :
""" """
from datetime import datetime import os
from sqlalchemy import text from sqlalchemy import text
from sqlalchemy.ext.hybrid import hybrid_property from sqlalchemy.ext.hybrid import hybrid_property
...@@ -20,7 +20,7 @@ from application.extensions.init_sqlalchemy import db ...@@ -20,7 +20,7 @@ from application.extensions.init_sqlalchemy import db
class User(db.Model): class User(db.Model):
"""Basic user model""" """Basic user model"""
__tablename__ = 'users' __tablename__ = os.environ.get('TableName', 'users')
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False) username = db.Column(db.String(80), unique=True, nullable=False)
...@@ -54,14 +54,13 @@ class User(db.Model): ...@@ -54,14 +54,13 @@ class User(db.Model):
def save(self): def save(self):
partition_date = self.created_at.strftime('%Y_%m') 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(): with db.session.begin_nested():
db.session.execute(text(f""" 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 FOR VALUES FROM ('{self.created_at.strftime('%Y-%m-01')}') TO
('{self.created_at.strftime('%Y-%m-01')}'::date + interval '1 month'); ('{self.created_at.strftime('%Y-%m-01')}'::date + interval '1 month');
""")) """))
db.session.add(self) db.session.add(self)
db.session.commit() db.session.commit()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment