diff --git a/services/cms-service/migrations/20260215000000_monetization.sql b/services/cms-service/migrations/20260215000000_monetization.sql index 9154216..7f600ad 100644 --- a/services/cms-service/migrations/20260215000000_monetization.sql +++ b/services/cms-service/migrations/20260215000000_monetization.sql @@ -1,6 +1,6 @@ -- Add price and currency to courses table -ALTER TABLE courses ADD COLUMN price NUMERIC(10, 2) DEFAULT 0.00; -ALTER TABLE courses ADD COLUMN currency VARCHAR(10) DEFAULT 'USD'; +ALTER TABLE courses ADD COLUMN IF NOT EXISTS price DOUBLE PRECISION DEFAULT 0.0; +ALTER TABLE courses ADD COLUMN IF NOT EXISTS currency VARCHAR(10) DEFAULT 'USD'; -- Update fn_create_course to handle price and currency CREATE OR REPLACE FUNCTION fn_create_course( @@ -8,7 +8,7 @@ CREATE OR REPLACE FUNCTION fn_create_course( p_instructor_id UUID, p_title TEXT, p_pacing_mode TEXT DEFAULT 'self_paced', - p_price NUMERIC(10, 2) DEFAULT 0.00, + p_price DOUBLE PRECISION DEFAULT 0.0, p_currency TEXT DEFAULT 'USD' ) RETURNS SETOF courses AS $$ BEGIN @@ -42,7 +42,7 @@ CREATE OR REPLACE FUNCTION fn_update_course( p_start_date TIMESTAMP WITH TIME ZONE, p_end_date TIMESTAMP WITH TIME ZONE, p_certificate_template TEXT, - p_price NUMERIC(10, 2), + p_price DOUBLE PRECISION, p_currency TEXT ) RETURNS SETOF courses AS $$ BEGIN diff --git a/services/lms-service/migrations/20260215000000_monetization.sql b/services/lms-service/migrations/20260215000000_monetization.sql index cb9748c..e7e3a0e 100644 --- a/services/lms-service/migrations/20260215000000_monetization.sql +++ b/services/lms-service/migrations/20260215000000_monetization.sql @@ -1,6 +1,15 @@ -- Add price and currency to courses table in LMS -ALTER TABLE courses ADD COLUMN price NUMERIC(10, 2) DEFAULT 0.00; -ALTER TABLE courses ADD COLUMN currency VARCHAR(10) DEFAULT 'USD'; +ALTER TABLE courses ADD COLUMN IF NOT EXISTS price DOUBLE PRECISION DEFAULT 0.0; +ALTER TABLE courses ADD COLUMN IF NOT EXISTS currency VARCHAR(10) DEFAULT 'USD'; + +-- Create general trigger function if not exists +CREATE OR REPLACE FUNCTION trigger_set_timestamp() +RETURNS TRIGGER AS $$ +BEGIN + NEW.updated_at = NOW(); + RETURN NEW; +END; +$$ LANGUAGE plpgsql; -- Create transactions table CREATE TABLE transactions ( @@ -8,7 +17,7 @@ CREATE TABLE transactions ( organization_id UUID NOT NULL REFERENCES organizations(id), user_id UUID NOT NULL REFERENCES users(id), course_id UUID NOT NULL REFERENCES courses(id), - amount NUMERIC(10, 2) NOT NULL, + amount DOUBLE PRECISION NOT NULL, currency VARCHAR(10) NOT NULL, status TEXT NOT NULL DEFAULT 'pending', -- 'pending', 'success', 'failure' provider_reference TEXT,