Created migrations

This commit is contained in:
Kristofers Solo 2023-06-29 23:08:30 +00:00
parent dedd240e00
commit 4cd81de8ed
3 changed files with 176 additions and 2 deletions

View File

@ -35,9 +35,9 @@ DEBUG = config["DEBUG"]
# Application definition # Application definition
INSTALLED_APPS = [ INSTALLED_APPS = [
"main",
"account",
"fossdb", "fossdb",
"account",
"main",
"search_views", "search_views",
"tailwind", "tailwind",
"tokyonight_night", "tokyonight_night",

View File

@ -0,0 +1,56 @@
# Generated by Django 4.2.2 on 2023-06-29 23:07
import account.models
from django.conf import settings
import django.contrib.auth.models
import django.contrib.auth.validators
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
('auth', '0012_alter_user_first_name_max_length'),
]
operations = [
migrations.CreateModel(
name='User',
fields=[
('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
('email', models.EmailField(blank=True, max_length=254, verbose_name='email address')),
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='ID')),
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups')),
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions')),
],
options={
'verbose_name': 'user',
'verbose_name_plural': 'users',
'abstract': False,
},
managers=[
('objects', django.contrib.auth.models.UserManager()),
],
),
migrations.CreateModel(
name='Profile',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('picture', models.ImageField(default='profile-pics/default.jpg', upload_to=account.models.get_profile_pic_path)),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -0,0 +1,118 @@
# Generated by Django 4.2.2 on 2023-06-29 23:07
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import uuid
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]
operations = [
migrations.CreateModel(
name='HostingPlatform',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100, unique=True)),
],
),
migrations.CreateModel(
name='License',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('short_name', models.CharField(db_index=True, max_length=50, unique=True)),
('full_name', models.CharField(db_index=True, max_length=100, unique=True)),
('url', models.URLField(blank=True, default='')),
('text', models.TextField(blank=True, default='')),
],
),
migrations.CreateModel(
name='OperatingSystem',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(db_index=True, max_length=100, unique=True)),
('description', models.TextField(blank=True, default='')),
('is_linux', models.BooleanField(blank=True, default=False)),
],
),
migrations.CreateModel(
name='OperatingSystemVersion',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('version', models.CharField(blank=True, default='', max_length=50)),
('codename', models.CharField(blank=True, default='', max_length=100)),
('is_lts', models.BooleanField(blank=True, default=False)),
('operating_system', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.operatingsystem')),
],
),
migrations.CreateModel(
name='ProgrammingLanguage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(db_index=True, max_length=100, unique=True)),
],
),
migrations.CreateModel(
name='Project',
fields=[
('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(db_index=True, max_length=255)),
('description', models.TextField(blank=True, default='')),
('date_created', models.DateTimeField(auto_now_add=True)),
('license', models.ManyToManyField(blank=True, to='fossdb.license')),
('operating_system', models.ManyToManyField(blank=True, to='fossdb.operatingsystemversion')),
('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
],
),
migrations.CreateModel(
name='Tag',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(db_index=True, max_length=100, unique=True)),
('description', models.TextField(blank=True, default='')),
('icon', models.ImageField(blank=True, null=True, upload_to='tags/icons/')),
],
),
migrations.CreateModel(
name='ProjectProgrammingLanguage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('percentage', models.PositiveIntegerField(blank=True, default=0)),
('programming_language', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.programminglanguage')),
('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.project')),
],
),
migrations.CreateModel(
name='ProjectHostingPlatform',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('url', models.URLField(unique=True)),
('hosting_platform', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='fossdb.hostingplatform')),
('project', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='fossdb.project')),
],
),
migrations.AddField(
model_name='project',
name='programming_language',
field=models.ManyToManyField(blank=True, through='fossdb.ProjectProgrammingLanguage', to='fossdb.programminglanguage'),
),
migrations.AddField(
model_name='project',
name='tag',
field=models.ManyToManyField(blank=True, to='fossdb.tag'),
),
migrations.AddConstraint(
model_name='project',
constraint=models.UniqueConstraint(fields=('owner', 'name'), name='unique_owner_name'),
),
migrations.AddConstraint(
model_name='operatingsystemversion',
constraint=models.UniqueConstraint(fields=('operating_system', 'version'), name='unique_os_version'),
),
]