Skip to content

Commit

Permalink
add migrations
Browse files Browse the repository at this point in the history
  • Loading branch information
dori-dev committed Mar 24, 2023
1 parent 1dc41d8 commit cb72b0d
Show file tree
Hide file tree
Showing 27 changed files with 724 additions and 7 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
env/
__pycache__
db.sqlite3
migrations
*/media/users/
*/media/images/
*/media/profile.png.*
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ FROM hub.hamdocker.ir/library/python:3.8
ADD ./ ./
RUN pip3 install -r requirements.txt
WORKDIR /src/
ENTRYPOINT ["/bin/sh", "-c" , "python manage.py makemigrations && python manage.py migrate && gunicorn --bind 0.0.0.0:8000 --access-logfile - config.wsgi"]
ENTRYPOINT ["/bin/sh", "-c" , "python manage.py migrate && gunicorn --bind 0.0.0.0:8000 --access-logfile - config.wsgi"]
74 changes: 74 additions & 0 deletions src/account/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

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 django_jalali.db.models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='CustomUser',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('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')),
('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')),
('email', models.EmailField(blank=True, max_length=254, null=True, verbose_name='Email')),
('posts_count', models.IntegerField(db_index=True, default=0, verbose_name='Posts Count')),
],
options={
'verbose_name': 'Custom user',
'verbose_name_plural': 'Custom users',
'ordering': ('-posts_count',),
},
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')),
('date_of_birth', django_jalali.db.models.jDateField(blank=True, null=True, verbose_name='Date of birth')),
('photo', models.ImageField(blank=True, default='profile.png', upload_to='users/%Y/%m/%d/', validators=[account.models.check_image], verbose_name='Photo')),
('bio', models.CharField(blank=True, max_length=128, null=True, verbose_name='Biography')),
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'verbose_name': 'Profile',
'verbose_name_plural': 'Profiles',
},
),
migrations.CreateModel(
name='OTP',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('phone', models.CharField(max_length=15, verbose_name='Phone')),
('otp', models.PositiveIntegerField(blank=True, null=True, verbose_name='OTP')),
('created', models.DateTimeField(auto_now=True, verbose_name='Created')),
('user', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'verbose_name': 'OTP',
'verbose_name_plural': 'OTP',
},
),
]
33 changes: 33 additions & 0 deletions src/account/migrations/0002_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
('account', '0001_initial'),
('contact', '0001_initial'),
('auth', '0012_alter_user_first_name_max_length'),
]

operations = [
migrations.AddField(
model_name='customuser',
name='following',
field=models.ManyToManyField(related_name='followers', through='contact.Contact', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='customuser',
name='groups',
field=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'),
),
migrations.AddField(
model_name='customuser',
name='user_permissions',
field=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'),
),
]
Empty file.
34 changes: 34 additions & 0 deletions src/action/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

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


class Migration(migrations.Migration):

initial = True

dependencies = [
('contenttypes', '0002_remove_content_type_name'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name='Action',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('verb', models.CharField(max_length=256, verbose_name='Verb')),
('created', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Created')),
('target_id', models.PositiveIntegerField(blank=True, db_index=True, null=True, verbose_name='Target id')),
('target_ct', models.ForeignKey(blank=True, limit_choices_to=models.Q(models.Q(('app_label', 'post'), ('model', 'post')), models.Q(('app_label', 'account'), ('model', 'profile')), models.Q(('app_label', 'contact'), ('model', 'contact')), _connector='OR'), null=True, on_delete=django.db.models.deletion.CASCADE, related_name='actions', to='contenttypes.contenttype', verbose_name='Target ct')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='actions', to=settings.AUTH_USER_MODEL, verbose_name='User')),
],
options={
'verbose_name': 'Action',
'verbose_name_plural': 'Actions',
'ordering': ('-created',),
},
),
]
Empty file.
28 changes: 28 additions & 0 deletions src/comment/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

