Browse Source

fix db

master
mortezaei 8 months ago
parent
commit
5316b8d5a4
  1. 39
      apps/blog/migrations/0003_alter_blog_fields_to_json.py
  2. 39
      apps/blog/migrations/0003_convert_varchar_to_jsonb.py

39
apps/blog/migrations/0003_alter_blog_fields_to_json.py

@ -1,39 +0,0 @@
# Generated manually to fix varchar to JSONField migration
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('blog', '0002_blogseo'),
]
operations = [
migrations.AlterField(
model_name='blog',
name='title',
field=models.JSONField(blank=True, default=list, null=True, verbose_name='title'),
),
migrations.AlterField(
model_name='blog',
name='slug',
field=models.JSONField(blank=True, default=list, help_text='URL slug for the blog', null=True, verbose_name='slug'),
),
migrations.AlterField(
model_name='blog',
name='slogan',
field=models.JSONField(blank=True, default=list, null=True, verbose_name='slogan'),
),
migrations.AlterField(
model_name='blogcontent',
name='title',
field=models.JSONField(blank=True, default=list, help_text='Title of this content section', null=True, verbose_name='Content title'),
),
migrations.AlterField(
model_name='blogcontent',
name='slug',
field=models.JSONField(blank=True, default=list, help_text='URL slug for this content (optional)', null=True, verbose_name='slug'),
),
]

39
apps/blog/migrations/0003_convert_varchar_to_jsonb.py

@ -0,0 +1,39 @@
# Generated manually to convert varchar fields to jsonb
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('blog', '0002_blogseo'),
]
operations = [
migrations.RunSQL(
sql="""
-- Step 1: Drop constraints and indexes on slug fields
ALTER TABLE blog_blog DROP CONSTRAINT IF EXISTS blog_blog_slug_key;
DROP INDEX IF EXISTS blog_blog_slug_4812aa2c_like;
DROP INDEX IF EXISTS blog_blogcontent_slug_4842a829;
DROP INDEX IF EXISTS blog_blogcontent_slug_4842a829_like;
-- Step 2: Convert Blog table fields to jsonb
ALTER TABLE blog_blog ALTER COLUMN title TYPE jsonb USING '[]'::jsonb;
ALTER TABLE blog_blog ALTER COLUMN slogan TYPE jsonb USING '[]'::jsonb;
ALTER TABLE blog_blog ALTER COLUMN slug TYPE jsonb USING '[]'::jsonb;
-- Step 3: Convert BlogContent table fields to jsonb
ALTER TABLE blog_blogcontent ALTER COLUMN title TYPE jsonb USING '[]'::jsonb;
ALTER TABLE blog_blogcontent ALTER COLUMN slug TYPE jsonb USING '[]'::jsonb;
""",
reverse_sql="""
ALTER TABLE blog_blog ALTER COLUMN title TYPE varchar(255);
ALTER TABLE blog_blog ALTER COLUMN slogan TYPE varchar(500);
ALTER TABLE blog_blog ALTER COLUMN slug TYPE varchar(255);
ALTER TABLE blog_blogcontent ALTER COLUMN title TYPE varchar(255);
ALTER TABLE blog_blogcontent ALTER COLUMN slug TYPE varchar(255);
"""
),
]
Loading…
Cancel
Save