# -*- coding: utf-8 -*-
# Generated by Django 1.11.18 on 2019-02-22 14:15
from __future__ import unicode_literals

import datetime
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Account',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('opened', models.DateField(default=datetime.date.today)),
                ('closed', models.DateField(blank=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Action',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('follows', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Action')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Allocation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('opened', models.DateField()),
                ('used', models.DateField(blank=True)),
                ('closed', models.DateField(blank=True)),
                ('size', models.DecimalField(decimal_places=2, max_digits=16)),
                ('available', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('end_state', models.CharField(choices=[('fill', 'Filling'), ('rdy', 'Ready'), ('clr', 'Cleared'), ('cmt', 'Committed')], default='fill', max_length=4)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Allotment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('account', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='allotments', to='intrepid.Account')),
            ],
        ),
        migrations.CreateModel(
            name='Budget',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('start', models.DateField()),
                ('end', models.DateField()),
                ('follows', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Budget')),
                ('master', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parts', to='intrepid.Budget')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Capacity',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Currency',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('rate', models.FloatField(default=1)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Deposit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('account', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='deposits', to='intrepid.Account')),
            ],
        ),
        migrations.CreateModel(
            name='Expense',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('stable', models.BooleanField(default=False)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='External',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Goal',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('icmp', 'Incomplete'), ('fail', 'Failure'), ('succ', 'Success'), ('upgr', 'Upgraded'), ('obst', 'Obsoleted'), ('abnd', 'Abandoned')], default='icmp', max_length=4)),
                ('follows', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Goal')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Income',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('stable', models.BooleanField(default=False)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Line',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Note',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='_note_notes_+', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Objective',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('icmp', 'Incomplete'), ('fail', 'Failure'), ('succ', 'Success'), ('upgr', 'Upgraded'), ('obst', 'Obsoleted'), ('abnd', 'Abandoned')], default='icmp', max_length=4)),
                ('goal', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='objectives', to='intrepid.Goal')),
                ('notes', models.ManyToManyField(blank=True, related_name='objectives', to='intrepid.Note')),
                ('precedes', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='follows', to='intrepid.Objective')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='other_objectives', to='intrepid.Goal')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Payment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
                ('expense', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='payments', to='intrepid.Expense')),
                ('notes', models.ManyToManyField(blank=True, related_name='payments', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Phase',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='phases', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Plan',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='plans', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Pool',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('size', models.DecimalField(decimal_places=2, max_digits=16)),
                ('available', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('accounts', models.ManyToManyField(blank=True, related_name='pools', through='intrepid.Allotment', to='intrepid.Account')),
                ('notes', models.ManyToManyField(blank=True, related_name='pools', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='partitions', to='intrepid.Pool')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Position',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='positions', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('definition', models.TextField(blank=True)),
                ('url', models.URLField(blank=True, max_length=255)),
                ('upload', models.FileField(blank=True, upload_to=b'')),
                ('attached_to', models.ManyToManyField(blank=True, related_name='attached_products', to='intrepid.Note')),
                ('notes', models.ManyToManyField(blank=True, related_name='products', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='products', to='intrepid.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Project',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='projects', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='projects', to='intrepid.Objective')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='contributors', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Receipt',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
                ('destinations', models.ManyToManyField(related_name='receipts', through='intrepid.Deposit', to='intrepid.Account')),
                ('income', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to='intrepid.Income')),
                ('notes', models.ManyToManyField(blank=True, related_name='receipts', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Resource',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('definition', models.TextField(blank=True)),
                ('url', models.URLField(blank=True, max_length=255)),
                ('upload', models.FileField(blank=True, upload_to=b'')),
                ('attached_to', models.ManyToManyField(blank=True, related_name='attached_resources', to='intrepid.Note')),
                ('notes', models.ManyToManyField(blank=True, related_name='resources', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='resources', to='intrepid.Resource')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Responsibility',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='responsibilities', to='intrepid.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Role',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='roles', to='intrepid.Note')),
                ('positions', models.ManyToManyField(blank=True, related_name='roles', to='intrepid.Position')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Step',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='steps', to='intrepid.Note')),
                ('phase', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='steps', to='intrepid.Phase')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Strategy',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='strategies', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='stategies', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Target',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('MET', 'Met'), ('UM', 'Unmet'), ('OBS', 'Obsoleted'), ('BLK', 'Blocked'), ('FUT', 'Futile')], default='UM', max_length=4)),
                ('notes', models.ManyToManyField(blank=True, related_name='targets', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='targets', to='intrepid.Objective')),
                ('requires', models.ManyToManyField(blank=True, related_name='_target_requires_+', to='intrepid.Target')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='other_targets', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Task',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='tasks', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subtasks', to='intrepid.Task')),
                ('project', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='intrepid.Project')),
                ('step', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tasks', to='intrepid.Step')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Taxonomy',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('hierarhichal', models.BooleanField()),
                ('exclusive', models.BooleanField()),
                ('notes', models.ManyToManyField(blank=True, related_name='taxonomies', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='children', to='intrepid.Taxonomy')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Team',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='teams', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='intrepid.Team')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Term',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('data', django.contrib.postgres.fields.jsonb.JSONField(default=dict)),
                ('notes', models.ManyToManyField(blank=True, related_name='terms', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='children', to='intrepid.Term')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='users', to='intrepid.Note')),
                ('positions', models.ManyToManyField(blank=True, related_name='users', to='intrepid.Position')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Earning',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Purchase',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
                ('payment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='budget_line', to='intrepid.Payment')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Relocation',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Sink',
            fields=[
                ('external_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='sink', serialize=False, to='intrepid.External')),
                ('cost', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.external',),
        ),
        migrations.CreateModel(
            name='Source',
            fields=[
                ('externalptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='source', serialize=False, to='intrepid.External')),
                ('gain', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.external',),
        ),
        migrations.CreateModel(
            name='Transfer',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.AddField(
            model_name='responsibility',
            name='roles',
            field=models.ManyToManyField(blank=True, related_name='responsibilities', to='intrepid.Role'),
        ),
        migrations.AddField(
            model_name='project',
            name='strategies',
            field=models.ManyToManyField(related_name='projects', to='intrepid.Strategy'),
        ),
        migrations.AddField(
            model_name='project',
            name='targets',
            field=models.ManyToManyField(related_name='projects', to='intrepid.Target'),
        ),
        migrations.AddField(
            model_name='position',
            name='team',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='positions', to='intrepid.Team'),
        ),
        migrations.AddField(
            model_name='plan',
            name='strategy',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='plans', to='intrepid.Strategy'),
        ),
        migrations.AddField(
            model_name='phase',
            name='plan',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='phases', to='intrepid.Plan'),
        ),
        migrations.AddField(
            model_name='line',
            name='budget',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lines', to='intrepid.Budget'),
        ),
        migrations.AddField(
            model_name='line',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='lines', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='income',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='incomes', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='goal',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='goals', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='external',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='externals', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='expense',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='expenses', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='expense',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='expenses', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='deposit',
            name='receipt',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='deposits', to='intrepid.Receipt'),
        ),
        migrations.AddField(
            model_name='currency',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='currencies', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='capacity',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='capacities', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='capacity',
            name='roles',
            field=models.ManyToManyField(blank=True, related_name='capacities', to='intrepid.Role'),
        ),
        migrations.AddField(
            model_name='budget',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='budgets', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='allotment',
            name='pool',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='allotments', to='intrepid.Pool'),
        ),
        migrations.AddField(
            model_name='allocation',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='allocations', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='allocation',
            name='pool',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='allocations', to='intrepid.Pool'),
        ),
        migrations.AddField(
            model_name='action',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='actions', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='action',
            name='task',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='actions', to='intrepid.Task'),
        ),
        migrations.AddField(
            model_name='account',
            name='currency',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='accounts', to='intrepid.Currency'),
        ),
        migrations.AddField(
            model_name='account',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='accounts', to='intrepid.Note'),
        ),
        migrations.CreateModel(
            name='Asset',
            fields=[
                ('sink_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='asset', serialize=False, to='intrepid.Sink')),
                ('value', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('intended_own', models.DateTimeField()),
                ('actual_own', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.CreateModel(
            name='Commission',
            fields=[
                ('source_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='comission', serialize=False, to='intrepid.Source')),
                ('intended_close', models.DateTimeField()),
                ('effective_close', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Contribution',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Donation',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.CreateModel(
            name='Employment',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('period', models.DurationField()),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source', models.Model),
        ),
        migrations.CreateModel(
            name='Liability',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
                ('value', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Rental',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('period', models.DurationField()),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink', models.Model),
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.AddField(
            model_name='transfer',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='inflow', to='intrepid.Account'),
        ),
        migrations.AddField(
            model_name='transfer',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='outflow', to='intrepid.Account'),
        ),
        migrations.AddField(
            model_name='source',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sources', to='intrepid.Income'),
        ),
        migrations.AddField(
            model_name='sink',
            name='expense',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='destinations', to='intrepid.Expense'),
        ),
        migrations.AddField(
            model_name='relocation',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='inflow', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='relocation',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='outflow', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='receipt',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to='intrepid.Source'),
        ),
        migrations.AddField(
            model_name='payment',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='payments', to='intrepid.Sink'),
        ),
        migrations.AddField(
            model_name='earning',
            name='receipt',
            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='budget_line', to='intrepid.Receipt'),
        ),
        migrations.CreateModel(
            name='Investment',
            fields=[
                ('commission_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, to='intrepid.Commission')),
                ('asset_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Asset')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.asset', 'intrepid.commission'),
        ),
    ]

# -*- coding: utf-8 -*-
# Generated by Django 1.11.18 on 2019-02-22 14:15
from __future__ import unicode_literals

import datetime
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='Account',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('opened', models.DateField(default=datetime.date.today)),
                ('closed', models.DateField(blank=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Action',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('follows', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Action')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Allocation',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('opened', models.DateField()),
                ('used', models.DateField(blank=True)),
                ('closed', models.DateField(blank=True)),
                ('size', models.DecimalField(decimal_places=2, max_digits=16)),
                ('available', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('end_state', models.CharField(choices=[('fill', 'Filling'), ('rdy', 'Ready'), ('clr', 'Cleared'), ('cmt', 'Committed')], default='fill', max_length=4)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Allotment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('account', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='allotments', to='intrepid.Account')),
            ],
        ),
        migrations.CreateModel(
            name='Budget',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('start', models.DateField()),
                ('end', models.DateField()),
                ('follows', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Budget')),
                ('master', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='parts', to='intrepid.Budget')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Capacity',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Currency',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('rate', models.FloatField(default=1)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Deposit',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('account', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='deposits', to='intrepid.Account')),
            ],
        ),
        migrations.CreateModel(
            name='Expense',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('stable', models.BooleanField(default=False)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='External',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Goal',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('icmp', 'Incomplete'), ('fail', 'Failure'), ('succ', 'Success'), ('upgr', 'Upgraded'), ('obst', 'Obsoleted'), ('abnd', 'Abandoned')], default='icmp', max_length=4)),
                ('follows', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='precedes', to='intrepid.Goal')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Income',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('stable', models.BooleanField(default=False)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Line',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Note',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='_note_notes_+', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Objective',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('icmp', 'Incomplete'), ('fail', 'Failure'), ('succ', 'Success'), ('upgr', 'Upgraded'), ('obst', 'Obsoleted'), ('abnd', 'Abandoned')], default='icmp', max_length=4)),
                ('goal', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='objectives', to='intrepid.Goal')),
                ('notes', models.ManyToManyField(blank=True, related_name='objectives', to='intrepid.Note')),
                ('precedes', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='follows', to='intrepid.Objective')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='other_objectives', to='intrepid.Goal')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Payment',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
                ('expense', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='payments', to='intrepid.Expense')),
                ('notes', models.ManyToManyField(blank=True, related_name='payments', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Phase',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='phases', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Plan',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='plans', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Pool',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('size', models.DecimalField(decimal_places=2, max_digits=16)),
                ('available', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('accounts', models.ManyToManyField(blank=True, related_name='pools', through='intrepid.Allotment', to='intrepid.Account')),
                ('notes', models.ManyToManyField(blank=True, related_name='pools', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='partitions', to='intrepid.Pool')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Position',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='positions', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Product',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('definition', models.TextField(blank=True)),
                ('url', models.URLField(blank=True, max_length=255)),
                ('upload', models.FileField(blank=True, upload_to=b'')),
                ('attached_to', models.ManyToManyField(blank=True, related_name='attached_products', to='intrepid.Note')),
                ('notes', models.ManyToManyField(blank=True, related_name='products', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='products', to='intrepid.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Project',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='projects', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='projects', to='intrepid.Objective')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='contributors', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Receipt',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('amount', models.DecimalField(decimal_places=2, max_digits=16)),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
                ('destinations', models.ManyToManyField(related_name='receipts', through='intrepid.Deposit', to='intrepid.Account')),
                ('income', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to='intrepid.Income')),
                ('notes', models.ManyToManyField(blank=True, related_name='receipts', to='intrepid.Note')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Resource',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('definition', models.TextField(blank=True)),
                ('url', models.URLField(blank=True, max_length=255)),
                ('upload', models.FileField(blank=True, upload_to=b'')),
                ('attached_to', models.ManyToManyField(blank=True, related_name='attached_resources', to='intrepid.Note')),
                ('notes', models.ManyToManyField(blank=True, related_name='resources', to='intrepid.Note')),
                ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='resources', to='intrepid.Resource')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Responsibility',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='responsibilities', to='intrepid.Product')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Role',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='roles', to='intrepid.Note')),
                ('positions', models.ManyToManyField(blank=True, related_name='roles', to='intrepid.Position')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Step',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='steps', to='intrepid.Note')),
                ('phase', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='steps', to='intrepid.Phase')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Strategy',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='strategies', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='stategies', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Target',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('status', models.CharField(choices=[('MET', 'Met'), ('UM', 'Unmet'), ('OBS', 'Obsoleted'), ('BLK', 'Blocked'), ('FUT', 'Futile')], default='UM', max_length=4)),
                ('notes', models.ManyToManyField(blank=True, related_name='targets', to='intrepid.Note')),
                ('objective', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='targets', to='intrepid.Objective')),
                ('requires', models.ManyToManyField(blank=True, related_name='_target_requires_+', to='intrepid.Target')),
                ('satisfies', models.ManyToManyField(blank=True, related_name='other_targets', to='intrepid.Objective')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Task',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('intended_start', models.DateField()),
                ('actual_start', models.DateField(blank=True)),
                ('intended_end', models.DateField(blank=True)),
                ('actual_end', models.DateField(blank=True)),
                ('progress', models.PositiveSmallIntegerField(default=0)),
                ('notes', models.ManyToManyField(blank=True, related_name='tasks', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='subtasks', to='intrepid.Task')),
                ('project', models.ForeignKey(blank=True, on_delete=django.db.models.deletion.CASCADE, related_name='tasks', to='intrepid.Project')),
                ('step', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='tasks', to='intrepid.Step')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Taxonomy',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('hierarhichal', models.BooleanField()),
                ('exclusive', models.BooleanField()),
                ('notes', models.ManyToManyField(blank=True, related_name='taxonomies', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='children', to='intrepid.Taxonomy')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Team',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='teams', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='groups', to='intrepid.Team')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Term',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('data', django.contrib.postgres.fields.jsonb.JSONField(default=dict)),
                ('notes', models.ManyToManyField(blank=True, related_name='terms', to='intrepid.Note')),
                ('parent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='children', to='intrepid.Term')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='User',
            fields=[
                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.SlugField(blank=True)),
                ('title', models.CharField(max_length=255)),
                ('description', models.TextField(blank=True)),
                ('active', models.BooleanField(default=True)),
                ('valid', models.BooleanField(default=True)),
                ('notes', models.ManyToManyField(blank=True, related_name='users', to='intrepid.Note')),
                ('positions', models.ManyToManyField(blank=True, related_name='users', to='intrepid.Position')),
            ],
            options={
                'abstract': False,
            },
        ),
        migrations.CreateModel(
            name='Earning',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Purchase',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
                ('payment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='budget_line', to='intrepid.Payment')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Relocation',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.CreateModel(
            name='Sink',
            fields=[
                ('external_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='sink', serialize=False, to='intrepid.External')),
                ('cost', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.external',),
        ),
        migrations.CreateModel(
            name='Source',
            fields=[
                ('externalptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='source', serialize=False, to='intrepid.External')),
                ('gain', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.external',),
        ),
        migrations.CreateModel(
            name='Transfer',
            fields=[
                ('line_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Line')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.line',),
        ),
        migrations.AddField(
            model_name='responsibility',
            name='roles',
            field=models.ManyToManyField(blank=True, related_name='responsibilities', to='intrepid.Role'),
        ),
        migrations.AddField(
            model_name='project',
            name='strategies',
            field=models.ManyToManyField(related_name='projects', to='intrepid.Strategy'),
        ),
        migrations.AddField(
            model_name='project',
            name='targets',
            field=models.ManyToManyField(related_name='projects', to='intrepid.Target'),
        ),
        migrations.AddField(
            model_name='position',
            name='team',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='positions', to='intrepid.Team'),
        ),
        migrations.AddField(
            model_name='plan',
            name='strategy',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='plans', to='intrepid.Strategy'),
        ),
        migrations.AddField(
            model_name='phase',
            name='plan',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='phases', to='intrepid.Plan'),
        ),
        migrations.AddField(
            model_name='line',
            name='budget',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='lines', to='intrepid.Budget'),
        ),
        migrations.AddField(
            model_name='line',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='lines', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='income',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='incomes', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='goal',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='goals', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='external',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='externals', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='expense',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='expenses', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='expense',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='expenses', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='deposit',
            name='receipt',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='deposits', to='intrepid.Receipt'),
        ),
        migrations.AddField(
            model_name='currency',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='currencies', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='capacity',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='capacities', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='capacity',
            name='roles',
            field=models.ManyToManyField(blank=True, related_name='capacities', to='intrepid.Role'),
        ),
        migrations.AddField(
            model_name='budget',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='budgets', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='allotment',
            name='pool',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='allotments', to='intrepid.Pool'),
        ),
        migrations.AddField(
            model_name='allocation',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='allocations', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='allocation',
            name='pool',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='allocations', to='intrepid.Pool'),
        ),
        migrations.AddField(
            model_name='action',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='actions', to='intrepid.Note'),
        ),
        migrations.AddField(
            model_name='action',
            name='task',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='actions', to='intrepid.Task'),
        ),
        migrations.AddField(
            model_name='account',
            name='currency',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='accounts', to='intrepid.Currency'),
        ),
        migrations.AddField(
            model_name='account',
            name='notes',
            field=models.ManyToManyField(blank=True, related_name='accounts', to='intrepid.Note'),
        ),
        migrations.CreateModel(
            name='Asset',
            fields=[
                ('sink_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='asset', serialize=False, to='intrepid.Sink')),
                ('value', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
                ('intended_own', models.DateTimeField()),
                ('actual_own', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.CreateModel(
            name='Commission',
            fields=[
                ('source_ptr', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, related_name='comission', serialize=False, to='intrepid.Source')),
                ('intended_close', models.DateTimeField()),
                ('effective_close', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Contribution',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Donation',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.CreateModel(
            name='Employment',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('period', models.DurationField()),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source', models.Model),
        ),
        migrations.CreateModel(
            name='Liability',
            fields=[
                ('source_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Source')),
                ('value', models.DecimalField(decimal_places=2, default=0, max_digits=16)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.source',),
        ),
        migrations.CreateModel(
            name='Rental',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
                ('intended_start', models.DateTimeField()),
                ('actual_start', models.DateTimeField(blank=True)),
                ('intended_end', models.DateTimeField(blank=True)),
                ('actual_end', models.DateTimeField(blank=True)),
                ('period', models.DurationField()),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink', models.Model),
        ),
        migrations.CreateModel(
            name='Service',
            fields=[
                ('sink_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Sink')),
                ('intended', models.DateTimeField()),
                ('effective', models.DateTimeField(blank=True)),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.sink',),
        ),
        migrations.AddField(
            model_name='transfer',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='inflow', to='intrepid.Account'),
        ),
        migrations.AddField(
            model_name='transfer',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='outflow', to='intrepid.Account'),
        ),
        migrations.AddField(
            model_name='source',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='sources', to='intrepid.Income'),
        ),
        migrations.AddField(
            model_name='sink',
            name='expense',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='destinations', to='intrepid.Expense'),
        ),
        migrations.AddField(
            model_name='relocation',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='inflow', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='relocation',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='outflow', to='intrepid.Allocation'),
        ),
        migrations.AddField(
            model_name='receipt',
            name='source',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='receipts', to='intrepid.Source'),
        ),
        migrations.AddField(
            model_name='payment',
            name='destination',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='payments', to='intrepid.Sink'),
        ),
        migrations.AddField(
            model_name='earning',
            name='receipt',
            field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='budget_line', to='intrepid.Receipt'),
        ),
        migrations.CreateModel(
            name='Investment',
            fields=[
                ('commission_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, to='intrepid.Commission')),
                ('asset_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='intrepid.Asset')),
            ],
            options={
                'abstract': False,
            },
            bases=('intrepid.asset', 'intrepid.commission'),
        ),
    ]

# -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-02-22 14:15