[{"data":1,"prerenderedAt":208},["ShallowReactive",2],{"project-18166090":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":43,"post_text":46,"what":47,"said":82,"maker_in_thread":140,"shape":142,"grid":144,"attempts":167,"same_week":172,"maker_shows":45,"maker_hidden":200,"reader_version":201,"card":202},"18166090","Firebase2graphql","Migrate from Firebase to GraphQL on Postgres","title","Show HN: Firebase2graphql – Migrate from Firebase to GraphQL on Postgres","https:\u002F\u002Fgithub.com\u002Fhasura\u002Fgraphql-engine\u002Ftree\u002Fmaster\u002Fcommunity\u002Ftools\u002Ffirebase2graphql","github.com","wawhal",1538994405,2018,114,11,380,2155,18,"notable","infrastructure","database migration cli","cli",[24,25,26,27,28],"firebase migration","postgres","graphql","realtime subscriptions","hasura","curious",0.056,{"positive":32,"neutral":33,"mixed":34,"critical":34},1,9,0,10,{"idea":37,"performance":38,"pricing":39,"design":40,"privacy":41,"docs":42},{"positive":34,"critical":34},{"positive":34,"critical":34},{"positive":34,"critical":34},{"positive":32,"critical":34},{"positive":34,"critical":34},{"positive":34,"critical":34},[44,44,44,44,44,44,45,34,44,44,44],3,5,null,{"problem":48,"audience":46,"pricing":46,"motivation":56,"time_to_build":46,"stack":60,"openness":80,"stage":81,"team_size":81},{"value":49,"source":50,"evidence":51},"Moving data from Firebase to Postgres with a realtime GraphQL API","commenter",[52],{"id":53,"by":54,"text":55},"18166807","tango12","Hi HN! We wrote this CLI to explore migrating from Firebase to Postgres as easily as possible. We use Hasura[1] to generate the realtime GraphQL API on Postgres automatically.…",{"value":57,"source":50,"evidence":58},"Explore migrating from Firebase to Postgres as easily as possible",[59],{"id":53,"by":54,"text":55},[61,65,69,73],{"value":62,"source":50,"evidence":63},"Postgres",[64],{"id":53,"by":54,"text":55},{"value":66,"source":50,"evidence":67},"Hasura",[68],{"id":53,"by":54,"text":55},{"value":70,"source":50,"evidence":71},"GraphQL",[72],{"id":53,"by":54,"text":55},{"value":74,"source":50,"evidence":75},"Haskell",[76],{"id":77,"by":78,"text":79},"18168480","DataInSolutions","That's a great question. I've been considering Hasura for an upcoming app and have been prototyping things with great success. I hadn't really considered how it implements the…","open_source","unknown",{"praise":83,"objections":88,"requests":89,"questions":90,"alternatives":131},[84],{"value":85,"source":50,"evidence":86},"Hasura GraphQL server's JWT auth and access restrictions seem well thought out",[87],{"id":77,"by":78,"text":79},[],[],[91,105,116,123],{"value":92,"source":50,"evidence":93},"How realtime subscriptions work on filtered, sorted lists and over-fetching",[94,98,102],{"id":95,"by":96,"text":97},"18166934","jondubois","Do real-time subscriptions also work on sorted, filtered lists? E.g. If a new item is added to the list, will it appear in the list in real-time? Also, if an item's property is…",{"id":99,"by":100,"text":101},"18166996","0x777","Yes they work with filters, ordering etc. > ... prevent over-fetching This is handled server side. Subscriptions are more like 'live queries'. The server sends the data to the…",{"id":103,"by":96,"text":104},"18167549","It sounds like the server has to keep track of all active live-queries. Does it need to re-fetch all of them on every update?",{"value":106,"source":50,"evidence":107},"How Postgres notifies of query result changes",[108,112],{"id":109,"by":110,"text":111},"18167829","devit","Is this Hasura GraphQL Engine open source? What's the business model? Are there any features missing if you don't pay anything? How does it get notified by PostgreSQL when the…",{"id":113,"by":114,"text":115},"18170279","zawerf","> AFAIK PostgreSQL has no such built-in functionality Postgres actually has basic pubsub via \"LISTEN\" and \"NOTIFY\". I was planning on trying out rethinkdb as a real-time database…",{"value":117,"source":50,"evidence":118},"How data is secured in Hasura",[119],{"id":120,"by":121,"text":122},"18168794","lacker","How do you secure this data in Hasura? The article does not seem to mention security.",{"value":124,"source":50,"evidence":125},"Whether Hasura is open source and its business model",[126,127],{"id":109,"by":110,"text":111},{"id":128,"by":129,"text":130},"18167916","spaceheeder","Hasura's homepage[0] links to their Github[1], so it's definitely open source. The \"Enterprise\" section of the website seems a bit lite and all the pricing information is on the…",[132,136],{"value":133,"source":50,"evidence":134},"Firebase",[135],{"id":53,"by":54,"text":55},{"value":137,"source":50,"evidence":138},"RethinkDB",[139],{"id":113,"by":114,"text":115},{"comments":34,"answered":34,"key":141},[],{"commenters":33,"max_depth":44,"maker_replies":34,"first_comment_mins":143,"lifespan_hours":33},125,[145,147,149,150,151,154,155,157,159,161,165],[53,34,44,146,54,34],"maker\u002Fneutral\u002Fidea",[95,32,44,148,96,34],"project\u002Fneutral\u002Fperformance",[99,32,44,148,100,34],[103,32,44,148,96,34],[109,152,44,153,110,34],2,"project\u002Fneutral\u002Fpricing",[128,152,44,153,129,34],[77,152,45,156,78,34],"project\u002Fpositive\u002Fdesign",[113,152,34,158,114,34],"other\u002Fneutral\u002Fnone",[120,44,44,160,121,34],"project\u002Fneutral\u002Fprivacy",[162,44,44,163,164,34],"18168868","project\u002Fneutral\u002Fdocs","anandr2013",[166,44,44,160,54,34],"18168935",[168,171],{"id":169,"t":170,"points":45,"comments":34},"18092921",1538139531,{"id":4,"t":12,"points":14,"comments":15},[173,178,183,187,192,196],{"id":174,"name":175,"points":176,"category":177},"18166538","Alan",413,"dev_tools",{"id":179,"name":180,"points":181,"category":182},"18166753","aiortc",216,"languages",{"id":184,"name":185,"points":186,"category":177},"18154825","Markdown page",169,{"id":188,"name":189,"points":190,"category":191},"18154427","Trigonoparty",144,"learning_science",{"id":193,"name":194,"points":195,"category":177},"18183334","Percollate",123,{"id":197,"name":198,"points":199,"category":182},"18155262","Fork",58,false,"v2",{"id":203,"name":5,"line":6,"ai":200,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":204,"top":18,"kw":205,"maker":11,"domain":10,"tier":19,"attempts":152,"strip":206,"url":9,"mix":207,"praise":85,"objection":-1,"sub":21},18166090,0.06,[24,25,26,27,28],"33333350333",[32,33,34,34],1793990980469]