changed from postgres to mysql (mariaDB)

This commit is contained in:
bacalhau 2026-03-03 18:44:17 +00:00
parent a5895e2124
commit 8c1eb7dee8
4 changed files with 32 additions and 26 deletions

View file

@ -1,15 +1,15 @@
version: "3.9"
services: services:
db: db:
image: postgres image: mariadb:latest
container_name: lovedb container_name: lovedb
restart: always restart: always
environment: environment:
POSTGRES_USER: love MARIADB_ROOT_PASSWORD: love
POSTGRES_PASSWORD: love MARIADB_DATABASE: lovedb
POSTGRES_DB: lovedb MARIADB_USER: love
MARIADB_PASSWORD: love
ports: ports:
- "5432:5432" - "3309:3306"
volumes: volumes:
- ./data:/var/lib/postgresql - ./data:/var/lib/mysql

View file

@ -87,7 +87,7 @@
- **Software used**: - **Software used**:
- Flask (backend framework) - Flask (backend framework)
- Postgres SQL (Database) - MySQL (Database)
- SQLAlchemy (ORM) - SQLAlchemy (ORM)
- python-gnupg (PGP validation) - python-gnupg (PGP validation)
- Flask-WTF (Forms validation) - Flask-WTF (Forms validation)

4
requirements.txt Normal file
View file

@ -0,0 +1,4 @@
Flask
Flask-SQLAlchemy
SQLAlchemy
PyMySQL

View file

@ -1,40 +1,41 @@
from flask import Flask, render_template from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy from flask_sqlalchemy import SQLAlchemy
from sqlalchemy import Enum from datetime import date
from sqlalchemy.dialects.postgresql import ARRAY
app = Flask(__name__) app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'postgresql://love:love@localhost/lovedb' app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://love:love@localhost:3309/lovedb'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app) db = SQLAlchemy(app)
class SexEnum:
male = "male"
female = "female"
class User(db.Model): class User(db.Model):
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(128), unique=True, nullable=False)
password = db.Column(db.String(128), unique=True, nullable=False)
firstname = db.Column(db.String(128), unique=False, nullable=False) username = db.Column(db.String(128), unique=True, nullable=False)
lastname = db.Column(db.String(128), unique=False, nullable=False) password = db.Column(db.String(128), nullable=False)
sex = db.Column(Enum('male', 'female', name="sex_enum"), nullable=False)
firstname = db.Column(db.String(128), nullable=False)
lastname = db.Column(db.String(128), nullable=False)
sex = db.Column(db.Enum('male', 'female'), nullable=False)
date_of_birth = db.Column(db.Date, nullable=False) date_of_birth = db.Column(db.Date, nullable=False)
profile_picture = db.Column(db.String(200), nullable=False) profile_picture = db.Column(db.String(200), nullable=False)
pictures = db.Column(ARRAY(db.String), nullable=True)
country = db.Column(db.String(128), unique=False, nullable=False) pictures = db.Column(db.JSON, nullable=True)
city = db.Column(db.String(128), unique=False, nullable=True)
country = db.Column(db.String(128), nullable=False)
city = db.Column(db.String(128), nullable=True)
height = db.Column(db.Float, nullable=True) height = db.Column(db.Float, nullable=True)
weight = db.Column(db.Integer, nullable=True) weight = db.Column(db.Integer, nullable=True)
race = db.Column(db.String(20), unique=False, nullable=True) race = db.Column(db.String(20), nullable=True)
prefered_age_range = db.Column(db.String(20), nullable=True) prefered_age_range = db.Column(db.String(20), nullable=True)
likes = db.Column(ARRAY(db.String), nullable=True)
dislikes = db.Column(ARRAY(db.String), nullable=True) likes = db.Column(db.JSON, nullable=True)
dislikes = db.Column(db.JSON, nullable=True)
xmpp = db.Column(db.String(128), unique=True, nullable=False) xmpp = db.Column(db.String(128), unique=True, nullable=False)
email = db.Column(db.String(128), unique=True, nullable=True) email = db.Column(db.String(128), unique=True, nullable=True)
@ -46,6 +47,7 @@ class User(db.Model):
def home(): def home():
return render_template("index.html") return render_template("index.html")
if __name__ == "__main__": if __name__ == "__main__":
with app.app_context(): with app.app_context():
db.create_all() db.create_all()