Моя конфигурация очень проста. Простая база данных supabase с одной таблицей.
Для взаимодействия с ней я использую supabase-py. Проблема в том, что я всегда получаю пустой список:
Код: Выделить всё
from supabase import create_client
URL = "MY_URL_HERE"
API_KEY = "MY_API_KEY_HERE"
supabase = create_client(URL, API_KEY)
response = supabase.table("prod_vxf").select("*").execute()
print(respnse.data)
# []
После проверки некоторых подобных тем, подобных этой, кажется, что единственное решение — отключить RLS. Поэтому я подошел к панели управления и отключил RLS для таблицы prod_vxf, и все заработало. Теперь приведенный выше код дает непустой список:
Код: Выделить всё
print(response.data)
[
{"id": 1, "created_at": "2024-01-01T00:00:00+00:00"},
{"id": 2, "created_at": "2024-01-02T00:00:00+00:00"},
{"id": 3, "created_at": "2024-01-03T00:00:00+00:00"},
]
Но что очень сбивает с толку, так это предупреждение ниже, которое появляется на моем экране, когда я пытаюсь отключить RLS для данной таблицы на панели управления супабазы. Означает ли это, что любой в Интернете (даже не зная ключа URL + API) может получить доступ (чтение и запись) к моей базе данных и ее таблицам? Честно говоря, меня очень смущает термин
публично, использованный в предупреждении.
[img]https:/ /i.sstatic.net/oTGpf3nA.png[/img]
Подробнее здесь:
https://stackoverflow.com/questions/789 ... ng-a-query