from django.conf import settings from django.db import migrations, models import django.db.models.deletion import uuid class Migration(migrations.Migration): dependencies = [ ("workspaces", "0001_initial"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="WorkspaceUserRate", fields=[ ("id", models.UUIDField(default=uuid.uuid7, primary_key=True, serialize=False)), ("created_at", models.DateTimeField(auto_now_add=True)), ("updated_at", models.DateTimeField(auto_now=True)), ("deleted_at", models.DateTimeField(blank=True, null=True)), ("is_deleted", models.BooleanField(default=False)), ("is_active", models.BooleanField(default=False)), ( "created_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="created_workspaces_workspaceuserrate_set", to=settings.AUTH_USER_MODEL, ), ), ( "updated_by", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name="updated_workspaces_workspaceuserrate_set", to=settings.AUTH_USER_MODEL, ), ), ("hourly_rate", models.DecimalField(decimal_places=2, max_digits=10)), ("currency", models.CharField(default="USD", max_length=3)), ("effective_from", models.DateTimeField()), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="workspace_rates", to=settings.AUTH_USER_MODEL, ), ), ( "workspace", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="user_rates", to="workspaces.workspace", ), ), ], options={ "db_table": "workspace_user_rate", "ordering": ("-effective_from",), }, ), migrations.AddIndex( model_name="workspaceuserrate", index=models.Index(fields=["id"], name="workspaceuserrate_id_idx"), ), migrations.AddIndex( model_name="workspaceuserrate", index=models.Index(fields=["workspace"], name="wur_workspace_idx"), ), migrations.AddIndex( model_name="workspaceuserrate", index=models.Index(fields=["user"], name="wur_user_idx"), ), migrations.AddConstraint( model_name="workspaceuserrate", constraint=models.UniqueConstraint( condition=models.Q(("is_deleted", False)), fields=("workspace", "user"), name="unique_workspace_user_rate", ), ), ]