mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-01-14 06:09:33 +00:00
Assemblies einführen
This commit is contained in:
parent
c79fc47c1e
commit
55828d830d
45 changed files with 2754 additions and 127 deletions
|
|
@ -18,42 +18,42 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TABLE assemblies (
|
||||
id INT AUTO_INCREMENT NOT NULL,
|
||||
parent_id INT DEFAULT NULL,
|
||||
id_preview_attachment INT DEFAULT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
comment LONGTEXT NOT NULL,
|
||||
not_selectable TINYINT(1) NOT NULL,
|
||||
alternative_names LONGTEXT DEFAULT NULL,
|
||||
order_quantity INT NOT NULL,
|
||||
status VARCHAR(64) DEFAULT NULL,
|
||||
order_only_missing_parts TINYINT(1) NOT NULL,
|
||||
description LONGTEXT NOT NULL,
|
||||
last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
INDEX IDX_5F3832C0727ACA70 (parent_id),
|
||||
INDEX IDX_5F3832C0EA7100A1 (id_preview_attachment),
|
||||
id INT AUTO_INCREMENT NOT NULL,
|
||||
parent_id INT DEFAULT NULL,
|
||||
id_preview_attachment INT DEFAULT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
comment LONGTEXT NOT NULL,
|
||||
not_selectable TINYINT(1) NOT NULL,
|
||||
alternative_names LONGTEXT DEFAULT NULL,
|
||||
order_quantity INT NOT NULL,
|
||||
status VARCHAR(64) DEFAULT NULL,
|
||||
order_only_missing_parts TINYINT(1) NOT NULL,
|
||||
description LONGTEXT NOT NULL,
|
||||
last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
INDEX IDX_5F3832C0727ACA70 (parent_id),
|
||||
INDEX IDX_5F3832C0EA7100A1 (id_preview_attachment),
|
||||
PRIMARY KEY(id)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci`
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TABLE assembly_bom_entries (
|
||||
id INT AUTO_INCREMENT NOT NULL,
|
||||
id_assembly INT DEFAULT NULL,
|
||||
id_part INT DEFAULT NULL,
|
||||
id_project INT DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
mountnames LONGTEXT NOT NULL,
|
||||
name VARCHAR(255) DEFAULT NULL,
|
||||
comment LONGTEXT NOT NULL,
|
||||
price NUMERIC(11, 5) DEFAULT NULL,
|
||||
price_currency_id INT DEFAULT NULL,
|
||||
last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
INDEX IDX_8C74887E2F180363 (id_assembly),
|
||||
INDEX IDX_8C74887EC22F6CC4 (id_part),
|
||||
INDEX IDX_8C74887EF12E799E (id_project),
|
||||
INDEX IDX_8C74887E3FFDCD60 (price_currency_id),
|
||||
id INT AUTO_INCREMENT NOT NULL,
|
||||
id_assembly INT DEFAULT NULL,
|
||||
id_part INT DEFAULT NULL,
|
||||
id_project INT DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
mountnames LONGTEXT NOT NULL,
|
||||
name VARCHAR(255) DEFAULT NULL,
|
||||
comment LONGTEXT NOT NULL,
|
||||
price NUMERIC(11, 5) DEFAULT NULL,
|
||||
price_currency_id INT DEFAULT NULL,
|
||||
last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
INDEX IDX_8C74887E2F180363 (id_assembly),
|
||||
INDEX IDX_8C74887EC22F6CC4 (id_part),
|
||||
INDEX IDX_8C74887EF12E799E (id_project),
|
||||
INDEX IDX_8C74887E3FFDCD60 (price_currency_id),
|
||||
PRIMARY KEY(id)
|
||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci`
|
||||
SQL);
|
||||
|
|
@ -109,7 +109,7 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TABLE assemblies (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
parent_id INTEGER DEFAULT NULL,
|
||||
id_preview_attachment INTEGER DEFAULT NULL,
|
||||
order_quantity INTEGER NOT NULL,
|
||||
|
|
@ -120,7 +120,7 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
last_modified DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
status VARCHAR(64) DEFAULT NULL,
|
||||
ipn VARCHAR(100) DEFAULT NULL,
|
||||
ipn VARCHAR(100) DEFAULT NULL,
|
||||
description CLOB NOT NULL,
|
||||
alternative_names CLOB DEFAULT NULL,
|
||||
CONSTRAINT FK_5F3832C0727ACA70 FOREIGN KEY (parent_id) REFERENCES assemblies (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
|
|
@ -145,7 +145,7 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
|
||||
id_assembly INTEGER DEFAULT NULL,
|
||||
id_part INTEGER DEFAULT NULL,
|
||||
id_project INTEGER DEFAULT NULL,
|
||||
id_project INTEGER DEFAULT NULL,
|
||||
id_referenced_assembly INTEGER DEFAULT NULL,
|
||||
price_currency_id INTEGER DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
|
|
@ -158,8 +158,8 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
CONSTRAINT FK_8C74887E4AD2039E FOREIGN KEY (id_assembly) REFERENCES assemblies (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887EC22F6CC4 FOREIGN KEY (id_part) REFERENCES "parts" (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887EF12E799E FOREIGN KEY (id_project) REFERENCES projects (id) NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887E22522999 FOREIGN KEY (id_referenced_assembly) REFERENCES assemblies (id) ON UPDATE NO ACTION ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887E3FFDCD60 FOREIGN KEY (price_currency_id) REFERENCES currencies (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
CONSTRAINT FK_8C74887E22522999 FOREIGN KEY (id_referenced_assembly) REFERENCES assemblies (id) ON UPDATE NO ACTION ON DELETE SET NULL NOT DEFERRABLE INITIALLY IMMEDIATE,
|
||||
CONSTRAINT FK_8C74887E3FFDCD60 FOREIGN KEY (price_currency_id) REFERENCES currencies (id) NOT DEFERRABLE INITIALLY IMMEDIATE
|
||||
)
|
||||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
|
|
@ -193,19 +193,19 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TABLE assemblies (
|
||||
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
last_modified TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
not_selectable BOOLEAN NOT NULL,
|
||||
alternative_names TEXT DEFAULT NULL,
|
||||
order_quantity INT NOT NULL,
|
||||
status VARCHAR(64) DEFAULT NULL,
|
||||
order_only_missing_parts BOOLEAN NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
parent_id INT DEFAULT NULL,
|
||||
id_preview_attachment INT DEFAULT NULL,
|
||||
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
last_modified TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
not_selectable BOOLEAN NOT NULL,
|
||||
alternative_names TEXT DEFAULT NULL,
|
||||
order_quantity INT NOT NULL,
|
||||
status VARCHAR(64) DEFAULT NULL,
|
||||
order_only_missing_parts BOOLEAN NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
parent_id INT DEFAULT NULL,
|
||||
id_preview_attachment INT DEFAULT NULL,
|
||||
PRIMARY KEY(id)
|
||||
)
|
||||
SQL);
|
||||
|
|
@ -217,18 +217,18 @@ final class Version20250304081039 extends AbstractMultiPlatformMigration
|
|||
SQL);
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TABLE assembly_bom_entries (
|
||||
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
|
||||
id_assembly INT DEFAULT NULL,
|
||||
id_part INT DEFAULT NULL,
|
||||
id_project INT DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
mountnames TEXT NOT NULL,
|
||||
name VARCHAR(255) DEFAULT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
price NUMERIC(11, 5) DEFAULT NULL,
|
||||
id INT GENERATED BY DEFAULT AS IDENTITY NOT NULL,
|
||||
id_assembly INT DEFAULT NULL,
|
||||
id_part INT DEFAULT NULL,
|
||||
id_project INT DEFAULT NULL,
|
||||
quantity DOUBLE PRECISION NOT NULL,
|
||||
mountnames TEXT NOT NULL,
|
||||
name VARCHAR(255) DEFAULT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
price NUMERIC(11, 5) DEFAULT NULL,
|
||||
price_currency_id INT DEFAULT NULL,
|
||||
last_modified TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
last_modified TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
datetime_added TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
||||
PRIMARY KEY(id)
|
||||
)
|
||||
SQL);
|
||||
|
|
|
|||
|
|
@ -44,8 +44,8 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
public function sqLiteUp(Schema $schema): void
|
||||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TEMPORARY TABLE __temp__parts AS
|
||||
SELECT
|
||||
CREATE TEMPORARY TABLE __temp__parts AS
|
||||
SELECT
|
||||
id,
|
||||
id_preview_attachment,
|
||||
id_category,
|
||||
|
|
@ -82,7 +82,7 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
eda_info_exclude_from_board,
|
||||
eda_info_exclude_from_sim,
|
||||
eda_info_kicad_symbol,
|
||||
eda_info_kicad_footprint
|
||||
eda_info_kicad_footprint
|
||||
FROM parts
|
||||
SQL);
|
||||
$this->addSql('DROP TABLE parts');
|
||||
|
|
@ -148,8 +148,8 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
id_part_unit,
|
||||
id_manufacturer,
|
||||
order_orderdetails_id,
|
||||
built_project_id,
|
||||
datetime_added,
|
||||
built_project_id,
|
||||
datetime_added,
|
||||
name,
|
||||
last_modified,
|
||||
needs_review,
|
||||
|
|
@ -164,12 +164,12 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
manufacturer_product_number,
|
||||
manufacturing_status,
|
||||
order_quantity,
|
||||
manual_order,
|
||||
manual_order,
|
||||
ipn,
|
||||
provider_reference_provider_key,
|
||||
provider_reference_provider_id,
|
||||
provider_reference_provider_url,
|
||||
provider_reference_last_updated,
|
||||
provider_reference_last_updated,
|
||||
eda_info_reference_prefix,
|
||||
eda_info_value,
|
||||
eda_info_invisible,
|
||||
|
|
@ -223,8 +223,8 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
public function sqLiteDown(Schema $schema): void
|
||||
{
|
||||
$this->addSql(<<<'SQL'
|
||||
CREATE TEMPORARY TABLE __temp__parts AS
|
||||
SELECT
|
||||
CREATE TEMPORARY TABLE __temp__parts AS
|
||||
SELECT
|
||||
id,
|
||||
id_preview_attachment,
|
||||
id_category,
|
||||
|
|
@ -326,8 +326,8 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
id_part_unit,
|
||||
id_manufacturer,
|
||||
order_orderdetails_id,
|
||||
built_project_id,
|
||||
datetime_added,
|
||||
built_project_id,
|
||||
datetime_added,
|
||||
name,
|
||||
last_modified,
|
||||
needs_review,
|
||||
|
|
@ -342,12 +342,12 @@ final class Version20250304154507 extends AbstractMultiPlatformMigration
|
|||
manufacturer_product_number,
|
||||
manufacturing_status,
|
||||
order_quantity,
|
||||
manual_order,
|
||||
manual_order,
|
||||
ipn,
|
||||
provider_reference_provider_key,
|
||||
provider_reference_provider_id,
|
||||
provider_reference_provider_url,
|
||||
provider_reference_last_updated,
|
||||
provider_reference_last_updated,
|
||||
eda_info_reference_prefix,
|
||||
eda_info_value,
|
||||
eda_info_invisible,
|
||||
|
|
|
|||
27
migrations/Version20250310160354.php
Normal file
27
migrations/Version20250310160354.php
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace DoctrineMigrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Doctrine\Migrations\AbstractMigration;
|
||||
|
||||
final class Version20250310160354 extends AbstractMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries RENAME INDEX idx_8c74887e2f180363 TO IDX_8C74887E4AD2039E');
|
||||
$this->addSql('ALTER TABLE project_bom_entries ADD id_assembly INT DEFAULT NULL AFTER id_part');
|
||||
$this->addSql('ALTER TABLE project_bom_entries ADD CONSTRAINT FK_1AA2DD314AD2039E FOREIGN KEY (id_assembly) REFERENCES assemblies (id)');
|
||||
$this->addSql('CREATE INDEX IDX_1AA2DD314AD2039E ON project_bom_entries (id_assembly)');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$this->addSql('ALTER TABLE assembly_bom_entries RENAME INDEX idx_8c74887e4ad2039e TO IDX_8C74887E2F180363');
|
||||
$this->addSql('ALTER TABLE project_bom_entries DROP FOREIGN KEY FK_1AA2DD314AD2039E');
|
||||
$this->addSql('DROP INDEX IDX_1AA2DD314AD2039E ON project_bom_entries');
|
||||
$this->addSql('ALTER TABLE project_bom_entries DROP id_assembly');
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue