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

Update project

parent 8dbea5c1
......@@ -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
......@@ -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,
......
......@@ -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")
......@@ -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()
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