158 lines
7.9 KiB
Python
158 lines
7.9 KiB
Python
|
# Generated by Django 3.2 on 2021-07-31 20:44
|
||
|
|
||
|
from django.conf import settings
|
||
|
import django.core.validators
|
||
|
from django.db import migrations, models
|
||
|
import django.db.models.deletion
|
||
|
import shimatta_modules.RandomFileName
|
||
|
import uuid
|
||
|
|
||
|
|
||
|
class Migration(migrations.Migration):
|
||
|
|
||
|
initial = True
|
||
|
|
||
|
dependencies = [
|
||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||
|
]
|
||
|
|
||
|
operations = [
|
||
|
migrations.CreateModel(
|
||
|
name='ComponentParameterType',
|
||
|
fields=[
|
||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('parameter_name', models.CharField(max_length=50, unique=True)),
|
||
|
('parameter_description', models.TextField(blank=True, null=True)),
|
||
|
('unit', models.CharField(max_length=10)),
|
||
|
('freetext_parameter', models.BooleanField()),
|
||
|
('engineering_unit', models.BooleanField()),
|
||
|
('it_unit', models.BooleanField()),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['parameter_name'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Distributor',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('name', models.CharField(max_length=100, unique=True)),
|
||
|
('website', models.CharField(blank=True, max_length=200, null=True)),
|
||
|
('image', models.ImageField(blank=True, null=True, upload_to=shimatta_modules.RandomFileName.RandomFileName('distributor-logos'))),
|
||
|
('component_link_pattern', models.CharField(blank=True, max_length=255, null=True)),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['name'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Manufacturer',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('name', models.CharField(max_length=100, unique=True)),
|
||
|
('website', models.CharField(blank=True, max_length=200, null=True)),
|
||
|
('image', models.ImageField(blank=True, null=True, upload_to=shimatta_modules.RandomFileName.RandomFileName('manufacturer-images'))),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['name'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Package',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('name', models.CharField(max_length=50, unique=True)),
|
||
|
('pin_count', models.PositiveIntegerField()),
|
||
|
('smd', models.BooleanField()),
|
||
|
('image', models.ImageField(blank=True, null=True, upload_to=shimatta_modules.RandomFileName.RandomFileName('package-images'))),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['name'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Storage',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('name', models.CharField(max_length=100, validators=[django.core.validators.RegexValidator('^[^/]*$', 'Slashes are not allowed in storage names')])),
|
||
|
('parent_storage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='parts.storage')),
|
||
|
('responsible', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['name'],
|
||
|
'unique_together': {('name', 'parent_storage')},
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='ComponentType',
|
||
|
fields=[
|
||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||
|
('class_name', models.CharField(max_length=50, unique=True)),
|
||
|
('passive', models.BooleanField()),
|
||
|
('possible_parameter', models.ManyToManyField(to='parts.ComponentParameterType')),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['class_name'],
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Component',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('name', models.CharField(max_length=100)),
|
||
|
('description', models.TextField(blank=True, null=True)),
|
||
|
('datasheet_link', models.CharField(blank=True, max_length=300, null=True)),
|
||
|
('image', models.ImageField(blank=True, null=True, upload_to=shimatta_modules.RandomFileName.RandomFileName('component-images'))),
|
||
|
('component_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='parts.componenttype')),
|
||
|
('manufacturer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='parts.manufacturer')),
|
||
|
('package', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='parts.package')),
|
||
|
('pref_distri', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='parts.distributor')),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['name', 'manufacturer'],
|
||
|
'unique_together': {('name', 'manufacturer', 'package')},
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='Stock',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('amount', models.PositiveIntegerField()),
|
||
|
('watermark', models.IntegerField()),
|
||
|
('component', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='parts.component')),
|
||
|
('storage', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='parts.storage')),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['id'],
|
||
|
'unique_together': {('component', 'storage')},
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='DistributorNum',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('distributor_part_number', models.CharField(max_length=100)),
|
||
|
('component', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parts.component')),
|
||
|
('distributor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parts.distributor')),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['distributor_part_number'],
|
||
|
'unique_together': {('component', 'distributor')},
|
||
|
},
|
||
|
),
|
||
|
migrations.CreateModel(
|
||
|
name='ComponentParameter',
|
||
|
fields=[
|
||
|
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, unique=True)),
|
||
|
('value', models.FloatField()),
|
||
|
('text_value', models.TextField(blank=True, null=True)),
|
||
|
('component', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parts.component')),
|
||
|
('parameter_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='parts.componentparametertype')),
|
||
|
],
|
||
|
options={
|
||
|
'ordering': ['id'],
|
||
|
'unique_together': {('component', 'parameter_type')},
|
||
|
},
|
||
|
),
|
||
|
]
|