Re: [Planner Dev] Database schemas, versions and upgrading paths



Hi!


> This is where you rent a server and you pay per postgres database
> or the case where your company gives you one database. What you
> need to do is therefore prefix each table so that it doesn't clash
> with existing applications that you already have hosted inside that
> one database.
> 
> To stop this possibility of a clash you prefix the table name
> with something. Most/all database applications like the various
> 'nukes can do this.
> ......

Ah, ok, I have worked in slash project for 2 years and I understand the
problem. So when the user access the first time the database stuff, she
will be asked for a username, password and host.

If the user get access to the database server, she won't have a database
yet. So the first thing the code will do is to create a database for her
projects. And this is the moment where name clashes could appear. A
solution could be to ask the user for the database name and if the name
is being used, ask her for another name. What do you think?

I am codign right now this logic. For the moment, when the sql storage
module is loaded:

1. See if database exists and the version the user used to save the data
in the database. For example:

- Jane has a database "planner" with last version used 0.11 and several
projects.

- Jane the upgrades planner for 1.0 version and starts planner.

- planner database code checks database status and see that the projects
were saved using 0.11 and planner is now in 1.0.

- planner will try to find a sql file: upgrade-0.11-1.0.sql

- if planner doesn't file this file it hopes that no upgrade is needed
for the database.

- if planner find it the load the sql file and executes it in the
databse.

Maybe, I will code some logic like it planner finds upgrade-0.12-1.0.sql
but no upgrade-0.11-1.0.sql it will emit a warn because no upgrade is
present for 0.11 but is present one for a newer version (0.12).

2. If no database exist we can ask the user for a name for the database
and create it for her.


Something I am missing?

Cheers

-- Alvaro



> 
> > 
> > 
> >>But that'll come later - right now if we can simply create or
> >>delete a database and upgrade an existing database via Planner
> >>then that would be a great step forward for people.
> >>
> > 
> > 
> > This is my first target. Really the first thing is to create the tables
> > without user careing about it.
> 
> Yup, cool, thats what we're after !.
> 
> > 
> > Cheers
> > 
> > -- Alvaro
> > 
> 
> _______________________________________________
> Planner-dev mailing list
> Planner-dev lists imendio com
> http://lists.imendio.com/mailman/listinfo/planner-dev

Attachment: signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]