# Generated by Django 6.0 on 2026-01-11 04:53 import django.db.models.deletion from django.conf import settings from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ("products", "0006_alter_customorder_email_verification_token"), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name="Order", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "status", models.CharField( choices=[ ("created", "Created"), ("paid", "Paid"), ("failed", "Failed"), ], default="created", max_length=20, ), ), ("full_name", models.CharField(max_length=200)), ("email", models.EmailField(max_length=254)), ("phone", models.CharField(max_length=20)), ("address", models.TextField()), ("city", models.CharField(max_length=100)), ("pincode", models.CharField(max_length=10)), ("gst_number", models.CharField(blank=True, max_length=20, null=True)), ("subtotal", models.FloatField()), ("shipping_cost", models.FloatField()), ("total_weight", models.FloatField()), ("total_amount", models.FloatField()), ("created_at", models.DateTimeField(auto_now_add=True)), ], ), migrations.CreateModel( name="Cart", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("is_active", models.BooleanField(default=True)), ("created_at", models.DateTimeField(auto_now_add=True)), ( "user", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], ), migrations.CreateModel( name="CartItem", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("quantity", models.PositiveIntegerField(default=1)), ( "cart", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="items", to="orders.cart", ), ), ( "product", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to="products.product", ), ), ], ), migrations.CreateModel( name="OrderItem", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("product_name", models.CharField(max_length=200)), ("price", models.FloatField()), ("quantity", models.PositiveIntegerField()), ("weight_kg", models.FloatField()), ( "order", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="items", to="orders.order", ), ), ], ), migrations.CreateModel( name="PaymentOrder", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "order_type", models.CharField( choices=[ ("PRODUCT", "Product"), ("WORKSHOP", "Workshop"), ("EXPERIENCE", "Experience"), ("CUSTOM", "Custom"), ], max_length=20, ), ), ( "linked_object_id", models.PositiveIntegerField(blank=True, null=True), ), ("linked_app", models.CharField(blank=True, max_length=50)), ("amount", models.FloatField()), ( "status", models.CharField( choices=[ ("PENDING", "Pending"), ("PAID", "Paid"), ("FAILED", "Failed"), ], default="PENDING", max_length=20, ), ), ( "razorpay_order_id", models.CharField(blank=True, max_length=200, null=True), ), ("created_at", models.DateTimeField(auto_now_add=True)), ( "user", models.ForeignKey( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, ), ), ], ), migrations.CreateModel( name="Payment", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ( "razorpay_payment_id", models.CharField(blank=True, max_length=200, null=True), ), ("razorpay_signature", models.TextField(blank=True, null=True)), ("status", models.CharField(default="created", max_length=50)), ("created_at", models.DateTimeField(auto_now_add=True)), ( "payment_order", models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="payment", to="orders.paymentorder", ), ), ], ), migrations.AddField( model_name="order", name="payment_order", field=models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name="product_order", to="orders.paymentorder", ), ), migrations.CreateModel( name="Transaction", fields=[ ( "id", models.BigAutoField( auto_created=True, primary_key=True, serialize=False, verbose_name="ID", ), ), ("event", models.CharField(max_length=100)), ("response", models.JSONField()), ("created_at", models.DateTimeField(auto_now_add=True)), ( "payment", models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name="transactions", to="orders.payment", ), ), ], ), ]