(no title)
ha470
|
5 years ago
While I love SQLite as much as the next person (and the performance and reliability is really quite remarkable), I can’t understand all the effusive praise when you can’t do basic things like dropping columns. How do people get around this? Do you just leave columns in forever? Or go through the dance of recreating tables every time you need to drop a column?
roenxi|5 years ago
SQLite really shines when you have a more-or-less final idea of what tables you want to build and don't have to worry about users inputting crazy data. Anything up to that and it is a model of simplicity. Anything beyond that and it is undercooked.
cheez|5 years ago
gwbas1c|5 years ago
In my case the data was always 10s of MBs.
Remember, the point of SQLite is a replacement for generating a file format. Although it's a database, it lets us (developers) re-use our knowledge of databases when doing basic file I/O.
72deluxe|5 years ago
Do the FK relationships get destroyed??
virvar|5 years ago
calpaterson|5 years ago
eli|5 years ago
faceplanted|5 years ago
gwbas1c|5 years ago
mmsimanga|5 years ago
Carpetsmoker|5 years ago
As for the reason, see the next section on that link. It's not perfect, but it is what it is. SQLite wasn't designed to solve 100% of the use cases, and that's not a bad thing.
dirtydroog|5 years ago
barrkel|5 years ago
MySQL did DML for years with full table rewrites behind the scenes. It's not particularly hard to emulate, though not entirely pleasant.
(Although I really raise an eyebrow when people talk about performance. Every time I write anything server-like in sqlite I end up regretting it, and get enormous speed boost, not to mention actual concurrency, switching to PostgreSQL.)
isoprophlex|5 years ago
For my use cases I've thusly never had to drop/alter a column... but I understand it could be very annoying.
iagovar|5 years ago
nojito|5 years ago