44 lines
1.6 KiB
SQL
44 lines
1.6 KiB
SQL
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'products' AND column_name = 'color') THEN
|
|
ALTER TABLE products ADD COLUMN color VARCHAR(50);
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'products' AND column_name = 'material') THEN
|
|
ALTER TABLE products ADD COLUMN material VARCHAR(100);
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'products' AND column_name = 'card_size') THEN
|
|
ALTER TABLE products ADD COLUMN card_size VARCHAR(20) DEFAULT 'small';
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'city') THEN
|
|
ALTER TABLE users ADD COLUMN city VARCHAR(100);
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'users' AND column_name = 'last_login') THEN
|
|
ALTER TABLE users ADD COLUMN last_login TIMESTAMP;
|
|
END IF;
|
|
END $$;
|
|
|
|
DO $$
|
|
BEGIN
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'categories' AND column_name = 'updated_at') THEN
|
|
ALTER TABLE categories ADD COLUMN updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
|
|
END IF;
|
|
|
|
IF NOT EXISTS (SELECT 1 FROM information_schema.columns
|
|
WHERE table_name = 'categories' AND column_name = 'created_at') THEN
|
|
ALTER TABLE categories ADD COLUMN created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
|
|
END IF;
|
|
END $$;
|