diff --git a/.woodpecker.yml b/.woodpecker.yml index 2158cc5..cb39bdb 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -8,7 +8,6 @@ pipeline: - pip install virtualenv - make env - make lint - - make migrate - make test - make coverage diff --git a/dash/apps.py b/dash/apps.py index bf29acb..dfae380 100644 --- a/dash/apps.py +++ b/dash/apps.py @@ -18,8 +18,3 @@ from django.apps import AppConfig class DashConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "dash" - - def ready(self): - from .models import InstanceConfiguration - - InstanceConfiguration.create_default_configs() diff --git a/dash/migrations/0006_auto_20220619_0800.py b/dash/migrations/0006_auto_20220619_0800.py new file mode 100644 index 0000000..5e4b6c3 --- /dev/null +++ b/dash/migrations/0006_auto_20220619_0800.py @@ -0,0 +1,35 @@ +# Generated by Django 4.0.3 on 2022-06-19 08:00 + +from django.db import migrations +from django.db.utils import IntegrityError + +def create_default_configs(apps, schema_editor): + InstanceConfiguration = apps.get_model('dash', 'InstanceConfiguration') + + configs = [ + InstanceConfiguration(name="s1-2", rent=10, ram=2, cpu=1, storage=10), + InstanceConfiguration(name="s1-4", rent=20, ram=4, cpu=1, storage=20), + InstanceConfiguration(name="s1-8", rent=40, ram=8, cpu=2, storage=40), + ] + for config in configs: + print(f"[*] Saving configuration {config.name}") + try: + config.save() + except IntegrityError as db_error: + print(f"[!] Configuration {config.name} exists") + continue + except Exception as e: + print(f"[ERROR] {e}") + raise e + + + +class Migration(migrations.Migration): + + dependencies = [ + ('dash', '0005_alter_instance_owned_by'), + ] + + operations = [ + migrations.RunPython(create_default_configs) + ] diff --git a/dash/models.py b/dash/models.py index 70c32b0..27b9782 100644 --- a/dash/models.py +++ b/dash/models.py @@ -16,10 +16,8 @@ from django.db import models from django.contrib.auth.models import User from django.utils.http import urlencode -from django.db.utils import IntegrityError from django.urls import reverse - class InstanceConfiguration(models.Model): ID = models.AutoField(primary_key=True) name = models.CharField( @@ -43,23 +41,6 @@ class InstanceConfiguration(models.Model): created_at = models.DateTimeField(auto_now_add=True, blank=True) - @classmethod - def create_default_configs(cls: "InstanceConfiguration"): - configs = [ - cls(name="s1-2", rent=10, ram=2, cpu=1, storage=10), - cls(name="s1-4", rent=20, ram=4, cpu=1, storage=20), - cls(name="s1-8", rent=40, ram=8, cpu=2, storage=40), - ] - for config in configs: - print(f"[*] Saving configuration {config.name}") - try: - config.save() - except IntegrityError as db_error: - print(f"[!] Configuration {config.name} exists") - continue - except Exception as e: - print(f"[ERROR] {e}") - raise e def __str__(self): return f"{self.name}" diff --git a/dash/tests.py b/dash/tests.py index d3ebca3..895bded 100644 --- a/dash/tests.py +++ b/dash/tests.py @@ -21,7 +21,6 @@ from django.db.utils import IntegrityError from .models import InstanceConfiguration, Instance - def register_util(t: TestCase, username: str): t.password = "password121231" t.username = username @@ -133,9 +132,6 @@ class InstancesConfig(TestCase): ref: https://gitea.hostea.org/Hostea/july-mvp/issues/10#issuecomment-639 """ - - InstanceConfiguration.create_default_configs() - self.assertEqual( InstanceConfiguration.objects.filter( name="s1-2", rent=10, ram=2, cpu=1, storage=10