type: bulk args: #Author table - type: run_sql args: sql: | create table author( id serial primary key, name text unique, is_registered boolean not null default false, emails text[] not null default '{}'::text[] ); CREATE TABLE article ( id SERIAL PRIMARY KEY, title TEXT, content TEXT, author_id INTEGER REFERENCES author(id), is_published BOOLEAN, published_on TIMESTAMP, tags JSON ); create table author_detail( id integer primary key references author(id), phone text ); CREATE FUNCTION fetch_articles(search text, author_row author) RETURNS SETOF article AS $$ SELECT * FROM article WHERE ( title ilike ('%' || search || '%') OR content ilike ('%' || search || '%') ) AND author_id = author_row.id $$ LANGUAGE sql STABLE; - type: track_table args: schema: public name: author #Article table - type: track_table args: schema: public name: article - type: track_table args: schema: public name: author_detail #Create relationships - type: create_object_relationship args: table: article name: author using: foreign_key_constraint_on: author_id - type: create_array_relationship args: table: author name: articles using: foreign_key_constraint_on: table: article column: author_id # add a computed field - type: add_computed_field args: table: author name: fetch_articles definition: function: fetch_articles table_argument: author_row #Create relationships - type: create_object_relationship args: table: author name: detail_manual using: manual_configuration: remote_table: name: author_detail schema: public column_mapping: id: id insertion_order: after_parent - type: create_object_relationship args: table: author name: detail_fk using: foreign_key_constraint_on: table: author_detail column: id