Self-hostable website analytics on Django: a straightforward collector API, dashboards, a world map, and PDF reports.
analyticsdjangodockerhandcodedpythonself-hostedsqliteviteweb-analytics
1# Generated by Django 4.0.4 on 2022-05-29 02:56
2
3from django.conf import settings
4from django.db import migrations, models
5import django.db.models.deletion
6import uuid
7
8
9class Migration(migrations.Migration):
10
11 initial = True
12
13 dependencies = [
14 migrations.swappable_dependency(settings.AUTH_USER_MODEL),
15 ]
16
17 operations = [
18 migrations.CreateModel(
19 name='Property',
20 fields=[
21 ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)),
22 ('name', models.CharField(max_length=255)),
23 ('custom_cards', models.JSONField(default=list)),
24 ('created_at', models.DateTimeField(auto_now_add=True)),
25 ('updated_at', models.DateTimeField(auto_now=True)),
26 ('is_protected', models.BooleanField(default=False, editable=False)),
27 ('is_public', models.BooleanField(default=False, editable=False)),
28 ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='properties', to=settings.AUTH_USER_MODEL)),
29 ],
30 options={
31 'verbose_name': 'Property',
32 'verbose_name_plural': 'Properties',
33 },
34 ),
35 migrations.CreateModel(
36 name='Event',
37 fields=[
38 ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
39 ('created_at', models.DateTimeField(auto_now_add=True)),
40 ('event', models.CharField(editable=False, max_length=255)),
41 ('data', models.JSONField(editable=False)),
42 ('property', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, related_name='events', to='properties.property')),
43 ],
44 ),
45 migrations.AddIndex(
46 model_name='event',
47 index=models.Index(fields=['created_at'], name='properties__created_074434_idx'),
48 ),
49 ]