refactor: rebrand project to HartOMat
This commit is contained in:
+8
-8
@@ -1,4 +1,4 @@
|
||||
"""Schaeffler standard materials — add schaeffler_code column and seed 35 materials
|
||||
"""HartOMat standard materials — add hartomat_code column and seed 35 materials
|
||||
|
||||
Revision ID: 019
|
||||
Revises: 018
|
||||
@@ -16,23 +16,23 @@ depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
op.add_column("materials", sa.Column("schaeffler_code", sa.Integer(), nullable=True))
|
||||
op.add_column("materials", sa.Column("hartomat_code", sa.Integer(), nullable=True))
|
||||
|
||||
from app.data.schaeffler_materials import SCHAEFFLER_MATERIALS
|
||||
from app.data.hartomat_materials import HARTOMAT_MATERIALS
|
||||
|
||||
conn = op.get_bind()
|
||||
now = datetime.utcnow().isoformat()
|
||||
for mat in SCHAEFFLER_MATERIALS:
|
||||
for mat in HARTOMAT_MATERIALS:
|
||||
desc = mat["description"].replace("'", "''")
|
||||
name = mat["name"].replace("'", "''")
|
||||
conn.execute(sa.text(
|
||||
f"INSERT INTO materials (id, name, description, source, schaeffler_code, created_at, updated_at) "
|
||||
f"INSERT INTO materials (id, name, description, source, hartomat_code, created_at, updated_at) "
|
||||
f"VALUES ('{uuid.uuid4()}', '{name}', '{desc}', '{mat['source']}', "
|
||||
f"{mat['schaeffler_code']}, '{now}', '{now}') "
|
||||
f"{mat['hartomat_code']}, '{now}', '{now}') "
|
||||
f"ON CONFLICT (name) DO NOTHING"
|
||||
))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
op.execute("DELETE FROM materials WHERE source = 'schaeffler_standard'")
|
||||
op.drop_column("materials", "schaeffler_code")
|
||||
op.execute("DELETE FROM materials WHERE source = 'hartomat_standard'")
|
||||
op.drop_column("materials", "hartomat_code")
|
||||
@@ -28,7 +28,7 @@ def upgrade():
|
||||
# Seed default tenant — all existing data will be assigned to this tenant
|
||||
op.execute("""
|
||||
INSERT INTO tenants (name, slug, is_active)
|
||||
VALUES ('Schaeffler', 'schaeffler', true)
|
||||
VALUES ('HartOMat', 'hartomat', true)
|
||||
""")
|
||||
|
||||
|
||||
|
||||
@@ -74,10 +74,10 @@ def upgrade():
|
||||
),
|
||||
)
|
||||
|
||||
# 2. Backfill with the default 'schaeffler' tenant
|
||||
# 2. Backfill with the default 'hartomat' tenant
|
||||
op.execute(
|
||||
f"UPDATE {table} "
|
||||
"SET tenant_id = (SELECT id FROM tenants WHERE slug = 'schaeffler')"
|
||||
"SET tenant_id = (SELECT id FROM tenants WHERE slug = 'hartomat')"
|
||||
)
|
||||
|
||||
# 3. Make NOT NULL now that every row has a value
|
||||
|
||||
@@ -20,7 +20,7 @@ _DEFAULT_CONFIG = """{
|
||||
"max_concurrent_renders": 3,
|
||||
"render_engines_allowed": ["cycles", "eevee"],
|
||||
"max_order_size": 500,
|
||||
"fallback_material": "SCHAEFFLER_059999_FailedMaterial",
|
||||
"fallback_material": "HARTOMAT_059999_FailedMaterial",
|
||||
"notifications_enabled": true,
|
||||
"invoice_prefix": "INV"
|
||||
}"""
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
"""Backfill persisted Schaeffler branding to HartOMat.
|
||||
|
||||
Revision ID: 063
|
||||
Revises: 062
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
revision = "063"
|
||||
down_revision = "062"
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
bind = op.get_bind()
|
||||
inspector = sa.inspect(bind)
|
||||
material_columns = {column["name"] for column in inspector.get_columns("materials")}
|
||||
|
||||
if "schaeffler_code" in material_columns and "hartomat_code" not in material_columns:
|
||||
op.alter_column("materials", "schaeffler_code", new_column_name="hartomat_code")
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE materials
|
||||
SET name = REPLACE(name, 'SCHAEFFLER_', 'HARTOMAT_')
|
||||
WHERE name LIKE 'SCHAEFFLER_%'
|
||||
"""
|
||||
)
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE materials
|
||||
SET source = 'hartomat_standard'
|
||||
WHERE source = 'schaeffler_standard'
|
||||
"""
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE tenants
|
||||
SET name = 'HartOMat',
|
||||
slug = 'hartomat'
|
||||
WHERE lower(name) = 'schaeffler'
|
||||
OR lower(slug) = 'schaeffler'
|
||||
"""
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE tenants
|
||||
SET tenant_config = jsonb_set(
|
||||
tenant_config,
|
||||
'{fallback_material}',
|
||||
'\"HARTOMAT_059999_FailedMaterial\"'::jsonb,
|
||||
true
|
||||
)
|
||||
WHERE tenant_config ? 'fallback_material'
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
bind = op.get_bind()
|
||||
inspector = sa.inspect(bind)
|
||||
material_columns = {column["name"] for column in inspector.get_columns("materials")}
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE materials
|
||||
SET name = REPLACE(name, 'HARTOMAT_', 'SCHAEFFLER_')
|
||||
WHERE name LIKE 'HARTOMAT_%'
|
||||
"""
|
||||
)
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE materials
|
||||
SET source = 'schaeffler_standard'
|
||||
WHERE source = 'hartomat_standard'
|
||||
"""
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE tenants
|
||||
SET name = 'Schaeffler',
|
||||
slug = 'schaeffler'
|
||||
WHERE lower(name) = 'hartomat'
|
||||
OR lower(slug) = 'hartomat'
|
||||
"""
|
||||
)
|
||||
|
||||
op.execute(
|
||||
"""
|
||||
UPDATE tenants
|
||||
SET tenant_config = jsonb_set(
|
||||
tenant_config,
|
||||
'{fallback_material}',
|
||||
'\"SCHAEFFLER_059999_FailedMaterial\"'::jsonb,
|
||||
true
|
||||
)
|
||||
WHERE tenant_config ? 'fallback_material'
|
||||
"""
|
||||
)
|
||||
|
||||
if "hartomat_code" in material_columns and "schaeffler_code" not in material_columns:
|
||||
op.alter_column("materials", "hartomat_code", new_column_name="schaeffler_code")
|
||||
Reference in New Issue
Block a user