protoqol / prequel Goto Github PK
View Code? Open in Web Editor NEWPrequel for Laravel. Clear and concise database management.
Home Page: https://packagist.org/packages/protoqol/prequel
License: MIT License
Prequel for Laravel. Clear and concise database management.
Home Page: https://packagist.org/packages/protoqol/prequel
License: MIT License
For the default users table in Laravel, the cell count of table data does not match header cell count.
To Reproduce
Steps to reproduce the behavior:
The header has the following fields:
id, name, email, email_verified_at, password, remember_token, created_at, updated_at
The data row only has
id, name, email, email_verified_at, created_at, updated_at
Hey @QuintenJustus, I want to contribute to this repository. I build apps with Vue and Laravel often. I also have a lot of cool ideas for this app.
Before I get carried away though, I just want to try making some basic contributions. Do you have any "good first issues" for me?
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
Add any other context about the problem here.
Hi there guys, firstly thank you for this fantastic package. All is working well on my side. I just wanted to ask what the roadmap or plan is for when the "manage" screen might be ready. Is this something being actively worked on? Are we talking probably months or years before this comes to fruition?
Many thanks again.
Currently it is not clear that you can scroll horizontally in the currently selected table.
Solutions might be
Describe the bug
I altered my credentials in the config/prequel.php
file and they don't seem to affect the existing connection.
To Reproduce
Steps to reproduce the behavior:
config/prequel.php
DB.PASSWORD field to something like aaron-is-causing-trouble
and you should no longer be able to connect. You do, though.Expected behavior
If these exist here, I should be able to change my configuration. I like them because I might want to give Prequel a read-only user - different than my main application, so I'd say try to fix it, not get rid of them. Just my opinion.
Additional context
Pretty low priority again.
It seems that v1.22.2 is not yet published, is that correct? I'm looking for the PostgreSQL bug fix regarding SequelAdapter
missing, and am only getting v1.22.1.
Thanks.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
it would be great install it only on dev environent, if its possible now and im missing someting please let me know
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem? Please describe.
Seems like Prequel strips out any authorisation when you hit the main page, meaning it's not possible to update / create any middleware which checks agains certain levels of access
This also means it's possible to access prequel without being logged into any area of the application.
Describe the solution you'd like
Ability to keep any logged in session in order to be able to check against certain guards or permissions on the logged in user.
Additional context
Not sure if this is actually a bug? just seems strange that there's no auth carried over, but if I head back to the rest of my application, I still have a session.
Describe the bug
When publishing the vendor public items, a phpmd.html file is published
To Reproduce
Steps to reproduce the behavior:
Expected behavior
There would not be this file.
Is your feature request related to a problem? Please describe.
It would be nice to have a desktop version of this application similar to sequel pro
Describe the bug
Look for Table... search field should restrict to tables of selected Database
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Should only display tables belong to the selected database
Desktop (please complete the following information):
Smartphone (please complete the following information):
n/a
Additional context
Add any other context about the problem here.
Is your feature request related to a problem? Please describe.
It is best practice to include some sort of unit, integration or feature type tests with your libraries. I tend not to use an open source product / library if they don't have adequate tests. Not only does it help with code quality and reducing bugs, it gives the reader an idea of how the product functions without having to do a deep-dive into the code.
Describe the solution you'd like
I'd like to see some unit tests for both front and back-end code. I'm not proposing anything insane like even 80% code, but some framework to get contributors started.
Additional context
It'd be nice to know if this is something that the author doesn't think is important, thinks they didn't have time to do, thinks isn't important, or doesn't know how to implement effectively. Sharing this sentiment can help contributors understand how to best proceed and help the project.
Add documentation about the config file config/prequel.php
to the readme below the installation section.
Is your feature request related to a problem? Please describe.
More of a personal preference but left aligning data tables makes it more readable to me
Describe the solution you'd like
Would be great if you could left align table data
Additional context
Here is a shot of the demo with centered data:
Describe the bug
After installing the package, I tried to access /prequel and it's showing a blank white page. Error in the console.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The /prequel page showing the databases and tables.
PHP Version
Database type
Desktop (please complete the following information):
I would really like to see a easy way to remove Prequel. Just the opposite command to php artisan prequel:install
Describe the bug
Changing the path in the prequel config file will cause an error when trying to load the data.
To Reproduce
Steps to reproduce the behavior:
apps/prequel
Expected behavior
I expected prequel to be able to load databases at a custom URL
Desktop (please complete the following information):
Smartphone (please complete the following information):
Additional context
N/A
Describe the bug
Installed on Laravel 5.7.28 followed the instructions and got an error in the console. See the screenshot.
As examined main.blade
<script> // Pass initial data to JavaScript window.Prequel = {}; window.Prequel.env = @json($env); window.Prequel.error = { error : false, detailed: '', code : '', }; window.Prequel.data = @json($data['collection']); window.Prequel.flat = @json($data['flatTableCollection']); </script>
problem occurs here: window.Prequel.data = @ json($data['collection']); (I've specially pressed space at json because github was mentioning related user)
Describe the bug
I tried installing prequel which ended up in
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Prequel should run
Desktop (please complete the following information):
I tried changing the env variables in config and as per the screenshot prequel is not able to get the port number or its treating as NaN
Here:
Prequel/src/Http/Controllers/PrequelController.php
Lines 26 to 32 in 695852c
In the settings may not exist connections named "mysql
".
You should take the connection names from the config/prequel.php
settings.
Implement a dark mode, create a button in the top-right that can be switched on and off like the other 2 buttons.
Is your feature request related to a problem? Please describe.
When creating new tables/migrations on a brand new project, its nice to be able to check if those table columns are in the correct place, correct collation, length etc, without having to push dummy data right away into it.
Describe the solution you'd like
At a minimum it would be great to have the table column structure still showing for empty tables.
A better implementation could also be a different view similar to phpMyAdmin's 'Structure' tab.
Describe alternatives you've considered
Filling the table with dummy data solves the issue slightly but It could be nicer to have a more detailed view instead of having to check out the migrations for that table.
Describe the bug
First of all, I apologize if this is not really a bug. I did come across some code, though, that I wanted to help with. I didn't see exactly how it was used at first glance.
The issue is in DatabaseController::countTableRecords()
where it executes a ->count('id')
call. This can be a problem with tables that don't have a column named id
. I've seen a table named cars
which had a primary key of car_id
instead of just plain id
.
Some people will try to do count on a column that is a primary key like that because of performance gains. However, with covering indexes, that's not really something you need to force. Check out this article: https://www.percona.com/blog/2007/04/10/count-vs-countcol/ - while there are very RARE cases when it makes sense to count on a column, most Laravel apps will probably have an id
field that is a primary key/or/covering index. (Well aaron - if that's the case, what's wrong with the code as is? Right now - it forces you to have that column. By using the default call to count()
which defaults to column *
we can handle the few situations where there is no id
column.)
Suggested fix
Modify count('id')
to count('*')
I was thinking about all the features that Prequel is still missing and i18n came across my mind, but I'm not really sure if this is worth looking into. That's why I opened this RFC.
AFAIK Prequel is inferring the database type from the connection name (mysql
, pgsql
, etc.). I can only specify one database connection, also.
In my case I have more than one database connection, all using the same driver (pgsql
) but with different names. As such, when I try to access Prequel I get an error saying my database is not supported.
I would like to be able to use Prequel to manage all my connections. Am I missing something (namely some config option) that allows me to do so?
Describe the bug
When a model class uses the $visible
property to hide attributes, attributes that are not included in the $visible
array are not shown in Prequel.
To Reproduce
Use the $visible
property instead of $hidden
:
protected $visible = [
'created_at',
'email',
'id',
'name',
'updated_at',
];
Fix
I think this can be fixed by changing line 76 of DatabaseController.php from
$paginated->setCollection($paginated->getCollection()->makeVisible($hidden));
to
$paginated->getCollection()->each->setHidden([])->each->setVisible([]);
Which removes both the $hidden
and $visible
properties from the objects in the collection.
Describe the bug
Purposely, I set the password to my database connection to an incorrect value. Then I get an error of Oops... No valid database connection
with a suggestion of You're using an irregular port number, usually the port is 3306 (Yours is: NaN)
Couple things wrong here:
To Reproduce
Steps to reproduce the behavior:
.env
DB_PASSWORD
value to be wrong.Expected behavior
I think it could tell me what the error message was, and then also not null out my values. I'd like to see them because maybe I have a typo.
Additional context
Why would this happen you ask? Well, right now, it'd be very unlikely. But, you're publishing DB credential configuration in config/prequel.php
- which means you most likely want us to use them, too. My .env
file could be right, so my application works, but this configuration file (when implemented) might have a typo in it.
Because this is such a particularly weird issue to have, I'd rate it as pretty low priority.
When going to the previous or next page, the view won't update, but the URL does. There should be something like an event that dispatches and updates the currently selected database (in the view) based on the URL query parameters.
Possible solutions
Note: when you're taking up this issue please leave a comment below to let the other users know!
Describe the bug
If selected any project database table it loads correct data but if select Users table it loads in any table the data of the current database project.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Show data of selected database table, not the project installed prequel users table data.
Screenshots
Desktop (please complete the following information):
When we have lot of tables in the left column and we click on the name of a table in the bottom of the left column, we must scrolling to the top manually.
It would much better to go directly to the top of the screen like on phpmyadmin or sequel pro.
After installation when I am run prequel.
that's showing **
Create a fresh installation of laravel
install prequel using composer (i used the bets 0.6.2 version)
copy config and public resources
Run prequel
Shows the below image.
Oops... No valid database connection
Tried connecting through
://@:/
connection://user@host:port/database
1 SUGGESTION(S) FOUND
I have tried everything but it's not working, But It's not working please help me
composer install fails on latest laravel version 6.0.1. Are you guys planning on releasing a version supporting laravel > 6?
Problem 1
- Installation request for protoqol/prequel ^1.22 -> satisfiable by protoqol/prequel[v1.22].
- Conclusion: remove laravel/framework v6.0.1
- Conclusion: don't install laravel/framework v6.0.1
- protoqol/prequel v1.22 requires laravel/framework ^5.6 -> satisfiable by laravel/framework[5.6.x-dev, 5.7.x-dev, 5.8.x-dev].
- Can only install one of: laravel/framework[5.6.x-dev, v6.0.1].
- Can only install one of: laravel/framework[5.7.x-dev, v6.0.1].
- Can only install one of: laravel/framework[5.8.x-dev, v6.0.1].
- Installation request for laravel/framework (locked at v6.0.1, required as ^6.0) -> satisfiable by laravel/framework[v6.0.1].
When selecting a table, in a database underneath another database, that has a table with the same name, the first table is marked as active (meaning it gets a different text-color etc.). Meaning if the wrong database.table is marked as active.
Possible solutions
Note: when you're taking up this issue please leave a comment below to let the other users know!
Is your feature request related to a problem? Please describe.
I'm using this database tool to assist in debugging use data on local and production servers. I need developer to be able to securely visit this page in all environments.
Describe the solution you'd like
I'm hoping that we can add a new value to the config file which is called "middleware." This value will be set to an array of additional middleware I want added to the Prequel routes.
Describe alternatives you've considered
Alternatives could be a list of approved emails I can list into the config and only users by this email are permitted to see the Prequel routes and views.
Additional context
In order for this tool to be used in any sort of production context we'll need to have some sort of authentication.
Describe the bug
The current api url is /prequel-api but status still querying the /prequel/prequel-api/status url.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Seeing status query the right url so it can get the information from the database.
Desktop (please complete the following information):
Additional context
This may be just for me as I have made some changes and now updated to latest version but not changed the routes file.
If it occurs for others too then change ->prefix('/prequel-api')
to ->prefix(config('prequel.path') . '/prequel-api')
or the js that makes the query.
On first page load at /prequel , the top area formatting breaks down and has overlapping UI components if user name is too long.
Expected behavior
Clean non-overlapping interface.
For azure I have to user a username like this -
[email protected]
For security people may user super long usernames as well.
Probably just a CSS fix or something
Chrome version Version 75.0.3770.100 (Official Build) (64-bit) Windows 10 64 bit
Problem 1
- Installation request for composer/composer (locked at 1.9.0) -> satisfiable by composer/composer[1.9.0].
- protoqol/prequel v1.22 requires composer/composer dev-master -> satisfiable by composer/composer[dev-master].
- protoqol/prequel v1.22.1 requires composer/composer dev-master -> satisfiable by composer/composer[dev-master].
- Conclusion: don't install composer/composer dev-master
- Installation request for protoqol/prequel ^1.22 -> satisfiable by protoqol/prequel[v1.22, v1.22.1].
There was an error while loading this table. See the following:
Malformed UTF-8 characters, possibly incorrectly encoded
How to fix to read my tables with this encode?
Is your feature request related to a problem? Please describe.
Access to the dashboard is currently bound by an environment variable.
Describe the solution you'd like
Similar to Nova, Horizon, etc, Iโd like to be able to enable access in production but restrict access based on different criteria like a user role, user email, IP address, etc.
is any plan to support laravel 6.0 soon?
Currently I'm working on a lot of features, which included adding support for different database types namely postgresql
but that takes a lot of time and keeps me from adding the other features. So because of the time it takes I'm inclined to push back db support to the release after the upcoming one. But then still, it takes a lot of time.
sqlite
and sqlserver
?mysql
by @QuintenJustuspgsql
by @M4ST3RXIs your feature request related to a problem? Please describe.
Dockerize web app. It would be easier to get up and running with this.
Describe the bug
I tried to use your package, until displaying the database listing was running normally, when I clicked one of the tables from the database an error statement appeared
There was an error while loading this table. See the following:
Could not resolve error
Prequel suggests looking at the following points
Prequel could not suggest any fixes
Desktop (please complete the following information):
Smartphone (please complete the following information):
It has been decided that i18n for Prequel is definitely something people are looking for, see #33. That's why I need you guys to help translate! I am unfortunately not a polyglot ๐
Dev
branchfeature-lang-{your language here}
.en
directory and rename it to the language you're translating to, e.g. fr
for French.Is your feature request related to a problem? Please describe.
There's no problem. But, some people might not want 100 to be the default pagination from the API. I think we can put that value in the config file.
Describe the solution you'd like
Describe the bug
In a database called "Main" the "Users" table missing two fields therefore the column isn't showing the right data but on any other table or database it is working see in the screenshots.
To Reproduce
I have not tried to reproduce the issue as this has been like this since first time opening the table. I guess it is something to do with the naming as I have seen
Expected behavior
Expected to see two more null fields.
Desktop (please complete the following information):
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.