--liquibase formatted sql --changeset panel:app-002a-users-tenant endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('users') WHERE name='tenant_id' ALTER TABLE users ADD COLUMN tenant_id INTEGER; --changeset panel:app-002b-users-role endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('users') WHERE name='role' ALTER TABLE users ADD COLUMN role TEXT NOT NULL DEFAULT 'user'; --changeset panel:app-002c-users-company endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('users') WHERE name='company_id' ALTER TABLE users ADD COLUMN company_id INTEGER REFERENCES companies(id); --changeset panel:app-002d-companies-tenant endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('companies') WHERE name='tenant_id' ALTER TABLE companies ADD COLUMN tenant_id INTEGER; --changeset panel:app-002e-workers-tenant endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('workers') WHERE name='tenant_id' ALTER TABLE workers ADD COLUMN tenant_id INTEGER; --changeset panel:app-002f-projects-tenant endDelimiter:; --preconditions onFail:MARK_RAN --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM pragma_table_info('projects') WHERE name='tenant_id' ALTER TABLE projects ADD COLUMN tenant_id INTEGER; --changeset panel:app-002g-backfill-tenant endDelimiter:; splitStatements:true UPDATE companies SET tenant_id = 1 WHERE tenant_id IS NULL; UPDATE workers SET tenant_id = 1 WHERE tenant_id IS NULL; UPDATE projects SET tenant_id = 1 WHERE tenant_id IS NULL; UPDATE users SET tenant_id = 1 WHERE tenant_id IS NULL; UPDATE users SET role = 'tenant_admin' WHERE COALESCE(role, 'user') = 'user'; CREATE INDEX IF NOT EXISTS idx_companies_tenant ON companies(tenant_id); CREATE INDEX IF NOT EXISTS idx_workers_tenant ON workers(tenant_id); CREATE INDEX IF NOT EXISTS idx_projects_tenant ON projects(tenant_id); CREATE INDEX IF NOT EXISTS idx_users_tenant ON users(tenant_id);