/
varsl
/
HTML-CSS
Обзор
Документация
Войти
/
varsl
/
HTML-CSS
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/database/schema.sql
99 строк
3 KB
varsl
Добавление файлов БД
21 дек 2025, 23:50
21 дек 2025, 23:50
90d5c7b
Код
Авторство
О чём код?
-- schema.sql (обновленная версия) -- Users table с дополнительными полями CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, email TEXT UNIQUE NOT NULL, password TEXT NOT NULL, name TEXT NOT NULL, phone TEXT, birth_date TEXT, newsletter INTEGER DEFAULT 0, avatar TEXT, role TEXT DEFAULT 'user', created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- Reviews table (без изменений) CREATE TABLE IF NOT EXISTS reviews ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, animal_id TEXT NOT NULL, rating INTEGER CHECK(rating >= 1 AND rating <= 5), comment TEXT, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, updated_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); -- Tickets table (без изменений) CREATE TABLE IF NOT EXISTS tickets ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, order_id TEXT UNIQUE NOT NULL, ticket_data TEXT NOT NULL, visit_date DATE NOT NULL, visit_time TEXT NOT NULL, status TEXT DEFAULT 'active', total_amount DECIMAL(10, 2) NOT NULL, customer_name TEXT NOT NULL, customer_email TEXT NOT NULL, customer_phone TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL ); -- Animals table (без изменений) CREATE TABLE IF NOT EXISTS animals ( id INTEGER PRIMARY KEY AUTOINCREMENT, animal_id TEXT UNIQUE NOT NULL, name TEXT NOT NULL, scientific_name TEXT, type TEXT NOT NULL, habitat TEXT, diet TEXT, description TEXT, size TEXT, lifespan TEXT, conservation_status TEXT, image_url TEXT, sound_url TEXT, video_url TEXT, fun_fact TEXT, feeding_time TEXT, show_schedule TEXT, popularity INTEGER DEFAULT 0, created_at DATETIME DEFAULT CURRENT_TIMESTAMP ); -- Favorites table (без изменений) CREATE TABLE IF NOT EXISTS favorites ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER NOT NULL, animal_id TEXT NOT NULL, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, UNIQUE(user_id, animal_id), FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ); -- Visits table (без изменений) CREATE TABLE IF NOT EXISTS visits ( id INTEGER PRIMARY KEY AUTOINCREMENT, user_id INTEGER, animal_id TEXT NOT NULL, date DATE NOT NULL, time TIME NOT NULL, duration_minutes INTEGER, created_at DATETIME DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL ); -- Create indexes (без изменений) CREATE INDEX IF NOT EXISTS idx_reviews_user_id ON reviews(user_id); CREATE INDEX IF NOT EXISTS idx_reviews_animal_id ON reviews(animal_id); CREATE INDEX IF NOT EXISTS idx_tickets_user_id ON tickets(user_id); CREATE INDEX IF NOT EXISTS idx_tickets_order_id ON tickets(order_id); CREATE INDEX IF NOT EXISTS idx_favorites_user_id ON favorites(user_id); CREATE INDEX IF NOT EXISTS idx_animals_animal_id ON animals(animal_id); CREATE INDEX IF NOT EXISTS idx_visits_user_id ON visits(user_id); CREATE INDEX IF NOT EXISTS idx_visits_date ON visits(date);