Skip to main content

Ralsina.Me — Roberto Alsina's website

Urssus: July 28th - Cleanup

I did a fair amount of work in urssus to­day. The high­light? data­base schema mi­gra­tion.

Here is the (not re­al­ly) full list:

  • Fix­es on the in­­stal­l­er

  • Fix in im­­por­­tOPML

  • Raise the win­­dow when you click on the systray pop­up

  • Fixed sev­er­al is­­sues af­ter feed dele­­tion

  • Fixed sev­er­al is­­sues with feeds not up­­­dat­ing the UI's un­read count

  • Fixed the look of but­­tons on search­Wid­get and fil­ter­Wid­get

  • And sev­er­al more...

And the big one:

  • Im­­ple­­men­t­ed data­base schema ver­­sion­ing us­ing sqlalche­my-mi­­grate.

What does that mean? That I can change the data­base and the us­er will not no­tice any­thing.

On star­tup, uRSSus checks if you are us­ing the cor­rect schema, and up­dates your data­base ac­cord­ing­ly.

For ex­am­ple, I can now im­ple­ment man­u­al feed sort­ing just adding a "po­si­tion" col­umn to the Feed class. If I had not im­ple­ment­ed this, that would re­quire a much greater hack.

Now? I just do it, write an up­grade/­down­grade scrip­t, and that's al­l. Mi­grate is re­al­ly a very cool tool, and shows the strength of us­ing SQLAlche­my (not so much that of us­ing Elixir, be­cause they get along grudg­ing­ly ;-)

Cur­rent LOC coun­t: 1491

Cur­rent sta­tus: still fun! (and ed­u­ca­tion­al!)


Contents © 2000-2023 Roberto Alsina