| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- # Generated by Django 5.2.6 on 2026-06-11 10:56
- import django.core.validators
- import django.db.models.deletion
- from django.db import migrations, models
- class Migration(migrations.Migration):
- initial = True
- dependencies = [
- ]
- operations = [
- migrations.CreateModel(
- name='Genre',
- fields=[
- ('genre_id', models.AutoField(primary_key=True, serialize=False)),
- ('genre_name', models.CharField(max_length=50, unique=True)),
- ],
- options={
- 'verbose_name': 'Жанр',
- 'verbose_name_plural': 'Жанры',
- 'db_table': 'genre',
- },
- ),
- migrations.CreateModel(
- name='Meloman',
- fields=[
- ('meloman_id', models.AutoField(primary_key=True, serialize=False)),
- ('full_name', models.CharField(max_length=150)),
- ('gender', models.CharField(blank=True, choices=[('M', 'Мужской'), ('F', 'Женский')], max_length=1, null=True)),
- ('city', models.CharField(blank=True, max_length=100, null=True)),
- ('birth_year', models.IntegerField(blank=True, null=True)),
- ],
- options={
- 'verbose_name': 'Меломан',
- 'verbose_name_plural': 'Меломанцы',
- 'db_table': 'meloman',
- },
- ),
- migrations.CreateModel(
- name='Musician',
- fields=[
- ('musician_id', models.AutoField(primary_key=True, serialize=False)),
- ('name', models.CharField(max_length=100, verbose_name='Имя исполнителя')),
- ('city', models.CharField(blank=True, max_length=100, null=True)),
- ('birth_year', models.IntegerField(blank=True, null=True)),
- ],
- options={
- 'verbose_name': 'Исполнитель',
- 'verbose_name_plural': 'Исполнители',
- 'db_table': 'musician',
- },
- ),
- migrations.CreateModel(
- name='Album',
- fields=[
- ('album_id', models.AutoField(primary_key=True, serialize=False)),
- ('album_name', models.CharField(max_length=150)),
- ('release_date', models.DateField(blank=True, null=True)),
- ('musician', models.ForeignKey(db_column='musician_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.musician')),
- ],
- options={
- 'verbose_name': 'Альбом',
- 'verbose_name_plural': 'Альбомы',
- 'db_table': 'album',
- },
- ),
- migrations.CreateModel(
- name='Preference',
- fields=[
- ('preference_id', models.AutoField(primary_key=True, serialize=False)),
- ('genre', models.ForeignKey(db_column='genre_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.genre')),
- ('meloman', models.ForeignKey(db_column='meloman_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.meloman')),
- ],
- options={
- 'verbose_name': 'Предпочтение',
- 'verbose_name_plural': 'Предпочтения',
- 'db_table': 'preference',
- },
- ),
- migrations.CreateModel(
- name='Song',
- fields=[
- ('song_id', models.AutoField(primary_key=True, serialize=False)),
- ('title', models.CharField(max_length=150)),
- ('duration_sec', models.IntegerField(blank=True, null=True, validators=[django.core.validators.MinValueValidator(1)])),
- ('album', models.ForeignKey(db_column='album_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.album')),
- ('genre', models.ForeignKey(db_column='genre_id', null=True, on_delete=django.db.models.deletion.SET_NULL, to='mysite.genre')),
- ],
- options={
- 'verbose_name': 'Песня',
- 'verbose_name_plural': 'Песни',
- 'db_table': 'song',
- },
- ),
- migrations.CreateModel(
- name='Rating',
- fields=[
- ('rating_id', models.AutoField(primary_key=True, serialize=False)),
- ('score', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(10)])),
- ('rating_date', models.DateField(auto_now_add=True)),
- ('meloman', models.ForeignKey(db_column='meloman_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.meloman')),
- ('song', models.ForeignKey(db_column='song_id', on_delete=django.db.models.deletion.CASCADE, to='mysite.song')),
- ],
- options={
- 'verbose_name': 'Оценка',
- 'verbose_name_plural': 'Оценки',
- 'db_table': 'rating',
- },
- ),
- migrations.AddIndex(
- model_name='album',
- index=models.Index(fields=['musician'], name='idx_album_musician'),
- ),
- migrations.AlterUniqueTogether(
- name='preference',
- unique_together={('meloman', 'genre')},
- ),
- migrations.AddIndex(
- model_name='song',
- index=models.Index(fields=['album'], name='idx_song_album'),
- ),
- migrations.AddIndex(
- model_name='song',
- index=models.Index(fields=['genre'], name='idx_song_genre'),
- ),
- migrations.AlterUniqueTogether(
- name='rating',
- unique_together={('meloman', 'song')},
- ),
- ]
|