If you send Track data from the Jellyfin Webhook plugin, we'll do the right thing with it. Lots more to do to clean this up, but it also involved moduralizing the code for scrobbling so it's a little simpler to understand what's going on.
157 lines
5.0 KiB
Python
157 lines
5.0 KiB
Python
# Generated by Django 4.1.5 on 2023-01-07 19:37
|
|
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
import django_extensions.db.fields
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = []
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Album',
|
|
fields=[
|
|
(
|
|
'id',
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name='ID',
|
|
),
|
|
),
|
|
(
|
|
'created',
|
|
django_extensions.db.fields.CreationDateTimeField(
|
|
auto_now_add=True, verbose_name='created'
|
|
),
|
|
),
|
|
(
|
|
'modified',
|
|
django_extensions.db.fields.ModificationDateTimeField(
|
|
auto_now=True, verbose_name='modified'
|
|
),
|
|
),
|
|
('name', models.CharField(max_length=255)),
|
|
('year', models.IntegerField()),
|
|
(
|
|
'musicbrainz_id',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
(
|
|
'musicbrainz_releasegroup_id',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
(
|
|
'musicbrainz_albumartist_id',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
],
|
|
options={
|
|
'get_latest_by': 'modified',
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Artist',
|
|
fields=[
|
|
(
|
|
'id',
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name='ID',
|
|
),
|
|
),
|
|
(
|
|
'created',
|
|
django_extensions.db.fields.CreationDateTimeField(
|
|
auto_now_add=True, verbose_name='created'
|
|
),
|
|
),
|
|
(
|
|
'modified',
|
|
django_extensions.db.fields.ModificationDateTimeField(
|
|
auto_now=True, verbose_name='modified'
|
|
),
|
|
),
|
|
('name', models.CharField(max_length=255)),
|
|
(
|
|
'musicbrainz_id',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
],
|
|
options={
|
|
'get_latest_by': 'modified',
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Track',
|
|
fields=[
|
|
(
|
|
'id',
|
|
models.BigAutoField(
|
|
auto_created=True,
|
|
primary_key=True,
|
|
serialize=False,
|
|
verbose_name='ID',
|
|
),
|
|
),
|
|
(
|
|
'created',
|
|
django_extensions.db.fields.CreationDateTimeField(
|
|
auto_now_add=True, verbose_name='created'
|
|
),
|
|
),
|
|
(
|
|
'modified',
|
|
django_extensions.db.fields.ModificationDateTimeField(
|
|
auto_now=True, verbose_name='modified'
|
|
),
|
|
),
|
|
(
|
|
'title',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
(
|
|
'musicbrainz_id',
|
|
models.CharField(blank=True, max_length=255, null=True),
|
|
),
|
|
(
|
|
'run_time',
|
|
models.CharField(blank=True, max_length=8, null=True),
|
|
),
|
|
(
|
|
'run_time_ticks',
|
|
models.PositiveBigIntegerField(blank=True, null=True),
|
|
),
|
|
(
|
|
'album',
|
|
models.ForeignKey(
|
|
blank=True,
|
|
null=True,
|
|
on_delete=django.db.models.deletion.DO_NOTHING,
|
|
to='music.album',
|
|
),
|
|
),
|
|
(
|
|
'artist',
|
|
models.ForeignKey(
|
|
on_delete=django.db.models.deletion.DO_NOTHING,
|
|
to='music.artist',
|
|
),
|
|
),
|
|
],
|
|
options={
|
|
'get_latest_by': 'modified',
|
|
'abstract': False,
|
|
},
|
|
),
|
|
]
|