mirror of
https://github.com/zitadel/zitadel.git
synced 2025-12-05 07:22:05 +00:00
feat: projections auto create their tables (#3324)
* begin init checks for projections * first projection checks * debug notification providers with query fixes * more projections and first index * more projections * more projections * finish projections * fix tests (remove db name) * create tables in setup * fix logging / error handling * add tenant to views * rename tenant to instance_id * add instance_id to all projections * add instance_id to all queries * correct instance_id on projections * add instance_id to failed_events * use separate context for instance * implement features projection * implement features projection * remove unique constraint from setup when migration failed * add error to failed setup event * add instance_id to primary keys * fix IAM projection * remove old migrations folder * fix keysFromYAML test
This commit is contained in:
@@ -105,11 +105,11 @@ func (q *Queries) ClearCurrentSequence(ctx context.Context, projectionName strin
|
||||
|
||||
func (q *Queries) checkAndLock(ctx context.Context, projectionName string) error {
|
||||
projectionQuery, args, err := sq.Select("count(*)").
|
||||
From("[show tables from zitadel.projections]").
|
||||
From("[show tables from projections]").
|
||||
Where(
|
||||
sq.And{
|
||||
sq.NotEq{"table_name": []string{"locks", "current_sequences", "failed_events"}},
|
||||
sq.Eq{"concat('zitadel.projections.', table_name)": projectionName},
|
||||
sq.Eq{"concat('projections.', table_name)": projectionName},
|
||||
}).
|
||||
PlaceholderFormat(sq.Dollar).
|
||||
ToSql()
|
||||
@@ -139,13 +139,13 @@ func (q *Queries) checkAndLock(ctx context.Context, projectionName string) error
|
||||
}
|
||||
|
||||
func tablesForReset(ctx context.Context, tx *sql.Tx, projectionName string) ([]string, error) {
|
||||
tablesQuery, args, err := sq.Select("concat('zitadel.projections.', table_name)").
|
||||
From("[show tables from zitadel.projections]").
|
||||
tablesQuery, args, err := sq.Select("concat('projections.', table_name)").
|
||||
From("[show tables from projections]").
|
||||
Where(
|
||||
sq.And{
|
||||
sq.Eq{"type": "table"},
|
||||
sq.NotEq{"table_name": []string{"locks", "current_sequences", "failed_events"}},
|
||||
sq.Like{"concat('zitadel.projections.', table_name)": projectionName + "%"},
|
||||
sq.Like{"concat('projections.', table_name)": projectionName + "%"},
|
||||
}).
|
||||
PlaceholderFormat(sq.Dollar).
|
||||
ToSql()
|
||||
|
||||
Reference in New Issue
Block a user