From abfd6836406ed5efa2a4e359a2e8b86d3a71cac3 Mon Sep 17 00:00:00 2001 From: jebus Date: Tue, 9 Sep 2025 21:27:10 +1200 Subject: [PATCH] [Migration] Migration for Rule Based Modelling (#94) Co-authored-by: Tim Lorsbach Reviewed-on: https://git.envipath.com/enviPath/enviPy/pulls/94 --- ...er_mlrelativereasoning_options_and_more.py | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 epdb/migrations/0004_alter_mlrelativereasoning_options_and_more.py diff --git a/epdb/migrations/0004_alter_mlrelativereasoning_options_and_more.py b/epdb/migrations/0004_alter_mlrelativereasoning_options_and_more.py new file mode 100644 index 00000000..674a73dc --- /dev/null +++ b/epdb/migrations/0004_alter_mlrelativereasoning_options_and_more.py @@ -0,0 +1,55 @@ +# Generated by Django 5.2.1 on 2025-09-09 09:21 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('epdb', '0001_squashed_0003_applicabilitydomain_url_compound_url_and_more'), + ] + + operations = [ + migrations.AlterModelOptions( + name='mlrelativereasoning', + options={}, + ), + migrations.AlterField( + model_name='mlrelativereasoning', + name='data_packages', + field=models.ManyToManyField(related_name='%(app_label)s_%(class)s_data_packages', to='epdb.package', verbose_name='Data Packages'), + ), + migrations.AlterField( + model_name='mlrelativereasoning', + name='eval_packages', + field=models.ManyToManyField(related_name='%(app_label)s_%(class)s_eval_packages', to='epdb.package', verbose_name='Evaluation Packages'), + ), + migrations.AlterField( + model_name='mlrelativereasoning', + name='rule_packages', + field=models.ManyToManyField(related_name='%(app_label)s_%(class)s_rule_packages', to='epdb.package', verbose_name='Rule Packages'), + ), + migrations.CreateModel( + name='RuleBasedRelativeReasoning', + fields=[ + ('epmodel_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='epdb.epmodel')), + ('threshold', models.FloatField(default=0.5)), + ('eval_results', models.JSONField(blank=True, default=dict, null=True)), + ('model_status', models.CharField(choices=[('INITIAL', 'Initial'), ('INITIALIZING', 'Model is initializing.'), ('BUILDING', 'Model is building.'), ('BUILT_NOT_EVALUATED', 'Model is built and can be used for predictions, Model is not evaluated yet.'), ('EVALUATING', 'Model is evaluating'), ('FINISHED', 'Model has finished building and evaluation.'), ('ERROR', 'Model has failed.')], default='INITIAL')), + ('min_count', models.IntegerField(default=10)), + ('max_count', models.IntegerField(default=0)), + ('app_domain', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='epdb.applicabilitydomain')), + ('data_packages', models.ManyToManyField(related_name='%(app_label)s_%(class)s_data_packages', to='epdb.package', verbose_name='Data Packages')), + ('eval_packages', models.ManyToManyField(related_name='%(app_label)s_%(class)s_eval_packages', to='epdb.package', verbose_name='Evaluation Packages')), + ('rule_packages', models.ManyToManyField(related_name='%(app_label)s_%(class)s_rule_packages', to='epdb.package', verbose_name='Rule Packages')), + ], + options={ + 'abstract': False, + }, + bases=('epdb.epmodel',), + ), + migrations.DeleteModel( + name='RuleBaseRelativeReasoning', + ), + ]