If it works and doesn't hinder you, then that's the most important thing.
However there are tools that enable you to do a lot more (especially if managing other environments then local) than PHPMyAdmin and you may not know what you're missing.
For instance I've become a huge fan of https://tableplus.com (it's paid). Some of my favorite things include:
prettify any SQL statement
a single editor for postgres, MySQL and more
I can flag a connection as requiring additional security steps before committing the query. For instance I can make a connection read only, or I can require that I enter a password in order to run anything other than a select query.
There are lots of really good features that are useful on larger systems, but this is a start.
I think I found it: TablePlus. GUI client, can connect to many databases and avaiable for Linux, Ubuntu (gnome or KDE, MacOS and windows and even ios) for free for a while (gratis), can easily edit MySQL databases with a simple interface.
Leaving this here in case someone needs it.
psql
is great.
If you need or want a GUI, DBeaver has always worked great for me. Both GH issues look like failures to setup JDBC correctly.
On macOS I really like TablePlus.
I almost never connect to a production DB directly using a GUI though.
i would say it depends on where the data is coming from. if the 3rd party is sending data to you, do not store it in the foo
table. you can keep it in another table away from your domain's data, and create some sort of lookup mechanism in your application code.
if the data is created & stored in your application rather than on the 3rd party system, you can drop the foreign key constraint on the bar_id
column, allow the field to be nullable, and add a normal index instead.
this way you'll keep the benefit of it being indexed (so joined queries shouldn't slow down), but you'll remove the necessity on having a value in the field.
if you're using Postgres you can even create a 'partial index' on only the fields which have bar_id
set, meaning the index is more optimised. however, as you don't specify, i assume you're using MySQL, so your migration would probably be something like:
ALTER TABLE `foo`
DROP FOREIGN KEY `bar_fk`;
ALTER TABLE `foo`
MODIFY `bar_id` INT NULL
accodring to this site, MySQL doesn't automatically drop indexes on FKs, so check that. you might not need to do anything more.
Don't get me wring, SequelPro works, but it hasn't had an update for about 3 years and crashes regularly. I don't think it has an active maintainer anymore. If you're looking for something similar, i recommend TablePlus
Hi using the mac version but i guess the windows version works just as good
it has a free version but definitely worth the money if you work with databases on a regular basis
https://tableplus.com, I'm dad.
I would consider tableplus
Intuitive ui Support for other RDMS Etc
I’m using the Mac version but I guess the windows version works just as good
It has a free version but definitely worth the money if you work with databases on a regular basis
Is Sequelpro not dead? I've not seen an update in ages, and it's very crashy for me.
Tableplus is lovely, though. https://tableplus.com/
(for the windows users amongst us, beware: TablePlus has a windows version, but it does not have all features. "Import / Export" is missing, which is the most essential functionality, imho)
Yeah, should be able to. I might check out MySQL Workbench - it's an application that gives you a nice GUI for working with your databases. Maybe could look into it after you go through the tutorial.
It's been a long time since I set up MySQL on Windows, but maybe this will help: https://tableplus.com/blog/2018/10/how-to-start-stop-restart-mysql-server.html
If you have no use for a spreadsheet's data manipulation features and you want to keep the data unchanged, that's probably best. Or you could create a simple SQLite database with all-text fields, that would make the data easier to search and manipulate without making any changes to the data itself.