Change db backend to postgres
This commit is contained in:
parent
8ff6aaf70e
commit
2c2c4ed617
|
@ -11,7 +11,7 @@ djangorestframework = "*"
|
|||
markdown = "*"
|
||||
djangorestframework-simplejwt = "*"
|
||||
gunicorn = "*"
|
||||
mysqlclient = "*"
|
||||
psycopg2-binary = "*"
|
||||
|
||||
[requires]
|
||||
python_version = "3.7"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "f3b787be7658e88a80f6cb88c212265407e1a63b3d4fb9590f95c84814c74f97"
|
||||
"sha256": "36966ef1a38c521518aa98ef2bbe6b86a1dbff761eda4272d59682dbb8e8b441"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
|
@ -56,14 +56,41 @@
|
|||
"index": "pypi",
|
||||
"version": "==3.0.1"
|
||||
},
|
||||
"mysqlclient": {
|
||||
"psycopg2-binary": {
|
||||
"hashes": [
|
||||
"sha256:425e733b05e359a714d6007c0fc44582be66b63e5a3df0a50949274ae16f4bc6",
|
||||
"sha256:62e4770b6a797b9416bcf70488365b7d6b9c9066878108499c559293bb464380",
|
||||
"sha256:f257d250f2675d0ef99bd318906f3cfc05cef4a2f385ea695ff32a3f04b9f9a7"
|
||||
"sha256:19a2d1f3567b30f6c2bb3baea23f74f69d51f0c06c2e2082d0d9c28b0733a4c2",
|
||||
"sha256:2b69cf4b0fa2716fd977aa4e1fd39af6110eb47b2bb30b4e5a469d8fbecfc102",
|
||||
"sha256:2e952fa17ba48cbc2dc063ddeec37d7dc4ea0ef7db0ac1eda8906365a8543f31",
|
||||
"sha256:348b49dd737ff74cfb5e663e18cb069b44c64f77ec0523b5794efafbfa7df0b8",
|
||||
"sha256:3d72a5fdc5f00ca85160915eb9a973cf9a0ab8148f6eda40708bf672c55ac1d1",
|
||||
"sha256:4957452f7868f43f32c090dadb4188e9c74a4687323c87a882e943c2bd4780c3",
|
||||
"sha256:5138cec2ee1e53a671e11cc519505eb08aaaaf390c508f25b09605763d48de4b",
|
||||
"sha256:587098ca4fc46c95736459d171102336af12f0d415b3b865972a79c03f06259f",
|
||||
"sha256:5b79368bcdb1da4a05f931b62760bea0955ee2c81531d8e84625df2defd3f709",
|
||||
"sha256:5cf43807392247d9bc99737160da32d3fa619e0bfd85ba24d1c78db205f472a4",
|
||||
"sha256:676d1a80b1eebc0cacae8dd09b2fde24213173bf65650d22b038c5ed4039f392",
|
||||
"sha256:6b0211ecda389101a7d1d3df2eba0cf7ffbdd2480ca6f1d2257c7bd739e84110",
|
||||
"sha256:79cde4660de6f0bb523c229763bd8ad9a93ac6760b72c369cf1213955c430934",
|
||||
"sha256:7aba9786ac32c2a6d5fb446002ed936b47d5e1f10c466ef7e48f66eb9f9ebe3b",
|
||||
"sha256:7c8159352244e11bdd422226aa17651110b600d175220c451a9acf795e7414e0",
|
||||
"sha256:945f2eedf4fc6b2432697eb90bb98cc467de5147869e57405bfc31fa0b824741",
|
||||
"sha256:96b4e902cde37a7fc6ab306b3ac089a3949e6ce3d824eeca5b19dc0bedb9f6e2",
|
||||
"sha256:9a7bccb1212e63f309eb9fab47b6eaef796f59850f169a25695b248ca1bf681b",
|
||||
"sha256:a3bfcac727538ec11af304b5eccadbac952d4cca1a551a29b8fe554e3ad535dc",
|
||||
"sha256:b19e9f1b85c5d6136f5a0549abdc55dcbd63aba18b4f10d0d063eb65ef2c68b4",
|
||||
"sha256:b664011bb14ca1f2287c17185e222f2098f7b4c857961dbcf9badb28786dbbf4",
|
||||
"sha256:bde7959ef012b628868d69c474ec4920252656d0800835ed999ba5e4f57e3e2e",
|
||||
"sha256:cb095a0657d792c8de9f7c9a0452385a309dfb1bbbb3357d6b1e216353ade6ca",
|
||||
"sha256:d16d42a1b9772152c1fe606f679b2316551f7e1a1ce273e7f808e82a136cdb3d",
|
||||
"sha256:d444b1545430ffc1e7a24ce5a9be122ccd3b135a7b7e695c5862c5aff0b11159",
|
||||
"sha256:d93ccc7bf409ec0a23f2ac70977507e0b8a8d8c54e5ee46109af2f0ec9e411f3",
|
||||
"sha256:df6444f952ca849016902662e1a47abf4fa0678d75f92fd9dd27f20525f809cd",
|
||||
"sha256:e63850d8c52ba2b502662bf3c02603175c2397a9acc756090e444ce49508d41e",
|
||||
"sha256:ec43358c105794bc2b6fd34c68d27f92bea7102393c01889e93f4b6a70975728",
|
||||
"sha256:f4c6926d9c03dadce7a3b378b40d2fea912c1344ef9b29869f984fb3d2a2420b"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.4.2.post1"
|
||||
"version": "==2.7.7"
|
||||
},
|
||||
"pyjwt": {
|
||||
"hashes": [
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
# Generated by Django 2.1.7 on 2019-03-24 21:35
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('perks', '0002_auto_20190324_2033'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='perk',
|
||||
name='name',
|
||||
field=models.CharField(max_length=64),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='tree',
|
||||
name='name',
|
||||
field=models.CharField(max_length=64, unique=True),
|
||||
),
|
||||
]
|
|
@ -10,7 +10,7 @@ from django.db import models
|
|||
|
||||
|
||||
class Tree(models.Model):
|
||||
name = models.CharField(max_length=32, unique=True)
|
||||
name = models.CharField(max_length=64, unique=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
@ -20,7 +20,7 @@ class Tree(models.Model):
|
|||
|
||||
|
||||
class Perk(models.Model):
|
||||
name = models.CharField(max_length=32)
|
||||
name = models.CharField(max_length=64)
|
||||
effect = models.TextField()
|
||||
level = models.IntegerField()
|
||||
type = models.IntegerField()
|
||||
|
|
|
@ -49,7 +49,7 @@ class PerkParser():
|
|||
|
||||
def parse_perks(self):
|
||||
for p in self.perks:
|
||||
perk = self.create_perk(name=p['name'].strip(), effect=p['effect'].strip(), level=int(p['level']), type=0)
|
||||
perk = self.create_perk(name=p['name'].strip(), effect=p['effect'].strip(), level=int(p['level']), perk_type=0)
|
||||
for tree_name in p['tree'].split(','):
|
||||
try:
|
||||
tree = Tree.objects.get(name=tree_name)
|
||||
|
@ -59,8 +59,8 @@ class PerkParser():
|
|||
|
||||
p['id'] = Perk.objects.latest('id').id
|
||||
|
||||
def create_perk(self, name, effect='', level=1, type=4, trees=None):
|
||||
new_perk = Perk(name=name, effect=effect, level=level, type=type)
|
||||
def create_perk(self, name, effect='', level=1, perk_type=4, trees=None):
|
||||
new_perk = Perk(name=name, effect=effect, level=level, type=perk_type)
|
||||
new_perk.save()
|
||||
if trees is not None:
|
||||
new_perk.trees.add(*trees)
|
||||
|
@ -85,11 +85,11 @@ class PerkParser():
|
|||
|
||||
except Perk.DoesNotExist:
|
||||
if re.match(class_pattern, req_name):
|
||||
req = self.create_perk(name=req_name, level=0, type=1)
|
||||
req = self.create_perk(name=req_name, level=0, perk_type=1)
|
||||
elif re.match(race_pattern, req_name):
|
||||
req = self.create_perk(name=req_name, level=0, type=2)
|
||||
req = self.create_perk(name=req_name, level=0, perk_type=2)
|
||||
elif re.match(ability_pattern, req_name):
|
||||
req = self.create_perk(name=req_name, level=0, type=3)
|
||||
req = self.create_perk(name=req_name, level=0, perk_type=3)
|
||||
elif 'Skill Focus' in req_name or 'Ability Focus' in req_name:
|
||||
req_match = re.match(requirement_pattern, req_name)
|
||||
req_tree = Tree.objects.get(name=req_match.group(2))
|
||||
|
@ -97,9 +97,9 @@ class PerkParser():
|
|||
req_base_name = req_match.group(1)
|
||||
base_req = Perk.objects.get(name=req_base_name)
|
||||
|
||||
req = self.create_perk(name=req_name, effect=base_req.effect, level=base_req.level, type=base_req.type, trees=[req_tree])
|
||||
req = self.create_perk(name=req_name, effect=base_req.effect, level=base_req.level, perk_type=base_req.type, trees=[req_tree])
|
||||
else:
|
||||
req = self.create_perk(name=req_name, level=0, type=4)
|
||||
req = self.create_perk(name=req_name, level=0, perk_type=4)
|
||||
perk.parents.add(req)
|
||||
|
||||
def output_transform(self):
|
||||
|
|
|
@ -82,8 +82,9 @@ WSGI_APPLICATION = 'perktree.wsgi.application'
|
|||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': os.environ.get('DB_ENGINE', 'django.db.backends.sqlite3'),
|
||||
'NAME': os.path.join(BASE_DIR, os.environ.get('DB_NAME', 'db.sqlite3')) if ENV == 'dev' else os.environ.get('DB_NAME', ''),
|
||||
'USER': os.environ.get('DB_USER', ''),
|
||||
# 'NAME': os.path.join(BASE_DIR, os.environ.get('DB_NAME', 'db.sqlite3')) if ENV == 'dev' else os.environ.get('DB_NAME', ''),
|
||||
'NAME': os.environ.get('DB_NAME', 'perktree'),
|
||||
'USER': os.environ.get('DB_USER', 'root'),
|
||||
'PASSWORD': os.environ.get('DB_PASSWORD', ''),
|
||||
'HOST': os.environ.get('DB_HOST', ''),
|
||||
'PORT': os.environ.get('DB_PORT', ''),
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
version: "3"
|
||||
services:
|
||||
db:
|
||||
image: mariadb
|
||||
image: postgres:alpine
|
||||
container_name: perktree-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
||||
MYSQL_DATABASE: perktree
|
||||
POSTGRES_USER: root
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
POSTGRES_DB: perktree
|
||||
volumes:
|
||||
- /mnt/perktree/db:/var/lib/mysql
|
||||
- /mnt/perktree/db:/var/lib/postgresql/data
|
||||
|
||||
frontend:
|
||||
build:
|
||||
|
@ -35,12 +36,12 @@ services:
|
|||
DJANGO_ADMIN_MAIL: ${DJANGO_ADMIN_MAIL}
|
||||
DJANGO_ADMIN_PASS: ${DJANGO_ADMIN_PASS}
|
||||
APP_HOST: perktree.theedgeofrage.com
|
||||
DB_ENGINE: django.db.backends.mysql
|
||||
DB_ENGINE: django.db.backends.postgresql
|
||||
DB_NAME: perktree
|
||||
DB_USER: root
|
||||
DB_PASSWORD: ${DB_PASSWORD}
|
||||
DB_HOST: db
|
||||
DB_PORT: 3306
|
||||
DB_PORT: 5432
|
||||
PERKS_DIR: /app/static/perks
|
||||
links:
|
||||
- db
|
||||
|
|
Reference in New Issue