- Add comprehensive metadata to root layout with Open Graph, Twitter cards - Create dynamic sitemap.ts for all pages and events - Create robots.ts with proper allow/disallow rules - Add JSON-LD Event structured data to event detail pages - Add page-specific metadata to events, community, contact, FAQ pages - Add FAQ structured data schema - Update footer with local SEO text for Asunción, Paraguay - Add web manifest for mobile SEO - Create 404 page with proper noindex - Optimize image alt text and add lazy loading - Add NEXT_PUBLIC_SITE_URL env variable - Add about/ folder to gitignore
40 lines
1.4 KiB
SQL
40 lines
1.4 KiB
SQL
-- Migration: Make password column nullable for Google OAuth users
|
|
-- Run this on your production SQLite database:
|
|
-- sqlite3 /path/to/spanglish.db < migrate-users-nullable-password.sql
|
|
|
|
-- SQLite doesn't support ALTER COLUMN, so we need to recreate the table
|
|
|
|
-- Step 1: Create new table with correct schema (password is nullable)
|
|
CREATE TABLE users_new (
|
|
id TEXT PRIMARY KEY,
|
|
email TEXT NOT NULL UNIQUE,
|
|
password TEXT, -- Now nullable for Google OAuth users
|
|
name TEXT NOT NULL,
|
|
phone TEXT,
|
|
role TEXT NOT NULL DEFAULT 'user',
|
|
language_preference TEXT,
|
|
is_claimed INTEGER NOT NULL DEFAULT 1,
|
|
google_id TEXT,
|
|
ruc_number TEXT,
|
|
account_status TEXT NOT NULL DEFAULT 'active',
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL
|
|
);
|
|
|
|
-- Step 2: Copy all existing data
|
|
INSERT INTO users_new (id, email, password, name, phone, role, language_preference, is_claimed, google_id, ruc_number, account_status, created_at, updated_at)
|
|
SELECT id, email, password, name, phone, role, language_preference, is_claimed, google_id, ruc_number, account_status, created_at, updated_at
|
|
FROM users;
|
|
|
|
-- Step 3: Drop old table
|
|
DROP TABLE users;
|
|
|
|
-- Step 4: Rename new table
|
|
ALTER TABLE users_new RENAME TO users;
|
|
|
|
-- Step 5: Recreate indexes
|
|
CREATE UNIQUE INDEX IF NOT EXISTS users_email_idx ON users(email);
|
|
CREATE INDEX IF NOT EXISTS users_google_id_idx ON users(google_id);
|
|
|
|
-- Done! Google OAuth users can now be created without passwords.
|