25 lines
903 B
MySQL
25 lines
903 B
MySQL
![]() |
-- Add missing columns to users table
|
||
|
ALTER TABLE users
|
||
|
ADD COLUMN IF NOT EXISTS status VARCHAR(50) NOT NULL DEFAULT 'active',
|
||
|
ADD COLUMN IF NOT EXISTS created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||
|
ADD COLUMN IF NOT EXISTS updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP;
|
||
|
|
||
|
-- Update role if it doesn't exist
|
||
|
ALTER TABLE users
|
||
|
ADD COLUMN IF NOT EXISTS role VARCHAR(50) NOT NULL DEFAULT 'user';
|
||
|
|
||
|
-- Create function to update updated_at timestamp
|
||
|
CREATE OR REPLACE FUNCTION update_updated_at_column()
|
||
|
RETURNS TRIGGER AS $$
|
||
|
BEGIN
|
||
|
NEW.updated_at = CURRENT_TIMESTAMP;
|
||
|
RETURN NEW;
|
||
|
END;
|
||
|
$$ language 'plpgsql';
|
||
|
|
||
|
-- Create trigger to automatically update updated_at
|
||
|
DROP TRIGGER IF EXISTS update_users_updated_at ON users;
|
||
|
CREATE TRIGGER update_users_updated_at
|
||
|
BEFORE UPDATE ON users
|
||
|
FOR EACH ROW
|
||
|
EXECUTE FUNCTION update_updated_at_column();
|