Restore: snapshot from LXC that matches working state
This commit is contained in:
parent
91e8aa8b0f
commit
34db7625ea
BIN
db.sqlite3
Normal file
BIN
db.sqlite3
Normal file
Binary file not shown.
25941
imports/illustrations_clean.csv
Normal file
25941
imports/illustrations_clean.csv
Normal file
File diff suppressed because one or more lines are too long
26
update.sh
Executable file
26
update.sh
Executable file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
set -Eeuo pipefail
|
||||
|
||||
# Always run from the directory where this script lives (your repo root).
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
echo "==> Pulling latest from origin/main (SSL verify disabled for this pull)…"
|
||||
GIT_SSL_NO_VERIFY=1 git pull origin main
|
||||
|
||||
# Pick the right Docker Compose command (v2 `docker compose` or legacy `docker-compose`)
|
||||
if command -v docker >/dev/null 2>&1 && docker compose version >/dev/null 2>&1; then
|
||||
DC="docker compose"
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
DC="docker-compose"
|
||||
else
|
||||
echo "Error: Docker Compose not found." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Starting/refreshing containers…"
|
||||
$DC up -d
|
||||
|
||||
echo "==> Collecting static files…"
|
||||
$DC exec -T web python manage.py collectstatic --noinput
|
||||
|
||||
echo "✅ Done."
|
||||
@ -0,0 +1,49 @@
|
||||
# Generated by Django 5.0.6 on 2025-08-16 20:37
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('core', '0001_initial'),
|
||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='UserPrefs',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('font_size', models.CharField(choices=[('small', 'Small'), ('default', 'Default'), ('large', 'Large'), ('xlarge', 'Extra Large')], default='default', max_length=12)),
|
||||
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='prefs', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='SearchHistory',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('q', models.CharField(blank=True, default='', max_length=1000)),
|
||||
('selected', models.JSONField(default=dict)),
|
||||
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='search_history', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'indexes': [models.Index(fields=['user', '-created_at'], name='core_search_user_id_e3c82b_idx')],
|
||||
},
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='ViewedIllustration',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('viewed_at', models.DateTimeField(auto_now_add=True)),
|
||||
('entry', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.entry')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recent_views', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
options={
|
||||
'indexes': [models.Index(fields=['user', '-viewed_at'], name='core_viewed_user_id_e1adb2_idx')],
|
||||
},
|
||||
),
|
||||
]
|
||||
Loading…
Reference in New Issue
Block a user