diff --git a/services/webapp/code/rosetta/core_app/migrations/0001_initial.py b/services/webapp/code/rosetta/core_app/migrations/0001_initial.py index 40576cfe7d6fff636d5e54635247760854c6d60e..b6bec6df9217769f7c461b9131375082247e4259 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0001_initial.py +++ b/services/webapp/code/rosetta/core_app/migrations/0001_initial.py @@ -1,12 +1,16 @@ # Generated by Django 2.2.1 on 2020-05-28 15:12 from django.conf import settings -import django.contrib.postgres.fields.jsonb from django.db import migrations, models import django.db.models.deletion import django.utils.timezone import uuid +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -68,7 +72,7 @@ class Migration(migrations.Migration): ('auth_user', models.CharField(blank=True, max_length=36, null=True, verbose_name='Task auth user')), ('auth_pass', models.CharField(blank=True, max_length=36, null=True, verbose_name='Task auth pass')), ('access_method', models.CharField(blank=True, max_length=36, null=True, verbose_name='Task access method')), - ('computing_options', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)), + ('computing_options', JSONField(blank=True, null=True)), ('computing', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='core_app.Computing')), ('container', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='core_app.Container')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)), @@ -108,7 +112,7 @@ class Migration(migrations.Migration): name='ComputingUserConf', fields=[ ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), - ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)), + ('data', JSONField(blank=True, null=True)), ('computing', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='core_app.Computing')), ('user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)), ], @@ -117,7 +121,7 @@ class Migration(migrations.Migration): name='ComputingSysConf', fields=[ ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), - ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)), + ('data', JSONField(blank=True, null=True)), ('computing', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='+', to='core_app.Computing')), ], ), diff --git a/services/webapp/code/rosetta/core_app/migrations/0007_auto_20211103_1228.py b/services/webapp/code/rosetta/core_app/migrations/0007_auto_20211103_1228.py index ad56e41ccfb7a4a48f4cc8e9c8c2c2393be88db8..be72fb048e3487994f944d54c309ee4de034ec1a 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0007_auto_20211103_1228.py +++ b/services/webapp/code/rosetta/core_app/migrations/0007_auto_20211103_1228.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-03 12:28 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations, models +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -34,7 +39,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='task', name='computing_options', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True, verbose_name='Task computing options'), + field=JSONField(blank=True, null=True, verbose_name='Task computing options'), ), migrations.AlterField( model_name='task', diff --git a/services/webapp/code/rosetta/core_app/migrations/0009_auto_20211103_2256.py b/services/webapp/code/rosetta/core_app/migrations/0009_auto_20211103_2256.py index 70021dabd0d63c243ad20c708cd449c8a1fdd8ff..a879dc3b79c597a6425b64b3ce53b1b300ea4862 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0009_auto_20211103_2256.py +++ b/services/webapp/code/rosetta/core_app/migrations/0009_auto_20211103_2256.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-03 22:56 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations, models +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -114,7 +119,7 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='task', name='computing_options', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True, verbose_name='Computing options'), + field=JSONField(blank=True, null=True, verbose_name='Computing options'), ), migrations.AlterField( model_name='task', diff --git a/services/webapp/code/rosetta/core_app/migrations/0011_storage.py b/services/webapp/code/rosetta/core_app/migrations/0011_storage.py index 78c16668fbc2cb049be2b54cd121cbad9aba55af..a29e6ed38db9c10c8dfe55a48ce4d1ecbcf48d5c 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0011_storage.py +++ b/services/webapp/code/rosetta/core_app/migrations/0011_storage.py @@ -1,11 +1,15 @@ # Generated by Django 2.2.1 on 2021-11-08 14:45 from django.conf import settings -import django.contrib.postgres.fields.jsonb from django.db import migrations, models import django.db.models.deletion import uuid +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -26,7 +30,7 @@ class Migration(migrations.Migration): ('base_path', models.CharField(max_length=4096, verbose_name='Base path')), ('bind_path', models.CharField(max_length=4096, verbose_name='Bind path')), ('access_through_computing', models.BooleanField(default=False, verbose_name='Access through linked computing resource?')), - ('config', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)), + ('config', JSONField(blank=True, null=True)), ('computing', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='storages', to='core_app.Computing')), ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='+', to=settings.AUTH_USER_MODEL)), ], diff --git a/services/webapp/code/rosetta/core_app/migrations/0013_auto_20211108_1529.py b/services/webapp/code/rosetta/core_app/migrations/0013_auto_20211108_1529.py index 10d1fbb181ee8891a40f0e7faea4a6955196740a..3286556dda1df56beff13d511bcf27892e01266f 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0013_auto_20211108_1529.py +++ b/services/webapp/code/rosetta/core_app/migrations/0013_auto_20211108_1529.py @@ -1,10 +1,15 @@ # Generated by Django 2.2.1 on 2021-11-08 15:29 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations, models import django.db.models.deletion import uuid +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -17,7 +22,7 @@ class Migration(migrations.Migration): name='ComputingConf', fields=[ ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), - ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True)), + ('data', JSONField(blank=True, null=True)), ], ), migrations.RemoveField( diff --git a/services/webapp/code/rosetta/core_app/migrations/0015_auto_20211108_1639.py b/services/webapp/code/rosetta/core_app/migrations/0015_auto_20211108_1639.py index e2a20f7630972948900aba1e1379bf741e756221..b5219fec6141a48813d3308e3ba39753e427f986 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0015_auto_20211108_1639.py +++ b/services/webapp/code/rosetta/core_app/migrations/0015_auto_20211108_1639.py @@ -1,10 +1,14 @@ # Generated by Django 2.2.1 on 2021-11-08 16:39 from django.conf import settings -import django.contrib.postgres.fields.jsonb from django.db import migrations, models import django.db.models.deletion +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -30,7 +34,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='computing', name='conf', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True), + field=JSONField(blank=True, null=True), ), migrations.AddField( model_name='computing', diff --git a/services/webapp/code/rosetta/core_app/migrations/0016_profile_extra_conf.py b/services/webapp/code/rosetta/core_app/migrations/0016_profile_extra_conf.py index 0c6a1a9adecfd2c1cdc7aebe7bab215830e8f411..6aed2af93a86fcb4afc10c7f092c7d533ff5a05e 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0016_profile_extra_conf.py +++ b/services/webapp/code/rosetta/core_app/migrations/0016_profile_extra_conf.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-08 17:53 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -14,6 +19,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='profile', name='extra_conf', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True), + field=JSONField(blank=True, null=True), ), ] diff --git a/services/webapp/code/rosetta/core_app/migrations/0023_auto_20211121_1342.py b/services/webapp/code/rosetta/core_app/migrations/0023_auto_20211121_1342.py index dcde2e0c7b6059129e10bed3cd7d9c7de556481a..640a474392bef851c6074939e9f2a901c85374b8 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0023_auto_20211121_1342.py +++ b/services/webapp/code/rosetta/core_app/migrations/0023_auto_20211121_1342.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-21 13:42 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -18,7 +23,7 @@ class Migration(migrations.Migration): migrations.AddField( model_name='computing', name='container_runtimes', - field=django.contrib.postgres.fields.jsonb.JSONField(default=['docker'], verbose_name='Container runtimes'), + field=JSONField(default=['docker'], verbose_name='Container runtimes'), preserve_default=False, ), ] diff --git a/services/webapp/code/rosetta/core_app/migrations/0024_computing_emulated_archs.py b/services/webapp/code/rosetta/core_app/migrations/0024_computing_emulated_archs.py index 0add854a817e3e9de8d0bec98ffb379c5cd4af18..e913761cb9e3999983c0544adff76ddd33588535 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0024_computing_emulated_archs.py +++ b/services/webapp/code/rosetta/core_app/migrations/0024_computing_emulated_archs.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-21 13:42 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -14,6 +19,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='computing', name='emulated_archs', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True, verbose_name='Emulated architectures'), + field=JSONField(blank=True, null=True, verbose_name='Emulated architectures'), ), ] diff --git a/services/webapp/code/rosetta/core_app/migrations/0027_computing_supported_archs.py b/services/webapp/code/rosetta/core_app/migrations/0027_computing_supported_archs.py index cb6ee53a3d36f7ea3e8270d5c013d2e7d120bbb2..477bcd862c64bdbe748b0c86071457617f3ba03b 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0027_computing_supported_archs.py +++ b/services/webapp/code/rosetta/core_app/migrations/0027_computing_supported_archs.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-11-24 00:25 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -14,6 +19,6 @@ class Migration(migrations.Migration): migrations.AddField( model_name='computing', name='supported_archs', - field=django.contrib.postgres.fields.jsonb.JSONField(blank=True, null=True, verbose_name='Supported architectures'), + field=JSONField(blank=True, null=True, verbose_name='Supported architectures'), ), ] diff --git a/services/webapp/code/rosetta/core_app/migrations/0030_auto_20211218_2355.py b/services/webapp/code/rosetta/core_app/migrations/0030_auto_20211218_2355.py index 13b707a10c7288bb288bd1636ef61fbd0b7a9271..0612c91ace4505b0580f124486123d12876d152e 100644 --- a/services/webapp/code/rosetta/core_app/migrations/0030_auto_20211218_2355.py +++ b/services/webapp/code/rosetta/core_app/migrations/0030_auto_20211218_2355.py @@ -1,8 +1,13 @@ # Generated by Django 2.2.1 on 2021-12-18 23:55 -import django.contrib.postgres.fields.jsonb +from django.conf import settings from django.db import migrations +# Load database-dependent JSON field +if 'sqlite' in settings.DATABASES['default']['ENGINE']: + from rosetta.core_app.fields import JSONField +else: + from django.contrib.postgres.fields import JSONField class Migration(migrations.Migration): @@ -14,6 +19,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='computing', name='container_engines', - field=django.contrib.postgres.fields.jsonb.JSONField(verbose_name='Container engines/runtimes'), + field=JSONField(verbose_name='Container engines/runtimes'), ), ] diff --git a/services/webapp/code/rosetta/core_app/tests/test_models.py b/services/webapp/code/rosetta/core_app/tests/test_models.py index 508ff70901119a82f4766c29e1591b2f32b79801..5fc304ac6cc3b707728e8337274fcbe3d6579928 100644 --- a/services/webapp/code/rosetta/core_app/tests/test_models.py +++ b/services/webapp/code/rosetta/core_app/tests/test_models.py @@ -3,7 +3,7 @@ import json from django.contrib.auth.models import User from .common import BaseAPITestCase -from ..models import Profile, Computing, ComputingConf +from ..models import Profile, Computing class Modeltest(BaseAPITestCase): @@ -22,8 +22,5 @@ class Modeltest(BaseAPITestCase): computing = Computing.objects.create(name='MyComp', type='remote') - computingSysConf = ComputingConf.objects.create(computing=computing, data={'myvar':42}) - - self.assertEqual(ComputingConf.objects.all()[0].data, {'myvar':42})