from django.db import migrations, models


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Comment',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('is_reply', models.BooleanField(default=False, verbose_name='Is reply')),
('body', models.TextField(max_length=512, verbose_name='Body')),
('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')),
],
options={
'verbose_name': 'Comment',
'verbose_name_plural': 'Comments',
'ordering': ('-created',),
},
),
]
34 changes: 34 additions & 0 deletions src/comment/migrations/0002_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

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


class Migration(migrations.Migration):

initial = True

dependencies = [
('post', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('comment', '0001_initial'),
]

operations = [
migrations.AddField(
model_name='comment',
name='post',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to='post.post', verbose_name='Post'),
),
migrations.AddField(
model_name='comment',
name='reply',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='replies', to='comment.comment', verbose_name='Reply'),
),
migrations.AddField(
model_name='comment',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='comments', to=settings.AUTH_USER_MODEL, verbose_name='User'),
),
]
Empty file.
32 changes: 32 additions & 0 deletions src/contact/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_jalali.db.models


class Migration(migrations.Migration):

initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
]

operations = [
migrations.CreateModel(
name='Contact',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('created', django_jalali.db.models.jDateField(auto_now_add=True, db_index=True, verbose_name='Created')),
('user_from', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='following_set', to=settings.AUTH_USER_MODEL, verbose_name='User from')),
('user_to', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='followers_set', to=settings.AUTH_USER_MODEL, verbose_name='User to')),
],
options={
'verbose_name': 'Contact',
'verbose_name_plural': 'Contacts',
'ordering': ('-created',),
},
),
]
Empty file.
7 changes: 2 additions & 5 deletions src/contact/models.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
from django.db import models
from django.contrib.auth import get_user_model
from django.utils.translation import gettext_lazy as _
from django_jalali.db import models as jalali_models

User = get_user_model()


class Contact(models.Model):
user_from = models.ForeignKey(
User,
"account.CustomUser",
related_name='following_set',
on_delete=models.CASCADE,
verbose_name=_('User from'),
)
user_to = models.ForeignKey(
User,
"account.CustomUser",
related_name='followers_set',
on_delete=models.CASCADE,
verbose_name=_('User to'),
Expand Down
49 changes: 49 additions & 0 deletions src/post/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Generated by Django 4.1.5 on 2023-03-24 09:50

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django_jalali.db.models
import post.models
import taggit.managers


class Migration(migrations.Migration):

initial = True

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('taggit', '0005_auto_20220424_2025'),
]

operations = [
migrations.CreateModel(
name='Post',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.SlugField(blank=True, max_length=8, verbose_name='Slug')),
('image', models.ImageField(upload_to='images/%Y/%m/%d/', validators=[post.models.check_image], verbose_name='Image')),
('description', models.TextField(blank=True, null=True, verbose_name='Description')),
('created', django_jalali.db.models.jDateField(auto_now_add=True, db_index=True, verbose_name='Created')),
('total_likes', models.PositiveBigIntegerField(db_index=True, default=0, verbose_name='Total likes')),
('related_posts', models.ManyToManyField(blank=True, to='post.post', verbose_name='Related posts')),
('tags', taggit.managers.TaggableManager(blank=True, help_text='A comma-separated list of tags.', through='taggit.TaggedItem', to='taggit.Tag', verbose_name='Tags')),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='posts', to=settings.AUTH_USER_MODEL, verbose_name='User')),
('users_like', models.ManyToManyField(blank=True, related_name='posts_liked', to=settings.AUTH_USER_MODEL, verbose_name='Users like')),
],
options={
'verbose_name': 'Post',
'verbose_name_plural': 'Posts',
'ordering': ('-total_likes',),
},
),
migrations.AddIndex(
model_name='post',
index=models.Index(fields=['slug'], name='slug_idx'),
),
migrations.AddIndex(
model_name='post',
index=models.Index(fields=['created'], name='created_idx'),
),
]
Empty file added src/post/migrations/__init__.py
Empty file.
Loading

0 comments on commit cb72b0d

Please sign in to comment.