Revision 7a12fcf5
Von Kivitendo Admin vor mehr als 8 Jahren hinzugefügt
SL/DB/MetaSetup/Price.pm | ||
---|---|---|
|
||
__PACKAGE__->meta->columns(
|
||
id => { type => 'serial', not_null => 1 },
|
||
parts_id => { type => 'integer' },
|
||
parts_id => { type => 'integer', not_null => 1 },
|
||
price => { type => 'numeric', precision => 15, scale => 5 },
|
||
pricegroup_id => { type => 'integer' },
|
||
pricegroup_id => { type => 'integer', not_null => 1 },
|
||
);
|
||
|
||
__PACKAGE__->meta->primary_key_columns([ 'id' ]);
|
||
|
||
__PACKAGE__->meta->unique_keys([ 'parts_id', 'pricegroup_id' ]);
|
||
|
||
__PACKAGE__->meta->foreign_keys(
|
||
parts => {
|
||
class => 'SL::DB::Part',
|
sql/Pg-upgrade2/prices_unique.sql | ||
---|---|---|
-- @tag: prices_unique
|
||
-- @description: DB-Constraint - nur ein Preis pro Artikel pro Preisgruppe
|
||
-- @depends: release_3_4_1
|
||
|
||
-- it would be easier to just have a composite primary key on parts_id and
|
||
-- pricegroup_id, but that would need some code refactoring
|
||
ALTER TABLE prices ADD CONSTRAINT parts_id_pricegroup_id_unique UNIQUE (parts_id, pricegroup_id);
|
||
ALTER TABLE prices ALTER COLUMN parts_id SET NOT NULL;
|
||
ALTER TABLE prices ALTER COLUMN pricegroup_id SET NOT NULL;
|
Auch abrufbar als: Unified diff
Tabelle prices - not null und unique auf parts_id und partsgroup_id