2 changed files with 39 additions and 39 deletions
-
39apps/blog/migrations/0003_alter_blog_fields_to_json.py
-
39apps/blog/migrations/0003_convert_varchar_to_jsonb.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'), |
|||
), |
|||
] |
|||
|
|||
@ -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); |
|||
""" |
|||
), |
|||
] |
|||
|
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue