# Generated by Django 5.2.7 on 2026-02-02 06:51 import django.db.models.deletion from django.db import migrations, models class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Category', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name_en', models.CharField(max_length=100, verbose_name='Name (English)')), ('name_ar', models.CharField(max_length=100, verbose_name='Name (Arabic)')), ('slug', models.SlugField(unique=True)), ], options={ 'verbose_name_plural': 'Categories', }, ), migrations.CreateModel( name='Customer', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('phone', models.CharField(blank=True, max_length=20, verbose_name='Phone')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='Email')), ('address', models.TextField(blank=True, verbose_name='Address')), ], ), migrations.CreateModel( name='Supplier', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=200, verbose_name='Name')), ('contact_person', models.CharField(blank=True, max_length=200, verbose_name='Contact Person')), ('phone', models.CharField(blank=True, max_length=20, verbose_name='Phone')), ], ), migrations.CreateModel( name='Product', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name_en', models.CharField(max_length=200, verbose_name='Name (English)')), ('name_ar', models.CharField(max_length=200, verbose_name='Name (Arabic)')), ('sku', models.CharField(max_length=50, unique=True, verbose_name='SKU')), ('description', models.TextField(blank=True, verbose_name='Description')), ('price', models.DecimalField(decimal_places=2, max_digits=10, verbose_name='Price')), ('stock_quantity', models.PositiveIntegerField(default=0, verbose_name='Stock Quantity')), ('image', models.URLField(blank=True, null=True, verbose_name='Product Image')), ('created_at', models.DateTimeField(auto_now_add=True)), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='products', to='core.category')), ], ), migrations.CreateModel( name='Sale', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('total_amount', models.DecimalField(decimal_places=2, max_digits=12)), ('discount', models.DecimalField(decimal_places=2, default=0, max_digits=12)), ('created_at', models.DateTimeField(auto_now_add=True)), ('customer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.customer')), ], ), migrations.CreateModel( name='SaleItem', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('quantity', models.PositiveIntegerField()), ('unit_price', models.DecimalField(decimal_places=2, max_digits=10)), ('line_total', models.DecimalField(decimal_places=2, max_digits=12)), ('product', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.product')), ('sale', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='items', to='core.sale')), ], ), migrations.CreateModel( name='Purchase', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('total_amount', models.DecimalField(decimal_places=2, max_digits=12)), ('created_at', models.DateTimeField(auto_now_add=True)), ('supplier', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='core.supplier')), ], ), ]