-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcreate_settings_table.sql
More file actions
63 lines (60 loc) · 2.02 KB
/
create_settings_table.sql
File metadata and controls
63 lines (60 loc) · 2.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
-- Fonction pour créer la fonction pour mettre à jour le timestamp updated_at
CREATE OR REPLACE FUNCTION update_updated_at_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.updated_at = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
-- Fonction pour créer la table site_settings
CREATE OR REPLACE FUNCTION create_settings_table()
RETURNS void AS $$
BEGIN
-- Créer la table site_settings si elle n'existe pas
CREATE TABLE IF NOT EXISTS site_settings (
id BIGINT PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
site_title TEXT NOT NULL DEFAULT 'Forge Digitale',
site_description TEXT NOT NULL DEFAULT 'Services de développement web et mobile',
contact_email TEXT NOT NULL DEFAULT 'assalthiel@forgedigital.tech',
contact_phone TEXT NOT NULL DEFAULT '+226 65 98 19 94',
contact_address TEXT NOT NULL DEFAULT 'Ouagadougou, Burkina Faso',
facebook_url TEXT,
twitter_url TEXT,
instagram_url TEXT,
linkedin_url TEXT,
footer_text TEXT NOT NULL DEFAULT '© Forge Digitale. Tous droits réservés.',
maintenance_mode BOOLEAN NOT NULL DEFAULT FALSE,
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
);
-- Créer le trigger pour mettre à jour le timestamp updated_at
IF NOT EXISTS (
SELECT 1 FROM pg_trigger
WHERE tgname = 'update_site_settings_updated_at'
) THEN
CREATE TRIGGER update_site_settings_updated_at
BEFORE UPDATE ON site_settings
FOR EACH ROW
EXECUTE FUNCTION update_updated_at_column();
END IF;
-- Insérer une ligne par défaut si la table est vide
IF NOT EXISTS (SELECT 1 FROM site_settings) THEN
INSERT INTO site_settings (
site_title,
site_description,
contact_email,
contact_phone,
contact_address,
footer_text,
maintenance_mode
) VALUES (
'Forge Digitale',
'Services de développement web et mobile',
'assalthiel@forgedigital.tech',
'+226 65 98 19 94',
'Ouagadougou, Burkina Faso',
'© Forge Digitale. Tous droits réservés.',
FALSE
);
END IF;
END;
$$ LANGUAGE plpgsql;