Turso и Astro
Turso — это распределенная база данных, построенная на libSQL, форке SQLite. Она оптимизирована для низкой задержки запросов, что делает ее подходящей для глобальных приложений.
Инициализация Turso в Astro
Заголовок раздела Инициализация Turso в AstroПредварительные условия
Заголовок раздела Предварительные условия- Установленный и авторизированный Turso CLI
- База данных Turso со схемой
- URL вашей базы данных
- Токен доступа
Настройте переменные окружения
Заголовок раздела Настройте переменные окруженияПолучите URL вашей базы данных с помощью следующей команды:
Создайте токен аутентификации для базы данных:
Добавьте результаты выполнения обеих команд в файл .env
в корне проекта. Если этот файл не существует, создайте его.
Не используйте префикс PUBLIC_
при создании этих приватных переменных окружения. Это приведет к раскрытию этих значений на клиенте.
Установка клиента LibSQL
Заголовок раздела Установка клиента LibSQLУстановите @libsql/client
для подключения Turso к Astro:
Инициализация нового клиента
Заголовок раздела Инициализация нового клиентаСоздайте файл turso.ts
в папке src
и вызовите createClient
, передав ему TURSO_DATABASE_URL
и TURSO_AUTH_TOKEN
:
Запрос к вашей базе данных
Заголовок раздела Запрос к вашей базе данныхЧтобы получить доступ к информации из вашей базы данных, импортируйте turso
и выполните SQL-запрос внутри любого компонента .astro
.
Следующий пример извлекает все posts
из вашей таблицы, а затем выводит список заголовков в компоненте <BlogIndex />
:
SQL Заполнители
Заголовок раздела SQL ЗаполнителиМетод execute()
может принимать объект для передачи переменных в SQL-запрос, например, slug
или пагинацию.
Следующий пример извлекает одну запись из таблицы posts
, где slug
- это значение, полученное из Astro.params
, а затем отображает заголовок сообщения.
Ресурсы Turso
Заголовок раздела Ресурсы Turso- Turso Docs
- Turso on GitHub
- Использование Turso для обслуживания содержимого блога Astro с рендерингом на стороне сервера