You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Contributors.md
+13-4Lines changed: 13 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,16 +2,25 @@
2
2
3
3
Below is a list of features and improvements to which you can contribute. If you have any additional ideas, please raise an issue or implement them as well!
4
4
5
-
- Delete Table
6
-
- Add a command to delete a table from the canvas, making sure to implement checks to maintain data integrity
7
5
- Logging needs a default settings list and direct reimport into live database.
8
-
- The SQL code to import has been placed into the DB_Schemas folder along with SQL Schema dumps. Also, log setting functionality is currently limited to Postgres databases and the code needs to be expanded to query and display log setting info from MySQL databases.
6
+
- The SQL code to import has been placed into the DB_Schemas folder along with SQL Schema dumps. Also, log setting functionality is currently limited to Postgres databases and the code needs to be expanded to query and display log setting info from MySQL databases.
9
7
- Db-schemas
10
8
- The schemas are saved under db_schemas and is saved in the server. Have a way to delete the schemas on the server from the front end. It would also be convenient to add these schemas to a list of existing schemas and be able to pull these schemas to display for the user to avoid having to make a new connection to the same database multiple times.
11
-
-Expand compatibility with other SQL database such as Oracle SQL, Microsoft SQL, IBM Db2, etc.
9
+
-Complete the integration of SQLite as an optional database and expand compatibility with other SQL database such as IBM Db2, etc.
12
10
- Add additional themes and graphical options to canvas and tables
13
11
- Live query feedback so users can see what their changes to the canvas look like as queries.
12
+
<<<<<<< HEAD
13
+
- As the ability to manipulate data has been recently added, there are not as many safe guards to prevent users from performing actions that are not allowed for some databases.
14
+
- Limiting the data types to only those possible for the the database the user is currently working on.
15
+
- Adding Account specific functionality and the ability to save data to your account.
16
+
- TypeORM has been implemented to connect to multiple databases but can be modified to further universal database functions
17
+
=======
18
+
- Create login feature to save multiple databases to user account and be able to load multiple past databases.
19
+
>>>>>>> dev
14
20
15
21
Known bugs/issues
16
22
17
23
- Undo function will not revert the state of the canvas to the point where it is empty.
24
+
- Attempting to change the name of a column while adding a foreign key will result in the page crashing and going all white. Changing the column name is currently disabled.
25
+
- When creating a new foreign key on a column, if you click submit while there is no table selected, the display area will shrink to a very small square in the top left corner of the page.
26
+
- Exporting your query has been affected in the course of adding additional databases and needs to be reorganized
- Enhanced support for SQL databases with expanded options.
23
+
- Introduction of visualized DATA tables for improved data analysis.
24
+
- Robust CRUD functionality enabling the addition, modification, and deletion of rows in DATA tables within the database.
25
+
- Capability to remove and add tables as needed.
26
+
- Implementation of Google and GitHub OAuth log-ins for streamlined user authentication.
27
+
19
28
20
29
### Use Cases
21
30
22
-
- Connecting to an existing remote PostgreSQL and MySQL database
23
-
- Renders an ER diagram of the existing database and provides an interface for users to both modify existing tables and create new tables. A log of changes is stored, and at any point, the user can generate a query containing the changes, such that they are reflected in the existing database.
31
+
- Connecting to an existing remote PostgreSQL, MySQL, MicroSoftSQL, OracleSQL databases
32
+
- Renders an ER diagram for SCHEMA and DATA of the existing database and provides an interface for users to both modify existing tables and create new tables. A log of changes is stored, and at any point, the user can generate a query containing the changes, such that they are reflected in the existing database.
24
33
- Uploading your database's SQL file
25
34
- Renders an ER diagram for the provided SQL file (db dump) and provides an interface for a user to both modify existing tables and create new tables. Changes are converted into the corresponding queries, which the user can view and execute on their own database outside of dbSpy.
26
-
- Seamlessly visualize relational databases
35
+
- Seamlessly visualize relational databases (both SCHEMA and DATA)
27
36
- After connecting database tables with one another, users are able to render the relationship connections of individual tables by clicking on the tables.
28
37
- Creating a database + ER diagram from scratch
29
38
- Provides a canvas for users to create a database by using ER diagrams, thus creating a blueprint for engineering database structures.
@@ -36,24 +45,27 @@
36
45
37
46
2.**ER Diagram Visuals:** Visualize the entity relationship diagram of a database with dynamic handle placement
38
47
39
-
3.**Table Relationship Visuals** Relationships of individual tables are easily identified when clicking on a table.
48
+
3.**Table Relationship Visuals** Relationships of individual tables are easily identified when clicking on a table
49
+
50
+
4.**Schema Modification:** Toggle between Schema and Data easily with a click of a button
40
51
41
-
4.**Schema Modification:** Easily modify a database's schema through a simple UI
52
+
5.**Data/Schema Modification:** Easily modify a database's schema or data through a simple UI
42
53
43
54
5.**Guided Database Building:** Create a new database from scratch using entity relationship diagrams to ensure the integrity of the database
44
55
45
56
6.**Database Undo/Redo:** Provides a history of edits for easier backtracking
1. Click on the "Connect Database" button under the Action section on the left side of the page. This will open a sidebar on the right side of the page.
149
171
2. Select the database type from the dropdown.
150
172
3. Input your database URI information OR database connection credentials and click on "Connect".
151
173
4. Once the connection to your database is established, the canvas will render and generate the tables and their relationships.
174
+
* OracleSQL requires the download of the OCI - [here](https://www.oracle.com/cloud/free/)
175
+
176
+
177
+
178
+
## <imgsrc="images/LandingPageDemo.gif">
179
+
152
180
153
-
<imgsrc="images/Canvas%20renders.png">
154
181
155
182
### Uploading your database's SQL file
156
183
@@ -162,30 +189,54 @@ npm run cert:linux
162
189
1. Locate and click on the "Build Database" button under the Action section on the left side of the page. This will render the canvas for you to create your database schema.
163
190
2. Click on "Add Table" to name the first table and start building your database.
164
191
165
-
## Adding column(s) to a table
192
+
## Adding column(s) to a SCHEMA table or row(s) to a DATA table
166
193
167
-
1. To add a new column in a table, click on the add icon on the top right of the table node. This will render a new column in the table in edit mode.
194
+
1. To add a new column/row in a table, click on the add/plus icon on the top right of the table node.
195
+
2. This will render a new column/row in the table in edit mode.
196
+
3. Add in the data you would like in each column/row.
197
+
4. Click on the confirm icon to save the column/row.
198
+
5. The changes made in DATA table will be updated in your database.
199
+
6. Click on the cancel icon to cancel the addition.
168
200
<imgsrc="images/Create%20tables.png">
201
+
<imgsrc="images/addRow.png">
169
202
170
-
### Editing an existing column in a table
203
+
204
+
### Editing an existing row of a DATA table
171
205
172
206
1. Click on the edit icon of the specific column that you want to edit.
173
207
2. You can make changes to column fields based on the selections provided.
174
208
3. Click on the save icon to keep your changes.
175
209
4. Click on the cancel icon to cancel your changes.
176
210
211
+
### Deleting a column to a SCHEMA table or row of a DATA table
212
+
213
+
1. Click on the delete icon of the specific column that you want to delete.
214
+
2. Click on the confirm icon to delete the column.
215
+
3. Click on the cancel icon to cancel the deletion.
216
+
217
+
218
+
## <imgsrc="images/MakingEditsDemo.gif">
219
+
220
+
177
221
### Adding a foreign key reference to a column
178
222
179
223
1. While editing a column, if setting Foreign Key (FK) to "true", the Foreign Key Reference sidebar will appear on the right side of the screen.
180
224
2. In the Foreign Key Reference sidebar, use the displayed dropdowns to create references between tables.
181
225
3. Click save or cancel to proceed.
182
226
4. Click on the save icon to keep your changes or click on the cancel icon to cancel your changes.
183
227
184
-
##Deleting an existing column in a table
228
+
### Adding a table to a database
185
229
186
-
1. Click on the delete icon of the specific column that you want to delete.
187
-
2. Click on the confirm icon to delete the column.
188
-
3. Click on the cancel icon to cancel the deletion.
230
+
1. When on the display page, click the 'Add Table' icon after you have either connected to a database or clicked 'Build Database'.
231
+
2. Fill in the required information about the first column of your table along with a name.
232
+
3. If you would like to include additional columns, click the 'Add Column' button in the top right corner.
233
+
3. Click confirm to create your table.
234
+
235
+
### Deleting a table from a database
236
+
237
+
1. After you have either connected to a database or started a new database, the 'Delete Table' icon will appear on the left side of the display page
238
+
2. This will open a pop out with a list of tables from the database.
239
+
3. Select which table that you would like to have removed, and confirm to have it deleted.
0 commit comments