28 lines
1.0 KiB
SQL
28 lines
1.0 KiB
SQL
CREATE TABLE IF NOT EXISTS virtual_games (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
name VARCHAR(255) NOT NULL,
|
|
provider VARCHAR(100) NOT NULL,
|
|
category VARCHAR(100) NOT NULL,
|
|
min_bet DECIMAL(15,2) NOT NULL,
|
|
max_bet DECIMAL(15,2) NOT NULL,
|
|
volatility VARCHAR(50) NOT NULL,
|
|
rtp DECIMAL(5,2) NOT NULL,
|
|
is_featured BOOLEAN DEFAULT false,
|
|
popularity_score INTEGER DEFAULT 0,
|
|
thumbnail_url TEXT,
|
|
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE user_game_interactions (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
user_id BIGINT NOT NULL REFERENCES users(id),
|
|
game_id BIGINT NOT NULL REFERENCES virtual_games(id),
|
|
interaction_type VARCHAR(50) NOT NULL, -- 'view', 'play', 'bet', 'favorite'
|
|
amount DECIMAL(15,2),
|
|
duration_seconds INTEGER,
|
|
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE INDEX idx_user_game_interactions_user ON user_game_interactions(user_id);
|
|
CREATE INDEX idx_user_game_interactions_game ON user_game_interactions(game_id); |