snapshot: preserve trial lifecycle and product-grade expiry UX
This commit is contained in:
33
backend/workflows/migrations/0043_portaltrialconfig.py
Normal file
33
backend/workflows/migrations/0043_portaltrialconfig.py
Normal file
@@ -0,0 +1,33 @@
|
||||
# Generated by Django 5.1.5 on 2026-03-26 13:22
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('workflows', '0042_portalcompanyconfig'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='PortalTrialConfig',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('name', models.CharField(default='Default', max_length=80, unique=True)),
|
||||
('is_trial_mode', models.BooleanField(default=False)),
|
||||
('trial_started_at', models.DateTimeField(blank=True, null=True)),
|
||||
('trial_expires_at', models.DateTimeField(blank=True, null=True)),
|
||||
('restrict_production_integrations', models.BooleanField(default=True)),
|
||||
('auto_cleanup_enabled', models.BooleanField(default=True)),
|
||||
('trial_banner_text', models.CharField(blank=True, default='', max_length=255)),
|
||||
('trial_banner_text_en', models.CharField(blank=True, default='', max_length=255)),
|
||||
('last_cleanup_at', models.DateTimeField(blank=True, null=True)),
|
||||
('updated_at', models.DateTimeField(auto_now=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Portal Trial Config',
|
||||
'verbose_name_plural': 'Portal Trial Config',
|
||||
},
|
||||
),
|
||||
]
|
||||
Reference in New Issue
Block a user