191 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Python
		
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
from __future__ import unicode_literals
 | 
						|
 | 
						|
from django.db import migrations, models
 | 
						|
from django.conf import settings
 | 
						|
import django.utils.timezone
 | 
						|
 | 
						|
 | 
						|
class Migration(migrations.Migration):
 | 
						|
 | 
						|
    dependencies = [migrations.swappable_dependency(settings.AUTH_USER_MODEL)]
 | 
						|
 | 
						|
    operations = [
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="Album",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                ("mbid", models.UUIDField(editable=False, blank=True, null=True)),
 | 
						|
                (
 | 
						|
                    "creation_date",
 | 
						|
                    models.DateTimeField(default=django.utils.timezone.now),
 | 
						|
                ),
 | 
						|
                ("title", models.CharField(max_length=255)),
 | 
						|
                ("release_date", models.DateField()),
 | 
						|
                (
 | 
						|
                    "type",
 | 
						|
                    models.CharField(
 | 
						|
                        default="album", choices=[("album", "Album")], max_length=30
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
            ],
 | 
						|
            options={"abstract": False},
 | 
						|
        ),
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="Artist",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                ("mbid", models.UUIDField(editable=False, blank=True, null=True)),
 | 
						|
                (
 | 
						|
                    "creation_date",
 | 
						|
                    models.DateTimeField(default=django.utils.timezone.now),
 | 
						|
                ),
 | 
						|
                ("name", models.CharField(max_length=255)),
 | 
						|
            ],
 | 
						|
            options={"abstract": False},
 | 
						|
        ),
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="ImportBatch",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                (
 | 
						|
                    "creation_date",
 | 
						|
                    models.DateTimeField(default=django.utils.timezone.now),
 | 
						|
                ),
 | 
						|
                (
 | 
						|
                    "submitted_by",
 | 
						|
                    models.ForeignKey(
 | 
						|
                        related_name="imports",
 | 
						|
                        to=settings.AUTH_USER_MODEL,
 | 
						|
                        on_delete=models.CASCADE,
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
            ],
 | 
						|
        ),
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="ImportJob",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                ("source", models.URLField()),
 | 
						|
                ("mbid", models.UUIDField(editable=False)),
 | 
						|
                (
 | 
						|
                    "status",
 | 
						|
                    models.CharField(
 | 
						|
                        default="pending",
 | 
						|
                        choices=[("pending", "Pending"), ("finished", "finished")],
 | 
						|
                        max_length=30,
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                (
 | 
						|
                    "batch",
 | 
						|
                    models.ForeignKey(
 | 
						|
                        related_name="jobs",
 | 
						|
                        to="music.ImportBatch",
 | 
						|
                        on_delete=models.CASCADE,
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
            ],
 | 
						|
        ),
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="Track",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                ("mbid", models.UUIDField(editable=False, blank=True, null=True)),
 | 
						|
                (
 | 
						|
                    "creation_date",
 | 
						|
                    models.DateTimeField(default=django.utils.timezone.now),
 | 
						|
                ),
 | 
						|
                ("title", models.CharField(max_length=255)),
 | 
						|
                (
 | 
						|
                    "album",
 | 
						|
                    models.ForeignKey(
 | 
						|
                        related_name="tracks",
 | 
						|
                        blank=True,
 | 
						|
                        null=True,
 | 
						|
                        to="music.Album",
 | 
						|
                        on_delete=models.CASCADE,
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                (
 | 
						|
                    "artist",
 | 
						|
                    models.ForeignKey(
 | 
						|
                        related_name="tracks",
 | 
						|
                        to="music.Artist",
 | 
						|
                        on_delete=models.CASCADE,
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
            ],
 | 
						|
            options={"abstract": False},
 | 
						|
        ),
 | 
						|
        migrations.CreateModel(
 | 
						|
            name="TrackFile",
 | 
						|
            fields=[
 | 
						|
                (
 | 
						|
                    "id",
 | 
						|
                    models.AutoField(
 | 
						|
                        primary_key=True,
 | 
						|
                        auto_created=True,
 | 
						|
                        serialize=False,
 | 
						|
                        verbose_name="ID",
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
                ("audio_file", models.FileField(upload_to="tracks")),
 | 
						|
                ("source", models.URLField(blank=True, null=True)),
 | 
						|
                ("duration", models.IntegerField(blank=True, null=True)),
 | 
						|
                (
 | 
						|
                    "track",
 | 
						|
                    models.ForeignKey(
 | 
						|
                        related_name="files", to="music.Track", on_delete=models.CASCADE
 | 
						|
                    ),
 | 
						|
                ),
 | 
						|
            ],
 | 
						|
        ),
 | 
						|
        migrations.AddField(
 | 
						|
            model_name="album",
 | 
						|
            name="artist",
 | 
						|
            field=models.ForeignKey(
 | 
						|
                related_name="albums", to="music.Artist", on_delete=models.CASCADE
 | 
						|
            ),
 | 
						|
        ),
 | 
						|
    ]
 |