You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
drugs/core/migrations/0002_action_dosage_drug_ent...

163 lines
8.8 KiB
Python

# Generated by Django 4.2.8 on 2024-01-01 17:37
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='Action',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('site', models.CharField(choices=[('5HT2C', '5-HT2C'), ('5HT2A', '5-HT2A'), ('GABAB', 'GABAB'), ('NMDA', 'NMDA')], max_length=255)),
('mechanism', models.CharField(choices=[('AGONISM', 'Agonism'), ('ANTAGONISM', 'Antagomism'), ('MODULATION', 'Modulation')], max_length=255)),
('affinity', models.IntegerField(blank=True)),
('reversible', models.BooleanField(blank=True, null=True)),
],
),
migrations.CreateModel(
name='Dosage',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('unit', models.CharField(choices=[('mg', 'mg'), ('g', 'g'), ('ug', 'ug')], max_length=255)),
('threshold', models.IntegerField()),
('light', models.IntegerField()),
('common', models.IntegerField()),
('strong', models.IntegerField()),
('heavy', models.IntegerField()),
],
),
migrations.CreateModel(
name='Drug',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('drug_class', models.CharField(max_length=255)),
('common_name', models.CharField(max_length=1024, unique=True)),
('actions', models.ManyToManyField(to='core.action')),
('dosages', models.ManyToManyField(to='core.dosage')),
],
),
migrations.CreateModel(
name='Entry',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('slug', models.CharField(blank=True, max_length=1024, null=True)),
('author', models.CharField(blank=True, max_length=255, null=True)),
('description', models.CharField(blank=True, max_length=1024, null=True)),
],
),
migrations.CreateModel(
name='SEI',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('type', models.CharField(choices=[('PHYSICAL', 'Physical'), ('COGNITIVE', 'Cognitive'), ('VISUAL', 'Visual'), ('AUDITORY', 'Auditory'), ('MULTISENSORY', 'Multi-sensory'), ('TRANSPERSONAL', 'Transpersonal')], default='PHYSICAL', max_length=255)),
('subtype', models.CharField(choices=[('ENTACTOGENIC', 'Entactogenic (touch-enhancing)'), ('ENTHEOGENIC', 'Entheogenic (spirituality-enhancing)'), ('PSYCHEDELIC', 'Psychedelic (mind-manifesting)'), ('DISSOCIATIVE', 'Dissociative'), ('HALLUCINOGENIC', 'Hallucinogenic (hallucination-inducing)'), ('DELIRIANT', 'Deliriant'), ('PSYCHOTOMIMETIC', 'Psychotomimetic (psychosis-inducing)'), ('STIMULATING', 'Stimulating'), ('SEDATING', 'Sedating'), ('DEPRESSANT', 'Depressant'), ('EUPHORIC', 'Euphoric'), ('ANXIOLYTIC', 'Anxiolytic'), ('ANTIPSYCHOTIC', 'Antipsychotic'), ('PSYCHOSTIMULANT', 'Psychostimulant'), ('EUGEROIC', 'Eugeroic (wakefulness-promoting)'), ('NOOTROPIC', 'Nootropic')], max_length=255)),
('description', models.CharField(blank=True, max_length=4096, null=True)),
],
),
migrations.CreateModel(
name='Source',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, unique=True)),
('type', models.CharField(choices=[('PSITE', 'Professional pharmaceutical data repository'), ('DWIKI', 'Dedicated peer-reviewed community wiki'), ('CWIKI', 'Peer-reviewed community wiki'), ('WIKI', 'Private wiki'), ('DFORUM', 'Dedicated community forum'), ('FORUM', 'Community forum')], max_length=255)),
('endpoint', models.CharField(blank=True, max_length=1024, null=True)),
('score', models.IntegerField(blank=True)),
],
),
migrations.CreateModel(
name='Timing',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('unit', models.CharField(choices=[('SECONDS', 'Seconds'), ('MINUTES', 'Minutes'), ('HOURS', 'Hours'), ('DAYS', 'Days :D'), ('WEEKS', 'Weeks :O'), ('MONTHS', 'Months :-|'), ('YEARS', 'Years x_X')], default='HOURS', max_length=255)),
('onset', models.IntegerField()),
('comeup', models.IntegerField()),
('peak', models.IntegerField()),
('offset', models.IntegerField(blank=True, null=True)),
('total', models.IntegerField()),
('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry')),
],
),
migrations.CreateModel(
name='ExperienceDose',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('seconds_since_start', models.IntegerField()),
('dose', models.IntegerField()),
('dose_per_kg', models.IntegerField()),
('unit', models.CharField(choices=[('mg', 'mg'), ('g', 'g'), ('ug', 'ug')], max_length=255)),
('roa', models.CharField(max_length=255)),
('form', models.CharField(max_length=255)),
('drug', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.drug')),
],
),
migrations.CreateModel(
name='Experience',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('body_weight_kg', models.IntegerField(blank=True, null=True)),
('year_of_experience', models.IntegerField(blank=True, null=True)),
('gender', models.CharField(blank=True, max_length=255, null=True)),
('age_at_experience', models.IntegerField(blank=True, null=True)),
('date_published', models.DateTimeField(blank=True, null=True)),
('views', models.IntegerField(blank=True, null=True)),
('date_crawled', models.DateTimeField(blank=True, null=True)),
('tags', models.CharField(blank=True, max_length=255, null=True)),
('experience_id', models.IntegerField(blank=True, null=True)),
('text', models.TextField()),
('doses', models.ManyToManyField(to='core.experiencedose')),
('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry')),
],
),
migrations.AddField(
model_name='entry',
name='source',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.source'),
),
migrations.CreateModel(
name='Effect',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry')),
('subjective_effects', models.ManyToManyField(to='core.sei')),
],
),
migrations.AddField(
model_name='drug',
name='effects',
field=models.ManyToManyField(to='core.effect'),
),
migrations.AddField(
model_name='drug',
name='experiences',
field=models.ManyToManyField(to='core.experience'),
),
migrations.AddField(
model_name='drug',
name='links',
field=models.ManyToManyField(to='core.entry'),
),
migrations.AddField(
model_name='drug',
name='timings',
field=models.ManyToManyField(to='core.timing'),
),
migrations.AddField(
model_name='dosage',
name='entry',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry'),
),
migrations.AddField(
model_name='action',
name='entry',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry'),
),
]