Using Emacs Org-Mode With Databases: A getting-started guide

URL: gitlab.com
9 comments

Slight off-topic, but getting organized was a lifelong struggle for me (I was the person who had a five-foot high stack of unorganized papers and crap in their locker in middle and high school), and org-mode is the only system that broke me out of that cycle. It has genuinely changed my life. It's not for everyone, but if you've been unsatisfied with everything else and keep jumping from system to system, it's worth a try. (Especially now that you can get Claude to just explain the basics of Emacs configuration to you, which wasn't the case when I started.)

I have been interested in trying emacs for a long time (I recently found an old emacs config file of mine from 2003) but I haven't actually used it until the last few months when I gave Spacemacs another shot. Coming from vim, and having some pretty great defaults out of the box, I wouldn't suggest anyone try anything else at this point.

That said, I'm still trying to wrap my head around how org-mode can work with my existing Obsidian vault. So far it's working pretty well, but I still feel like I'm missing some things to make it really all click together.

Orgmode has been on the back of my mind forever. Ive been working on implementing a system recently. My hesitation with orgmode is that I'd like to share calendar/todo list with my non technically minded spouse and I like Vim. Any suggestions?

>I like Vim

doom emacs

>share calendar/todo

There is org-caldav that you can point to an org file and it syncs with a caldav server. This way you can have two-way sync from e.g. a phone's calendar to your org file.

I basically just wrote my answers in a neighboring comment, but I would try Spacemacs (default is Evil mode aka vim mode) backed with an Obsidian vault. I share a subfolder of the vault with my wife via iCloud, who can open it up on her phone and see the content and make edits in a non-techie way.

if you want to fall back to a less hardcore intro try spacemacs or doom emacs, very vim friendly

>Especially now that you can get Claude to just explain the basics of Emacs configuration to you, which wasn't the case when I started

although also worth pointing out that Emacs often leads with the adjective self-documenting for a reason. Emacs has fantastic facilities built in to get information on virtually anything. Tutorials with C-h t, manuals with C-h r, apropos and describe- to search for any object etc. And pretty much any major extension like org has great documentation. Which btw I think is well worth reading or at least skimming to get an idea on how much you can do with it.

You can also combine this with TRAMP to work on databases you can't directly access from your local machine. E.g.:

  #+header: :dir /ssh:user@remote-host:/
  #+begin_src sql
  ..
  #+end_src

My “Poor Man’s SQL Workbench” trick is to…

    Use org-babel to execute the queries, from my “sql-queries.org” file.
    Overwrite results into a /tmp file, also an org-mode file, with latest query results (call it anything — “query-result.org”).
    Make psql spit out org-formatted tables for extra oomph.
    Keep that results file open in another buffer (or frame on a big screen, if the table is wide).
    Let Emacs auto-refresh the buffer, when it detects the file has changed.
Et voila! L’établi SQL du pauvre.

Screenshot + sample code in the gist below (a `.org` file, as befits this topic :)

https://gist.github.com/adityaathalye/a6004acd34c683bcc806b2...

I used Org Mode for all mandatory assignments [0] when I was a student, it worked super well and I could create well formatted LaTeX documents/PDFs from it as well. The supervisors were very impressed that I did my assignment in LaTeX, and I could never be bothered to correct them :-)

[0]: https://gist.github.com/sondr3/ae4eda2816cfeda7b8597ce1c48d0..., best viewed as the raw file for all the details

Kudos to you, my biggest regret nowadays was not learning how to use orgmode (and org-roam) in college. As long as you set up a proper environment and have an org-publish config you barely need to bother with verbose LaTeX documents.

https://www.orgroam.com/

Very much this. In fact, I had made a note about earning "professor points", in my (giant) blog post [0] describing my org-mode use...

   6. Professor Points: I also get intermediate tex output for free,
      which I don't need, but may please you if you are a professor
      (or said professor's hopelessly sleep derived grad students).
---

[0] Discussed here recently:

  Why and How I use “Org Mode” for my writing and more (2022) (evalapply.org)
  217 points by sebg | 6 months ago | 64 comments
https://news.ycombinator.com/item?id=43157672

^derived^deprived

ah ... hahaahhh ... quite possibly, I was sleep, ah, derived at the time of finishing it up ... i shall let the typo remain, to vex yet another eagle-eyed reader

I used a similar setup a long while ago and wanted a way to connect to databases easily. So I wrote some code to parse the MySQL and Postres config files to extract database info in Emacs: https://stackoverflow.com/a/46114944

Emacs with databases without org would be interessing. I now there is sql-mode which supposedly works to connect with an inferior process but a tuorial about that would be nice

I second that and would be interested in the sqlite-mode version of the tutorial.

[dead]

[dead]