# Generated by Django 5.2.1 on 2026-07-02 05:00

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):
    initial = True

    dependencies = [
        ("basic", "0001_initial"),
        ("user", "0002_parent_email_parent_firstname_parent_lastname_and_more"),
    ]

    operations = [
        migrations.CreateModel(
            name="Currency",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("symbol", models.TextField(blank=True, null=True)),
                ("code", models.TextField(blank=True, null=True)),
                ("isEnabled", models.BooleanField(default=False)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name="OrderStatus",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name="PaymentMethod",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("isEnabled", models.BooleanField(default=False)),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name="Product",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("isDigital", models.BooleanField(default=False)),
                ("isFree", models.BooleanField(default=False)),
                ("isVisible", models.BooleanField(default=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name="SellerShippingCost",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
            ],
        ),
        migrations.CreateModel(
            name="Collection",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "collectionId",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="collecion_subcollection",
                        to="shop.collection",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="CollectionLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "collectionId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="collection_collectionlanguage",
                        to="shop.collection",
                    ),
                ),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_collectionlanguage",
                        to="basic.language",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="CurrencyLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "currencyId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="currency_currencylanguage",
                        to="shop.currency",
                    ),
                ),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_currencylanguage",
                        to="basic.language",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="OrderStatusLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_orderstatuslanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "orderStatusId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="orderstatus_orderstatuslanguage",
                        to="shop.orderstatus",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Order",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("delivery", models.FloatField(blank=True, null=True)),
                ("tax", models.FloatField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "orderStatusId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="orderstatus_order",
                        to="shop.orderstatus",
                    ),
                ),
                (
                    "paymentMethodId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="paymentmethod_order",
                        to="shop.paymentmethod",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="PaymentMethodLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_paymentmethodlanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "paymentMethodId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="paymentmethod_paymentmethodlanguage",
                        to="shop.paymentmethod",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductCollection",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "collectionId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="collection_productcollection",
                        to="shop.collection",
                    ),
                ),
                (
                    "productId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="product_productcollection",
                        to="shop.product",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("description", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_productlanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "productId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="product_productlanguage",
                        to="shop.product",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductOption",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "productId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="product_productoption",
                        to="shop.product",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductOptionLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_productoptionlanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "productOptionId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="productoption_productoptionlanguage",
                        to="shop.productoption",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductOptionValue",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("value", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "productOptionId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="productoption_productoptionvalue",
                        to="shop.productoption",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ProductOptionValueLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_productoptionvaluelanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "productOptionValueId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="productoptionvalue_productoptionvaluelanguage",
                        to="shop.productoptionvalue",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ShippingAddress",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("phone", models.TextField()),
                ("country", models.TextField()),
                ("city", models.TextField()),
                ("address", models.TextField()),
                ("postCode", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "orderId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="order_shippingaddress",
                        to="shop.order",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ShoppingAccount",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("isSelected", models.BooleanField(default=False)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "parentId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="parent_shoppingaccount",
                        to="user.parent",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="order",
            name="shoppingAccountId",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="shoppingaccount_order",
                to="shop.shoppingaccount",
            ),
        ),
        migrations.CreateModel(
            name="AddressBook",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("phone", models.TextField()),
                ("country", models.TextField()),
                ("city", models.TextField()),
                ("address", models.TextField()),
                ("postCode", models.TextField(blank=True, null=True)),
                ("isSelected", models.BooleanField(default=False)),
                (
                    "shoppingAccountId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="shoppingaccount_addressbook",
                        to="shop.shoppingaccount",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="SKU",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("serial", models.TextField(blank=True, null=True)),
                ("stock", models.IntegerField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "productId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="product_sku",
                        to="shop.product",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="OrderItem",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("pricePerItem", models.FloatField(blank=True, null=True)),
                (
                    "originalPricePerItem",
                    models.FloatField(blank=True, default=0.0, null=True),
                ),
                ("shippingCost", models.FloatField(default=0.0)),
                ("quantity", models.IntegerField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "currencyId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="currency_orderitem",
                        to="shop.currency",
                    ),
                ),
                (
                    "orderId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="order_orderitem",
                        to="shop.order",
                    ),
                ),
                (
                    "skuId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sku_orderitem",
                        to="shop.sku",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Cart",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("quantity", models.IntegerField(default=1)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "shoppingAccountId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="shoppingaccount_cart",
                        to="shop.shoppingaccount",
                    ),
                ),
                (
                    "skuId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sku_cart",
                        to="shop.sku",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="SKUImage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("imageUrl", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "skuId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sku_skuimage",
                        to="shop.sku",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="SKUOptionValue",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "productOptionValueId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="productoptionvalue_skuoptionvalue",
                        to="shop.productoptionvalue",
                    ),
                ),
                (
                    "skuId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sku_skuoptionvalue",
                        to="shop.sku",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="SKUPrice",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("salePrice", models.FloatField(blank=True, null=True)),
                ("originalPrice", models.FloatField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "currencyId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="currency_skuprice",
                        to="shop.currency",
                    ),
                ),
                (
                    "skuId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sku_skuprice",
                        to="shop.sku",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ShippingCost",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("isFreeShipping", models.BooleanField(default=False)),
                ("minDeliveryDays", models.IntegerField(blank=True, null=True)),
                ("maxDeliveryDays", models.IntegerField(blank=True, null=True)),
                ("cost", models.FloatField(default=0.0)),
                ("defaultCost", models.FloatField(default=0.0)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "sellerShippingCostId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="sellershippingcost_shippingcost",
                        to="shop.sellershippingcost",
                    ),
                ),
                (
                    "skuPriceId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="skuprice_shippingcost",
                        to="shop.skuprice",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="Store",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("keyName", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "currencyId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="currency_store",
                        to="shop.currency",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="shoppingaccount",
            name="storeId",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="store_shoppingaccount",
                to="shop.store",
            ),
        ),
        migrations.AddField(
            model_name="order",
            name="storeId",
            field=models.ForeignKey(
                on_delete=django.db.models.deletion.CASCADE,
                related_name="store_order",
                to="shop.store",
            ),
        ),
        migrations.CreateModel(
            name="StoreCollection",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "collectionId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="collection_storecollection",
                        to="shop.collection",
                    ),
                ),
                (
                    "storeId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="store_storecollection",
                        to="shop.store",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="StoreLanguage",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.TextField(blank=True, null=True)),
                ("createdDate", models.DateTimeField(blank=True, null=True)),
                ("updatedDate", models.DateTimeField(blank=True, null=True)),
                (
                    "languageId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="language_storelanguage",
                        to="basic.language",
                    ),
                ),
                (
                    "storeId",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="store_storelanguage",
                        to="shop.store",
                    ),
                ),
            ],
        ),
    ]
