Software Engineering for Internet Applications

Version Control for Content

create table content_versions (
        version_id              integer primary key,
        content_id              not null references content_raw,
        version_date            date not null,
        ...
        editorial_status        varchar(30) 
          check (editorial_status in ('submitted','rejected','approved','expired')),

        current_version_p       char(1) check(current_version_p in ('t','f')),
        ...
);

create view live_versions 
        as
        select * 
        from content_versions
        where current_version_p = 't';

José M. Vidal .

17 of 30