- About project
- About me
- Sqlite studio linux mint
- Advanced SQL code editor
- Encrypted databases
- Multiple databases seamlessly
- Custom SQL functions
- Custom collation sequences
- SQL & DDL history
- D&D between databases
- Cross-platform
- Portable distribution
- Data populating
- Importing/exporting
- Scripting
- Plugins
- 3.3.3 released!
- 3.3.2 released!
- 3.3.1 released!
- 3.3.0 released!
- Development update
- GitHub Discussions (a forum)
- Update on the Dark theme
- New home page & more
- What’s already done
- Plans
- Files moved to GitHub
- 3.2.1 released!
About project
SQLiteStudio is desktop application for browsing and editing SQLite database files. It is aimed for people, who know what SQLite is, or what relational databases are in general.
I wrote pretty good history of the project at Wiki. Here I’ll quote just the part how it all started:
The project started in early 2007. I was looking for some SQLite manager, which is easy to use. I just wanted to create table quickly and put some data into it. At that time I could not find anything that would satisfy me (or I was really bad at looking it up). Anyway, that’s how the SQLiteStudio got its birth.
Project was initially implemented in Tcl/Tk. Version 3.0.0 was completely re-written in C++/Qt.
It is an open-source software, released on GPL (v3) license. Free to use for any purpose you like.
I’m always open for new suggestions and ideas (use GitHub to report these). I cannot promise all of them will be implemented, or when they will be implemented, but I’m doing my best.
For all these years it was mainly a one-man project (with few contributors here and there) and that stands till this day.
About me
My name is PaweЕ‚ Salawa and I’m from Poland. Professionally I’m Software Engineer (Java) for 16 years.
I mastered Tcl way back in 2000. I was looking for a tool, that will help me automate some stuff on my Linux desktop with UI interface. Linux kernel had this cool (as for 2000) UI configuration application. It happened to be written in Tcl. I loved how fast and easily you can write UI application with Tcl/Tk and I used it a lot.
I learned C++ around 2002-2003 by working on extensions for Kadu — Instant Messaging application. At that time I received tons of support from Kadu developers and I was amazed how helpful Open Source community can be. I’m writing all of this, because I always considered SQLiteStudio to be tribute to such people. A way for me to pay off for what I received.
Источник
Sqlite studio linux mint
It’s free of charge for everybody, for any purpose (including commercial). It’s safe, as anyone can review source code.
Advanced SQL code editor
The SQL Editor window assists user with SQL syntax hints & highlighting, provides pretty-print code formatter, marks syntax errors. You can Ctrl+click on table mentioned in SQL query to open that table (or index, or trigger, or view).
Encrypted databases
Currently supported encrypted, password-protected SQLite variations are: SQLCipher, WxSQLite3 and System.Data.SQLite.
Multiple databases seamlessly
You can execute SQL statements that refer to multiple databases within single query, thanks to transparent database attaching mechanism built into the SQL Editor of SQLiteStudio.
Custom SQL functions
You can implement your own SQL functions (scalar & aggregate) using JavaScript, Python or Tcl. There is repository of ready-to-use scripts on the wiki page.
Custom collation sequences
You can implement your own collation sequences (i.e. algorithms for comparing 2 values, that could be used in ORDER BY clause, etc).
SQL & DDL history
You need that query you executed 2 weeks ago? No problem. SQL Editor has a «History» tab. You need to upgrade production database the same way you did locally with SQLiteStudio? Use DDL History window — it has all DDL statements as executed by SQLiteStudio.
D&D between databases
You can Drag & Drop objects (tables, indexes, . ) between databases in order to copy or move them, with or without data.
Cross-platform
Works on all 3 major platforms — Windows, MacOS X, Linux. Can be compiled from sources on other, less common platforms (like FreeBSD, . ).
Portable distribution
There is a portable distribution. No need to install it. Just download the package, decompress and run. No administrator rights are required.
Data populating
Do you need to test your application quickly with some pre-generated data? SQLiteStudio can populate tables for you with various strategies (constant, sequence, random number, random text, dictionary-based text, script code generated).
Importing/exporting
SQLiteStudio can import data from various formats (currently CSV or any text file using Regular Expression), or export to various formats (SQL statements, CSV, HTML, XML, PDF, JSON).
Scripting
The application currently supports JavaScript, Python and Tcl scripting languages. Scripts can be used as generators for data populating, custom SQL functions, custom collation sequences).
Plugins
SQLiteStudio supports plugins of several categories. For example another scripting language can be added with plugin. Another import or export format, another table data populating strategy, another SQLite database format, SQL code formatter, code highlighter, table cell value representation renderer — all of these can be exteded with plugins.
Источник
3.3.3 released!
Rather small, yet important bugfix release. Includes update to the most recent SQLite (3.35.4) and brings back independent SQLite library file to allow user manual updates if necessary.
Other notable changes are:
- Expanded/collapsed state of connected databases is saved and restored upon next startup.
- The «DEFAULT» column on Structure tab is now correctly showing the default value (it was always empty in 3.3.2).
- Fixed support for portable config directory (the «sqlitestudio-cfg») that was broken in prior 3.3.x version.
- Few bugs causing unexpected application crash were fixed, improving overall stability of the application.
- Import and Export dialogs are now rendered correctly under «Fusion Dark» theme.
Full changelog is available here.
3.3.2 released!
Yet another bugfix release, due to critical bug in 3.3.1, which caused SQL numbers and star operators to be wrapped with quotes.
Apart from this key bugfix, one more fix in this version is that parenthesis pairs matching now uses different color scheme than text selection colors, so it is not confusing anymore. By the way of this release also automated Unit Tests are added for SQL formatter component, to reduce amount of regression bugs.
3.3.1 released!
A quick bugfix release, due to critical bug in 3.3.0, which caused SQL strings to be stripped from quote characters when formatting it.
- New option was added in configuration dialog (on Data Browsing page) allowing to disable «smart limit» for number of rows if user is working with lots of columns.
- HighDPI support improved further. There are still many issues with HighDPI scaling, but they are caused by issues that Qt has and SQLiteStudio will gain fixes for that as improvements in Qt are made.
- The Foreign Key dropdown (in grid view) was fixed to restore behavior from 3.2.1 (instead of selecting always 1st value from dropdown — or even crashing — when clicking away of it).
3.3.0 released!
After almost 3 years I’m proud to announce version 3.3.0. It brings update of SQLite to 3.34.1 with all its new features, dark theme, and much more!
Among many bugs fixed (59) and improvements, here are few outstanding new features and changes:
- SQLite upgraded to 3.34.1. This includes UI support for «generated columns», support for new syntax statements — OVER (Window Functions), UPDATE FROM , VACUUM INTO .
- DbSqliteWx plugin upgraded to use SQLite3MultipleCiphers (SQLite 3.34.1), thus now capable of opening WxSQLite3, SQLCipher and System.Data.SQLite databases (also under Linux & MacOS).
- DbSqliteCipher plugin upgraded to the most recent version too (which runs SQLite 3.34.0).
- Windows binaries are now 64-bit.
- Big values handing was significantly improved. SQLiteStudio still limits initial value for all cells to 100 characters (for optimization reasons) and loads full value when editing it, but if a cell has more data available for display, it will show button at the right side of the cell, allowing to load remaining piece of data at once. User can also load full values for entire column from right-click menu of the column header.
- Improved HighDPI displays support.
- Dark theme (Dark Fusion), including native dark theme on MacOS X.
- Toolbars received a small lifting — a number of buttons were removed (their functions are still available through menu bar, right-click context menu and keyboard shortcuts), Editor Window got its database dropdown pulled to the left, Table Window & View Window got database dropdowns at the beginning of toolbars — for easier context understanding by user.
Most repeated and irritating bugs that were fixed:
- Database panel (left-side panel) shrinking all the time — no longer shrinks.
- Column in data view is no longer resized if user sets his own width and then edits values in cells or refreshes data from database.
There are few notable removals:
- System.Data.SQLite plugin was removed, as the official System.Data.SQLite library was getting more and more outdated and with new DbSqliteWx plugin version (which can open System.Data.SQLite files) there’s no need to continue this plugin.
- SQLite2 plugin was removed. It was hardly ever used and was causing a lot of maintenance effort.
- Installer (Qt’s Installer Framework) was removed. Updates will still be checked and user will be notified about new version being available, but it will be up to the user to download new version. Only portable packages are going to be provided from now, until more suitable installer framework is found & mastered.
You can download new version either directly from home page or choose other files from GitHub releases page.
Development update
GENERATED columns support added & moved to version 3.3.0.
A lot of time passed since last release and SQLite has introduced number of syntax incompatible changes. More and more people complain about this so I decided to push hard on having them in SQLiteStudio. I just finished working on the «GENERATED ALWAYS AS» columns support. It’s a full support, that includes SQL syntax compliance, Constraints Dialog support and proper behavior (refreshing) in the data Grid View and Form View.
This of course comes with update of SQLite up to the most recent (at this moment) version — 3.34.1. Next big item pending is support for the Window Functions. These are big milestones, I decided to bump next SQLiteStudio release version to 3.3.0 (instead of 3.2.2). All the bugfixes planned for 3.2.2 are still valid for 3.3.0.
It looks like I will be able to deliver some more work during upcoming weeks, so I will be pushing forward the 3.3.0 as much as possible.
By the way I would like to thank all the supporters of the project! Especially big thanks to donators! Also thanks to all people who contribute translations in CrowdIn (all CrowdIn translations will be applied in SQLiteStudio 3.4.0). Then I’d like to thank those, who contribute even little piece code here and there. Finally, I would like to thank all people who care enough to reports spotted bugs, to share enhancement ideas, to propose solutions and to criticize (this is sometimes useful too).
GitHub Discussions (a forum)
Great news from GitHub — they started beta stage of Discussions feature and SQLiteStudio project has it enabled already. From now on instead of creating an issue to ask questions and discuss, you can use the Discussions exactly for that: https://github.com/pawelsalawa/sqlitestudio/discussions. All issues labeled with «discussion» or «question» were converted to the new Discussions items.
Update on the Dark theme
I’d like to share with you results of my recent efforts towards dark theme for SQLiteStudio.
The work is nearly done. I still need to make adjustments under MacOS, but here’s what you may expect in upcoming version 3.2.2:
New home page & more
As you already noticed, SQLiteStudio got its new home page. After significant period of stagnation, I’m back to active development of the project. There are few things already taken care of and solid plans for near future.
What’s already done
- New home page. Obviously.
- CI/CD with GitHub actions. I’ve already set up pipeline for unit tests per commit + 3 pipelines for building Windows/Mac/Linux binaries with just one click. This removes impediment of building binaries for each release, which was a headache so far.
- Installer (Qt Installer Framework) is removed from the application. We’re going back to portable packages only (i.e. download, uncompress and run). When I was introducing it in version 3.2.0, I wanted solution that is well tested and will make automatic updates for users easy. Instead it introduced more issues and bugs into the application, made binaries way bigger and complicated releasing process even further. I decided to remove automatic updates, but the application will still check if there is new version released (on GitHub) and notify user if there is (offering link to click). It’s just that it won’t install it — user will have to download and install it. Maybe in future I’ll consider other installer framework(s).
- Windows 64-bit binaries. Yes. No longer 32-bit binaries for Windows (which was often a trouble when working with huge datasets).
- SQLite2 and Android plugins are removed. They were very rarely used and caused a lot of maintenance effort.
- SQLite2 is old. If you need to open it, use older SQLiteStudio, migrate to SQLite3 and move on.
- Android plugin was far from ideal. To make it usable at decent level, it would require lots and lots of work. Also, I’m convinced there are better, dedicated ways to deal with SQLite databases in Android applications. I’m not an expert, but I think even Android Studio does it well.
- SQLite3 version updated to 3.30/3.31 (depending on certain plugins, not all vendors are at 3.31 at the moment when I’m writing it). Currently this is just about having recent database engine & syntax assistance, that will understand window functions and other new features in pure SQL queries. It will require more work in future to provide UI clickable interface for these features.
- Facebook page has been decommissioned. I’m not active FB user and I was always late with answering questions there. It is also yet another place to put time & effort to, while it’s not really beneficial to the project.
Of course there is many more bugfixes and minor enhancements coming in next release. You can track it on GitHub.
Plans
There is few things on my TODO list that I consider critical. They will not necessarily go into next release (which is mostly about bug fixing + few small enhancements), but are high on my priority list.
- Proper theming, with few pre-defined themes, including dark. Currently theming & color configuration is a nightmare.
- UI simplification. There is too much buttons at first glance. It should be more intuitive. Overall UX should be improved.
- High DPI support. Icons in the app are not scalable. SVG iconset should be used instead.
Files moved to GitHub
3.2.1 released!
Soon after 3.2.0 few major problems appeared, which are addressed in 3.2.1.
One was inability to start application under Linux, second was missing Image previewer plugin in binary packages. Both problems were caused by incorrect packaging scripts. There was also one more smaller bug regarding data exporting (see ChangeLog for more details).
If you’re upgrading automatically from 3.2.0, after you’re done, you need to run the «UpdateSQLiteStudio» from application’s folder, pick «Add or remove component» option, on next page expand the tree and mark «Image editor/viewer plugin» and proceed with installation. If you’re installing/downloading 3.2.1 from homepage (and not through the auto-update), you will already have this plugin installed.
Источник