Note that there are some explanatory texts on larger screens.

plurals
  1. POPostgreSQL development workflow
    primarykey
    data
    text
    <p>I am starting to build a new database for my project using PostgreSQL. (I am new to PostgreSQL and database by the way.)</p> <p>I think my development workflow is very bad, and here is a part of it: </p> <ol> <li>create table/view/function with pgAdmin.</li> <li>determine the name of the file before saving the code.<br> The goal is to be able to recreate the database automatically by running all the saved scripts,<br> I need to know the order to run these scripts for dependency reason. <br> So I add a number for each file indicating the order. for example: 001_create_role_user.ddl, 002_create_database_project.ddl, 013_user_table.ddl</li> <li>save the code.</li> <li>commit the file to repository using GIT.</li> </ol> <p>Here are some bads I can think of:</p> <ul> <li>I can easily forget what changes I made. For example, created a new type, or edited comment</li> <li>It is hard to determine a name (order) for the file.</li> <li>Change the code would be a pain in the ass, especially when the new code changes the order.</li> </ul> <p>So my workflow is bad. I was wondering what other Postgres developers' workflow looks like.</p> <p>Are there any good tools (free or cheap) for editing and saving scripts? good IDE maybe?</p> <p>It would be great if I can create automated unit tests for the database.</p> <p>Any tool for recreating the database? CI server tool?</p> <p>Basically I am looking for any advice, good practice, or good tool for database development. </p> <p>(Sorry, this question may not fit for the Q&amp;A format, but I do not know where else to ask this question.) </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload