Unity에서 supabase 데이터베이스를 사용해 보십시오
개발 환경
누겟을 통해서 수파스.
supabase의 C# 고객은 Nugget을 통해 얻을 수 있기 때문에 NuGetForUnity에 가입합니다
NuGetForUnity를 넣은 후 NuGet>Manage NuGet Packages를 supabase로 검색하면 supabase-cshrap이 맨 위에 나타나므로 설치합니다.
다운로드가 끝난 후 유니티에는 원래 뉴튼소프트가 있었다.제이슨이 수파베이스-csharp에 있는 물건과 부딪히기 때문에 유닛을 삭제합니다.Version Cotrol이 없으면 Package Manager에서 Version Control을 제거하는 것이 더 쉽습니다.자세한 내용은 다음 Qita 기사를 참조하십시오.
Multiple precompiled assemblies with the same name Newtonsoft.Json.dll included or the current platform. Only one assembly with the same name is allowed per platform.
클라이언트 초기화
supabase 클라이언트 초기화에 사용할 클래스를 만듭니다.이번에는 URL과 Key를 Serialize Field에게 맡기고
Client.Initialize()
만 맡길 수 있다면 무엇이든 좋습니다.public class SupabaseClient : MonoBehaviour
{
[SerializeField] private string supabaseUrl;
[SerializeField] private string supabaseKey;
private async void Awake()
{
await Client.Initialize(supabaseUrl, supabaseKey);
}
}
모델 클래스 생성
이번에는 간단한 온라인 랭킹 기능을 실시한다.
상속
BaseModel
의 모델 클래스를 생성합니다.클래스Table
에 attribute를 추가하고 매개 변수에 표 이름을 추가하며 속성에 각각 Column
attribute를 추가하고 대응하는 열 이름을 매개 변수에 넣습니다.이번 주 키워드PrimaryKey
는 DB 쪽에서 자동으로 증가하는 것으로 설정되었기 때문에 클라이언트 쪽에서 생성하지 않기 위해id
ShouldInsert
.[Table("scores")]
public class ScoreModel : BaseModel
{
[PrimaryKey("id", false)] public int Id { get; set; }
[Column("score")] public int Score { get; set; }
[Column("user_name")] public string UserName { get; set; }
public Score ToScore()
{
return new Score(UserName, Score);
}
public static ScoreModel FromScore(Score score)
{
return new ScoreModel {UserName = score.UserName, Score = score.Value};
}
}
방금 초기화된supabase 클라이언트 호출false
을 통해 표를 조작할 수 있습니다.public class SupabaseRepository : IScoreRepository
{
private readonly Client _supabaseClient;
public SupabaseRepository(Client supabaseClient)
{
_supabaseClient = supabaseClient;
}
public async UniTask InsertScore(Score score)
{
var scoreModel = ScoreModel.FromScore(score);
await _supabaseClient.From<ScoreModel>().Insert(scoreModel);
}
public async UniTask<List<Score>> FetchTopThirty()
{
var response = await _supabaseClient.From<ScoreModel>().Order("score", Constants.Ordering.Descending)
.Limit(30).Get();
return response.Models.Select(model => model.ToScore()).ToList();
}
}
자세한 내용은 From<ScoreModel>
의 공식 문서를 보십시오.만들어진 물건
Reference
이 문제에 관하여(Unity에서 supabase 데이터베이스를 사용해 보십시오), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/adoring_onion/articles/unity-supabase텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)