I’m lurking in here, I’m thinking about switching to self hosted supabase instead of Firebase, so to have that control. I’m currently in the process of figuring on how much resources it is and implementing it into my systems.
I would love a stable production release, would be amazing! Also, I’ve enabled notifications for this topic.
Hi! I’m working on the Supabase module to give a better experience to the programmer, I don’t know if I’ll finish it, because I have school so I don’t know if I’ll have time to finish it
UPDATE: I’m advancing the Supabase Module code so I can move to version 1.0.0 and get out of beta, I’m having some problems with the code but I’ll try to fix them
Wow, this sounds amazing! I’ve been learning about Firebase and Supabase recently and it’s awesome that you were able to link Supabase and Roblox together. Thank you for the contribution!
I’ve recently experimented with Supabase for a data-heavy web app irl, using the same tech stack for our Roblox game would make integrating with custom web apps much easier!
How would you estimate the stability right now? Do you plan on continuing this module?
I don’t have initially to follow this module, I’ve been too busy and the truth is that this module doesn’t call my attention because there is not much that I can think of to add, and besides I lost the original project and I would have to redo everything and it’s something that makes me lazy
Works well for me, I just needed a key,value pair storage and this did take some extra time to set up because of the lack of documentation but I got it working.
local ReplicatedStorage = game:GetService('ReplicatedStorage');
local Supabase = require(ReplicatedStorage.Supabase)
local SQL = {}
function SQL.new(TABLE)
local self = setmetatable({}, { __index = SQL })
self.TABLE = TABLE
self.client = Supabase.createClient({
...
})
return self
end
function SQL:GetAll()
local data = self.client:from(self.TABLE):select("*"):execute()
local parsedData = {}
for _, col in data do
parsedData[col.Key] = col.Value
end
return parsedData
end
function SQL:Set(key, value)
local col = self.client:from(self.TABLE):select("*"):eq("Key", tostring(key)):execute()
if col[1] then
return self.client:from(self.TABLE):update("Key", key, { Value = tostring(value) })
else
return self.client:from(self.TABLE):insert({ Key = tostring(key), Value = tostring(value) })
end
end
function SQL:Get(Key)
return self.client:from(self.TABLE):select("*"):eq("Key", tostring(Key)):execute()[1].Value
end
return SQL