You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1.7 KiB
39 lines
1.7 KiB
# 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);
|
|
"""
|
|
),
|
|
]
|
|
|