Loading resources/management/commands/convertproperty.pydeleted 100644 → 0 +0 −72 Original line number Diff line number Diff line from django.core.management.base import BaseCommand from django.db import connection from resources.models import ( Project, Role, Permission, Collection, Resource, File, Metadata, MetadataSet, MetadataCollectionValue, MetadataResourceValue, Tag, ProjectAccess, ) from django.contrib.auth.models import User """ - Add field project to collection - Add field project to file - Add field project to metadata - Add field project to metadataset - Add field ptr_project to resource - Add field project to tag """ class Command(BaseCommand): def handle(self, *args, **options): for user in User.objects.all(): project, created = Project.objects.get_or_create( label="{} main project".format(user.username) ) admin_role, created = Role.objects.get_or_create( label="admin", project=project ) project_access, created = ProjectAccess.objects.get_or_create( project=project, role=admin_role, user=user ) with connection.cursor() as cursor: cursor.execute( "UPDATE resources_collection set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_file set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadata set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadataset set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_resource set ptr_project_id = {} where ptr_owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_tag set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) resources/migrations/0014_auto_20210915_2024.py +175 −46 Original line number Diff line number Diff line Loading @@ -3,99 +3,228 @@ from django.conf import settings from django.db import migrations, models import django.db.models.deletion from django.contrib.auth.models import User from django.db import connection from resources.models import ( Project, Role, ProjectAccess, ) def migrate_property(): for user in User.objects.all(): project, created = Project.objects.get_or_create( label="{} main project".format(user.username) ) admin_role, created = Role.objects.get_or_create(label="admin", project=project) project_access, created = ProjectAccess.objects.get_or_create( project=project, role=admin_role, user=user ) with connection.cursor() as cursor: cursor.execute( "UPDATE resources_collection set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_file set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadata set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadataset set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_resource set ptr_project_id = {} where ptr_owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_tag set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('resources', '0013_collection_is_oai_record'), ("resources", "0013_collection_is_oai_record"), ] operations = [ migrations.CreateModel( name='Permission', name="Permission", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField(unique=True)), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField(unique=True)), ], ), migrations.CreateModel( name='Project', name="Project", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField()), ('description', models.TextField()), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField()), ("description", models.TextField()), ], ), migrations.CreateModel( name='Role', name="Role", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField()), ('permissions', models.ManyToManyField(to='resources.Permission')), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.project')), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField()), ("permissions", models.ManyToManyField(to="resources.Permission")), ( "project", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), ], options={ 'unique_together': {('label', 'project')}, "unique_together": {("label", "project")}, }, ), migrations.AddField( model_name='collection', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="collection", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='file', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="file", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='metadata', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="metadata", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='metadataset', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="metadataset", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='resource', name='ptr_project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="resource", name="ptr_project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='tag', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="tag", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AlterUniqueTogether( name='file', unique_together={('owner', 'hash'), ('project', 'hash')}, name="file", unique_together={("owner", "hash"), ("project", "hash")}, ), migrations.AlterUniqueTogether( name='metadata', unique_together={('title', 'set', 'owner'), ('title', 'set', 'project')}, name="metadata", unique_together={("title", "set", "owner"), ("title", "set", "project")}, ), migrations.AlterUniqueTogether( name='metadataset', unique_together={('title', 'project'), ('title', 'owner')}, name="metadataset", unique_together={("title", "project"), ("title", "owner")}, ), migrations.AlterUniqueTogether( name='tag', unique_together={('uid', 'project'), ('uid', 'owner')}, name="tag", unique_together={("uid", "project"), ("uid", "owner")}, ), migrations.CreateModel( name='ProjectAccess', name="ProjectAccess", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.project')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.role')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "project", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), ( "role", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.role" ), ), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], options={ 'unique_together': {('project', 'user', 'role')}, "unique_together": {("project", "user", "role")}, }, ), migrations.RunPython(migrate_property), ] Loading
resources/management/commands/convertproperty.pydeleted 100644 → 0 +0 −72 Original line number Diff line number Diff line from django.core.management.base import BaseCommand from django.db import connection from resources.models import ( Project, Role, Permission, Collection, Resource, File, Metadata, MetadataSet, MetadataCollectionValue, MetadataResourceValue, Tag, ProjectAccess, ) from django.contrib.auth.models import User """ - Add field project to collection - Add field project to file - Add field project to metadata - Add field project to metadataset - Add field ptr_project to resource - Add field project to tag """ class Command(BaseCommand): def handle(self, *args, **options): for user in User.objects.all(): project, created = Project.objects.get_or_create( label="{} main project".format(user.username) ) admin_role, created = Role.objects.get_or_create( label="admin", project=project ) project_access, created = ProjectAccess.objects.get_or_create( project=project, role=admin_role, user=user ) with connection.cursor() as cursor: cursor.execute( "UPDATE resources_collection set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_file set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadata set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadataset set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_resource set ptr_project_id = {} where ptr_owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_tag set project_id = {} where owner_id = {}".format( project.pk, user.pk ) )
resources/migrations/0014_auto_20210915_2024.py +175 −46 Original line number Diff line number Diff line Loading @@ -3,99 +3,228 @@ from django.conf import settings from django.db import migrations, models import django.db.models.deletion from django.contrib.auth.models import User from django.db import connection from resources.models import ( Project, Role, ProjectAccess, ) def migrate_property(): for user in User.objects.all(): project, created = Project.objects.get_or_create( label="{} main project".format(user.username) ) admin_role, created = Role.objects.get_or_create(label="admin", project=project) project_access, created = ProjectAccess.objects.get_or_create( project=project, role=admin_role, user=user ) with connection.cursor() as cursor: cursor.execute( "UPDATE resources_collection set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_file set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadata set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_metadataset set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_resource set ptr_project_id = {} where ptr_owner_id = {}".format( project.pk, user.pk ) ) cursor.execute( "UPDATE resources_tag set project_id = {} where owner_id = {}".format( project.pk, user.pk ) ) class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('resources', '0013_collection_is_oai_record'), ("resources", "0013_collection_is_oai_record"), ] operations = [ migrations.CreateModel( name='Permission', name="Permission", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField(unique=True)), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField(unique=True)), ], ), migrations.CreateModel( name='Project', name="Project", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField()), ('description', models.TextField()), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField()), ("description", models.TextField()), ], ), migrations.CreateModel( name='Role', name="Role", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.TextField()), ('permissions', models.ManyToManyField(to='resources.Permission')), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.project')), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("label", models.TextField()), ("permissions", models.ManyToManyField(to="resources.Permission")), ( "project", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), ], options={ 'unique_together': {('label', 'project')}, "unique_together": {("label", "project")}, }, ), migrations.AddField( model_name='collection', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="collection", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='file', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="file", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='metadata', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="metadata", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='metadataset', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="metadataset", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='resource', name='ptr_project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="resource", name="ptr_project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AddField( model_name='tag', name='project', field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='resources.project'), model_name="tag", name="project", field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), migrations.AlterUniqueTogether( name='file', unique_together={('owner', 'hash'), ('project', 'hash')}, name="file", unique_together={("owner", "hash"), ("project", "hash")}, ), migrations.AlterUniqueTogether( name='metadata', unique_together={('title', 'set', 'owner'), ('title', 'set', 'project')}, name="metadata", unique_together={("title", "set", "owner"), ("title", "set", "project")}, ), migrations.AlterUniqueTogether( name='metadataset', unique_together={('title', 'project'), ('title', 'owner')}, name="metadataset", unique_together={("title", "project"), ("title", "owner")}, ), migrations.AlterUniqueTogether( name='tag', unique_together={('uid', 'project'), ('uid', 'owner')}, name="tag", unique_together={("uid", "project"), ("uid", "owner")}, ), migrations.CreateModel( name='ProjectAccess', name="ProjectAccess", fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.project')), ('role', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='resources.role')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ( "id", models.AutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "project", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.project", ), ), ( "role", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="resources.role" ), ), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], options={ 'unique_together': {('project', 'user', 'role')}, "unique_together": {("project", "user", "role")}, }, ), migrations.RunPython(migrate_property), ]