Freeseer / freeseer

Designed for capturing presentations at conferences. Pre-fill a list of talks to record, record them, and upload them to YouTube with our YouTube Uploader.
http://freeseer.readthedocs.org
GNU General Public License v3.0
216 stars 110 forks source link

Fix the database primary key value #634

Open SRomansky opened 9 years ago

SRomansky commented 9 years ago

The database schema used to in the presentation table has a line UNIQUE (Speaker, Title) ON CONFLICT IGNORE which makes the Speaker, Title combination behave similar to a primary key. However, no logging is done in the Qt Client or in the database when a user tries to insert a conflicting record. The schema should be revisited. To either redfine the primary key or to modify the software to notify the user that their speaker-title-event combination is conflicting and that they should chose a different combination.

related #619

dideler commented 9 years ago

I'm not sure if we should have the speaker-title combo as a unique constraint. Speakers often give the same talk at different events. I think the database should allow two records to exist if the speaker and title are the same, but the event is different.

SRomansky commented 9 years ago

Then the user interface should alert the user that they need to pick a different event name if they have a conflicting speaker-title combination?

dideler commented 9 years ago

That's an option, but it should be when there's a conflicting speaker-title-event combo.

SRomansky commented 9 years ago

It looks like the title-speaker combination might be due to the talks_model object which uses a 'Speaker - Title' to define a 'talk'.